什么是計算機網絡
計算機網絡是指將不同地理位置上,具有獨立功能的計算機和網絡設備通過通信鏈路連接起來,通過操作系統,網絡管理軟件,和網絡通信協議的共同組合下的計算機系統團體,實現資源共享,信息傳遞的網絡。計算機網絡的組成部分有各種微小大型計算機,網橋,交換機,路由器,傳輸介質等網絡設備,相應的軟件系統,相應的通信協議等等…
計算機的網絡拓撲結構分為,星型拓撲結構:多臺計算機連接至一個共同中心節點,計算機間的通信都要經過中心節點??偩€拓撲結構:多臺計算機通過T形接口連接至一條總線上,計算機間的通信都要經過總線,而且總線上的每臺計算機均可接收到信號。環形拓撲結構:多臺計算機環形相連,計算機間的通信通過順時針或者逆時針環繞進行,視物理距離而定要經過多臺計算機。還有雙環形拓撲結構,邏輯拓撲結構,擴展星型結構,網狀拓撲結構:每臺計算機各通過傳輸介質相連另外兩臺計算機,及部分網狀拓撲結構等等等…
按照計算機網絡的覆蓋范圍又分為:局域網,城域網,廣域網。
局域網:私有服務,分別范圍小,結構簡單不限容易,網速快,誤碼率低。
城域網:一般覆蓋整個城市
廣域網:覆蓋整個世界,構建結構負載,成本高。
計算機間的通信模型;專利通信模型:只有同一廠商的產品之間可以進行通信,應用程序和軟件對外不兼容。標準模型:多廠商根據分層方法研發軟件。分層網絡模型可以降低復雜性,標準化接口,簡化模塊話設計,確保技術的互操作性,加快發展速度,簡化教學。
OSI模型七層結構:由下至上七層各成的功能,物理層,數據鏈路層,網絡層,傳輸層,會話層,表示層,應用層。
1:物理層:物理設備的過程和功能的規范,將比特率放到物理介質上傳送。
2:數據鏈路層:在鏈路上無差錯一幀一幀的傳輸信息
3:網絡層:分組傳輸,和路由選擇
4:傳輸層:端到端透明的傳輸報文
5:會話層:會話管理和數據同步
6:表示層:進行數據格式轉換
7:應用層:與用戶應用進程的接口
數據封裝與解封
數據封裝(Data Encapsulation),籠統地講,就是把數據映射到某個封裝協議的凈荷中,然后填充對應協議的包頭,形成封裝協議的數據包,并完成速率適配。以OSI模式七層結構為例子,計算機A要發送數據給計算機B首先要在應用層要數據遞送到數據鏈路層,到了表示層以后會在數據加上表示層的協議,然后再遞送到會話層加上協議,依次向下到達最低層完成封裝。然后通過物理介質將數據傳送到計算機B的最底層,由下往上進行解封裝,數據封裝和解封裝是一對逆過程。
TCP/IP模型四層結構:將OSI模型中的物理層和數據鏈路層整合為“網絡訪問層”,網絡層,傳輸層,將OSI模型中的會話層,表示層,應用層整合為“應用層”。
TCP/IP協議的三次握手
面向連接的協議;通信開始之前,要建立一個虛鏈路;通信完成后還要拆除連接;
在TCP/IP協議中,TCP協議提供可靠的連接服務,采用三次握手建立一個連接。
第一次握手:建立連接時,客戶端發送syn包(syn=j)到服務器,并進入SYN_SEND狀態,等待服務器確認;
第二次握手:服務器收到syn包,必須確認客戶的SYN(ack=j+1),同時自己也發送一個SYN包(syn=k),即SYN+ACK包,此時服務器進入SYN_RECV狀態;
第三次握手:客戶端收到服務器的SYN+ACK包,向服務器發送確認包ACK(ack=k+1),此包發送完畢,客戶端和服務器進入ESTABLISHED狀態,完成三次握手。 完成三次握手,客戶端與服務器開始傳送數據.
圖摘自網絡
集線器
集線器就是將網線集中到一起的機器,也就是多臺主機和設備的連接器,廣播通訊模式。(不具備學習特性)
交換機
交換機是集線器的升級換代產品,具備自動尋址能力和交換作用,由于交換機根據所傳遞信息包的目的地址(MAC地址),將每一信息包獨立地從源端口送至目的端口,避免了和其他端口發生碰撞。選擇性廣播通訊模式。交換機的每一個端口所連接的網段都是一個獨立的沖突域。交換機所連接的設備仍然在同一個廣播域內,也就是說,交換機不隔絕廣播
路由器
路由器是網絡中進行網間連接的關鍵設備。作為不同網絡之間互相連接的樞紐,路由器系統構成了基于 TCP/IP 的國際互連網絡 Internet 的主體脈絡。內部存儲路由表(互聯網網絡設備上存儲的一張路由信息表,該表中存有到達特定網絡地址的路徑,路由表中含有網絡周邊的拓撲信息,路由表不直接參與數據包的傳輸,而是用于生成一個小型指向表,這個指向表僅僅包含由路由算法選擇的數據包傳輸優先路徑。路由表可以靜態設置,也可以動態生成。
網橋
簡單的說網橋就是個硬件網絡協議翻譯器,假設你有2臺電腦,一臺兼容機安裝windows,一臺是Apple安裝OS2,那么兩臺電腦之間是默認網絡協議是不同的,兼容機可能只會說TCP/IP,蘋果機只會說Apple talk,就好象兩個外國人都不會說對方的語言,怎么辦?找個翻譯,網橋就是翻譯。
網關
網關(協議轉換器)是互連網絡中操作在OSI網絡層之上的具有協議轉換功能設施,所以稱為設施,是因為網關不一定是一臺設備,有可能在一臺主機中實現網關功能。與網橋只是簡單地傳達信息不同,網關對收到的信息要重新打包,以適應目的系統的需求。同層–應用層。大家都知道,從一個房間走到另一個房間,必然要經過一扇門。同樣,從一個網絡向另一個網絡發送信 網關 網關 息,也必須經過一道“關口”,這道關口就是網關。顧名思義,網關(Gateway)就是一個網絡連接到另一個網絡的“關口”。也就是網絡關卡。
MAC地址:本地通信;范圍:本地局域網
在OSI模型中的第二層(數據鏈路層)將一個數據幀從一個節點傳送到相同鏈路的另一個節點。被稱為物理地址、硬件地址,用來定義網絡設備的位置,由網卡廠商寫在網卡上。在跨網段通信過程中,IP地址不變,MAC地址根據網段數量經過多次變換到達目的MAC
ARP
地址解析協議,是根據IP地址獲取物理地址的一個TCP/IP協議。主機發送信息時將包含目標IP地址的ARP請求廣播到網絡上的所有主機,并接收返回消息,以此確定目標的物理地址;收到返回消息后將該IP地址和物理地址存入本機ARP緩存中并保留一定時間,下次請求時直接查詢ARP緩存以節約資源。
IP地址:界定通信主機,源和目標;范圍:互聯網
為計算機相互連接進行通信而設計的協議。它是能使連接到網上的所有計算機網絡實現相互通信的一套規則,規定了計算機在因特網上進行通信時應當遵守的規則。任何廠家生產的計算機系統,只要遵守IP協議就可以互連互通。正是因為有了IP協議,計算機網絡才得以迅速發展成為世界上最大的、開放的計算機通訊網絡。MAC地址與IP地址區別:
IP地址和MAC地址相同點是它們都唯一,不同的特點主要有:
-
對于網絡上的某一設備,如一臺計算機或一臺路由器,其IP地址是基于網絡拓撲設計出的,同一臺設備或計算機上,改動IP地址是很容易的(但必須唯一),而MAC則是生產廠商燒錄好的,一般不能改動。我們可以根據需要給一臺主機指定任意的IP地址,如我們可以給局域網上的某臺計算機分配IP地址為192.168.0.112 ,也可以將它改成192.168.0.200。而任一網絡設備(如網卡,路由器)一旦生產出來以后,其MAC地址不可由本地連接內的配置進行修改。如果一個計算機的網卡壞了,在更換網卡之后,該計算機的MAC地址就變了。
-
長度不同。IP地址為32位,MAC地址為48位。
-
分配依據不同。IP地址的分配是基于網絡拓撲,MAC地址的分配是基于制造商。
-
尋址協議層不同。IP地址應用于OSI第三層,即網絡層,而MAC地址應用在OSI第二層,即數據鏈路層。 數據鏈路層協議可以使數據從一個節點傳遞到相同鏈路的另一個節點上(通過MAC地址),而網絡層協議使數據可以從一個網絡傳遞到另一個網絡上(ARP根據目的IP地址,找到中間節點的MAC地址,通過中間節點傳送,從而最終到達目的網絡)
-
IP地址分類
A類:
第一段為網絡號,后三段為主機號
網絡號:
0 000 0000-0 111 1111:1-127
網絡數量:126,127
每個網絡中的主機數量:2^24-2
默認子網掩碼:255.0.0.0,/8
用于與IP地址按位進行“與”運算,從而取出其網絡地址;
私網地址1個:10.0.0.0/255.0.0.0
B類:
前兩段為網絡號,后兩段為主機號
網絡號:
10 00 0000-10 11 1111:128-191
網絡數量:2^14
每個網絡中的主機數量:2^16-2
默認子網掩碼:255.255.0.0,/16
私網地址16個:172.16.0.0-172.31.0.0
C類:
前三段為網絡號,最后一段為主機號
網絡號:
110 0 0000-110 1 1111:192-223
網絡數量:2^21
每個網絡中的主機數量:2^8-2
默認子網掩碼:255.255.255.0,/24
私網256個:192.168.0.0 /掩碼255.255.255.0-192.168.255.0/255.255.255.0
D類:組播
1110 0000-1110 1111:224-239
E類:科研
240-255
將Linux主機接入到網絡中:
IP/NETMASK:實現本地通信
路由(網關):可以進行跨網絡通信
DNS服務器地址:基于主機名的通信;當第一個地址本身掛了,才會查找其備用地址;若第一個地址無法解析則停止
主DIS服務器地址,備用DNS服務器地址,第三備用DNS服務器地址
網絡屬性配置方式:靜態指定和動態分配
靜態指定:(服務器地址都是靜態指定的)
命令方式:
ifcfg系列:
ifconfig:配置IP,NETMASK(掩碼)
route:路由
netstat:狀態及統計數據查看
iproute2系列:
ip OBJECT:
addr:地址和掩碼
link:接口
route:路由
ss:狀態即數據查看
centos7:nm(network manager)系列
nmcli:命令行工具
nmtui:text whidow工具
system-config-network 字符配置工具
setup 字符配置工具
配置文件:
/etc/udev/rules.d/70-persistent-net.rules 網卡命名配置文件
RedHat及相關發行版:/etc/sysconfig/network-scripts/ifcfg-NETCARD_NAME
DNS服務器指定配置文件:/etc/resolv.conf
本地主機名配置文件:/etc/sysconfig/network
注:命令配置能及時生效,但是關閉當前進程之后配置失效,為一次性配置方式
通過配置文件配置網絡屬性,無法立即生效,需要重啟服務、重新加載配置文件或者重啟進程
動態分配:
依賴與本地網絡中有DHCP服務;DHCP服務器;動態地址分配(動態主機配置協議)
網絡接口命名方式:
傳統命名:
以太網:ethX,[0,oo],例如eth0,eth1,…
ppp網絡:pppX,[0,…],例如,ppp0,ppp1,…
可預測命名方案(centos):
支持多種不同的命名機制:
filreware,拓撲結構
(1)如果firmware(固件)或bios為主板上集成的設備提供的索引信息可用,則根據此索引進行命名,如eno1,eno2…
(2)如果firmware(固件)或bios為pci-e擴展槽所提供的索引信息可用,且可預測,則根據此索引進行命名,例如ens1,ens2…
(3)如果硬件接口的物理位置信息可以,則根據此信息命名,如enp2s0,…
(4)如果用戶顯示定義,也可根據MAC地址命名,例如enx122161ab2e10,…
上述均不可用,則扔使用傳統方式命令;
命名格式的組成:
en:ethernet
wl:wlan
ww:wwan
名稱的類型:
o<index>:集成設備的設備索引號;
s<slot>:擴展槽的索引號
x<MAC>:基于MAC地址的命名;
p<bus>s<slot>:基于總線及槽的拓撲結構進行命名
ifcfg命令系列:ifconfig,route,netsta
ifconfig:配置查看網絡接口,默認不能顯示第二地址,只能顯示主地址,指明標簽(接口別名)就能夠顯示了,注意:CentOS 6和CentOS 7顯示結果有所不同
ifconfig[interface]
#ifconfig -a :顯示所有接口,包括inactive狀態的接口
centos6:
centos7:
ifconfig interface [aftype] options | address .更改網卡ipv4地址
立即送往內核中的TCP/IP協議棧,并生效,遠程連接修改,原來的地址會沒有導致掉線
#ifconfig IFACE IP/MASK [UP|DOWN]
]# ifconfig eth1 down:關閉網卡eth1 ]# ifconfig eth1 192.168.0.1/24:更改網卡eth1的ip地址和子網掩碼
#ifconfig IFACE IP netmask NETMASK :用netmask關鍵字
options: ifconfig INTERFACE OPTIONS
[- +]promisc 開啟和關閉混雜模式
]# ifconfig eth1 -promisc 關閉混雜模式
管理IPV6地址:
add addr/prefixlen
del addr/prefixlen
ifup/ifdown命令:
注意:此命令是通過配置文件/etc/sysconfig/network-scripts/ifcfg-IFACE來識別接口并完成配置;
刪除指定網卡接口的地址
#ifconfig INTERFACE 0
]# ifconfig eth1 0
route命令:路由查看及管理
路由條目類型:
主機路由:目標地址為單個IP;
網絡路由:目標地址為IP網絡;
默認路由:目標為任意主機,0.0.0.0/0.0.0.0
查看:
#route -n
]# route -n
-n: 表示以數字形式顯示信息,不反向解析地址和端口號
若有很多路由信息的時候,反向解析為主機名和端口名會占用很多資源開銷
顯示解析:
Destination:目標地址
Gateway:下一跳網管地址
0.0.0.0:表示本地主機的網絡地址,自己的主機就在網絡上無需網關,直連路由,
Genmask:目標網絡的掩碼地址
Flags:路由條目的標志
U (route is up):up,表示啟用狀態
H (target is a host):目標地址是一個主機地址
G (use gateway):使用一個網關
R (reinstate route for dynamic routing):為路由恢復動態路徑選擇
D (dynamically installed by daemon or redirect)
M (modified from routing daemon or redirect)
A (installed by addrconf)
C (cache entry)
! (reject route)
G:表示是一個網關,但不一定是目標網關,只有目標地址是0.0.0.0的才是默認網關
Metric:度量值,表示到達這個網絡中間要進過的開銷
Ref:Number of references to this route. (Not used in the Linux kernel.)
Use:Count of lookups for the route
Iface:通過本主機的哪塊網卡接口對發送數據
添加:
route add [-net|-host] target [netmask Nm] [gw GW][dev] If]
-net|-host:網絡路由|主機路由,默認路由為網絡路由
target [netmask Nm]:目標地址,可以用簡寫子網掩碼格式,也可以用關鍵字netmask完整格式
[gw GW] :gw為關鍵字,GW表示真正的下一跳地址,下一跳必須與自己的某塊網卡在同一網段內,且存在
[dev] If]:進由哪塊網卡,可以省略,能自動判斷
示例:route add -net 10.0.0.0/8 gw 192.168.10.1 dev eth1
route add -net 0.0.0.0/0.0.0.0 gw 192.168.10.1
route add default(默認網關) ==gw 192.168.10.1 dev eth
刪除:
route del [-net|-host] target [gw Gw] [netmask Nm][[dev] If]
示例:route del -net 10.0.0.0/8 gw 192.168.10.1
刪除默認網關:
route del default
netstat命令
Print network connections, routing tables,interface statistics, masquerade connections, and multicast memberships
顯示路由表:netstat -rn
-r:顯示內核路由表
-n:數字格式
顯示網絡連接:
netstat [–tcp|-t] [–utp|-u][–udplite|-u][–sctp|S][–raw|-w][–listenlng|-l][–all|-a][–numeric|-n][–extend|-e][–progran|-p]
-t:查看TCP協議的相關連接,連接均有其狀態;FSM(Finate state machine);面向連接的協議;通信開始之前,要建立一個虛鏈路;通信完成后還要拆除連接;
-u:查看UDP協議的相關連接
-w: raw socket裸套接字的相關連接
-l: 處于監聽狀態的連接
-a: 所有狀態
-n: 以數字格式顯示IP和PORT;
-e: 擴展格式
-p: 顯示相關進程及PID;
常用組合:
-tan,-uan,-tnl,-unl,-tunlp
tcp狀態:LISTEN、ESTABLISEHD、FIN_WAIT_1等待狀態、FIN_WAIT_2、SYN_SENT、SYN_RECV、CLOSED
傳輸層協議:
tcp:面向連接的協議;通信開始之前,要建立一個虛鏈路;通信完成后還要拆除連接;
udp:無連接的協議;直接發送數據報文;
顯示接口的統計數據:
netstat {–interfaces|-I|-i} [iface] [–all|-a] [–extend|-e][–verbose|-v] [-program|-p]
[numeric|-n]
所有接口:
netstat -i
指定接口:
nestat -I<IFace>注意中間不能有空格
iproute系列:ip、ss
iproute系列和內核關系緊密,直接放置到內核生效,其版本號和內核的版本號會保持一致
ip命令:
ip – show / manipulate routing, devices, policy routing and tunnels 策略路由、隧道、路由、設備
ip [ OPTIONS ] OBJECT { COMMAND | help }
OBJECT := { link | addr |route |netns }
注意:OBJECT可簡寫,各PBJECT的子命令也可簡寫
ip link:network device configuration(完成網絡設備配置的命令)
ip link set:修改設備屬性
dev NAME(default):指明要管理的設備,dev關鍵字可省略;
up和down:啟用或禁用接口
multicast on 或multicast off:啟用或禁用多播功能;
name NAME:重命名接口
mtu NUMBER:設置MTU的大小,默認為1500
netns PID:ns為namespace,用于將接口移動到指定的網絡名稱空間;
ip link show:顯示設備屬性
ip link help -顯示簡要使用幫助;
示例,修改網卡設備名稱
]# ip link set eth1 down:先停用 ]# ip link set eth1 name ali :改名
ip netns:manage network namespaces.管理網絡名稱空間
ip netns list:列出所有的NETNS
ip netns add NAME:創建指定的NETNS
ip netns del NAME:刪除指定的NETNS
ip netns exec NAME CMD:在指定的netns中運行命令
ip address -protocol address management:協議地址管理
ip address add – add new protocol address.:增加新的協議地址
ip addr add IFADDR dev IFACE
[label NAME]:為額外添加的地址指明接口別名;
[broadcats ADDRESS]:廣播地址;會根據IP和NETMASK自動計算得到;
[scope SCOPE_VALUE]:范圍變量
global:全局可用
link:接口可用;
host:僅本機可用
示例:為額外添加的地址指明接口別名
ip address delete – delete protocol address:刪除協議地址
ip addr delete IFADDR dev IFACE
ip address show – look at protocol addresses:查看協議地址
ip addr list [IFACE]:僅顯示指定的接口的地址;
ip address flush – flush protocol addresses:清空地址
ip addr flush dev IFACE:清空指定接口的所有地址
清完直接掉線
ip route – routing table management:管理路由表
ip route add – add new route:增加
ip route change – change route:修改
ip route replace – change or add new one:修改或增加
ip route add TYPE PREFIX via GW [dev IFACE][src SOURCE_IP]
示例:
#ip route add 192.168.0.0/24 via 10.0.0.1 dev eth1 src 10.0.20.100
#ip route add default via GW
ip route delete -delet route
ip route del TYPE PRIFIX
示例:
#ip rote delete 192.168.1.0/24
ip route show -list route
ip route show TYPE PRIFIX
ip route flush -flush routing tables
ip route flush TYPE PRIFIX
ip route get – get a single route
ip route get TYPE PRIFIX
示例:ip route get 192.168.0.0/24
ss命令:ss [options] [ FILTER]
選項:
-t:tcp協議的相關連接
-u:UDP相關的連接
-w:裸套接相關的連接
-l:監聽狀態的連接
-a:所在狀態的連接
-n:數字格式
-p:相關的程序及其PID
-e:擴展格式信息
-m:內存用量
-o:計時器信息
FILTER := [ state TCP-STATE ] [ EXPRESSION ]:狀態過濾功能;可以過濾端口、狀態等信息來查看。
EXPRESSION:
dport=
sport=
示例:'(dport=:22 or sport=:22)'
~]#ss -tan '(dport =:22' or sport=:22)'
~]#ss -tan state ESTABLISHED
TCP的常見狀態:
TCP FSM:
LISTEN:監聽
ESTABLISEHD:建立的連接
FIN_WAIT_1:
FIN_WAIT_2:
SYN_SENT:
SYN_RECV:
CLOSED:
nmcli命令:nmcli [ OPTIONS ] OBJECT { COMMAND | help }
device – show and manage nerwork interfaces:顯示管理網絡接口
COMMAND:={status|show|connect|disconnect|delete|wifi|wimax}
connection – start,stop,and manage network connections
COMMAND:={show|up|down|add|edit|modify|delete|reload|load}
modify[id|uuid|path]<ID>[+|-]<setting>.<property><value>
如何修改IP地址等屬性
#nmcli conn modify IFACE [+|-]setting,property value
ipv4.address
ipv4.gateway
ipv4.dns1
ipv4.method
manual
========================================================================
地址配置工具: nmcli
nmcli [ OPTIONS ] OBJECT { COMMAND | help }
device – show and manage network interfaces
nmcli device help
connection – start, stop, and manage network connections
nmcli connection help
修改IP地址等屬性:
#nmcli connection modify IFACE [+|-]setting.property value
setting.property:
ipv4.addresses ipv4.gateway
ipv4.dns1 ipv4.method manual | auto
修改配置文件執行生效: systemctl restart network
nmcli con reload
nmcli命令生效: nmcli con down eth0 ;nmcli con up eth0
網絡接口配置tui工具: nmtui
主機名稱配置工具: hostnamectl
status
set-hostnam
使用nmcli配置網絡
NeworkManager是管理和監控網絡設置的守護進程
設備即網絡接口,連接是對網絡接口的配置。一個網絡接口
可有多個連接配置,但同時只有一個連接配置生效。
顯示所有包括不活動連接
nmcli con show
顯示所有活動連接
nmcli con show –active
顯示網絡連接配置
nmcli con show "System eth0“
顯示設備狀態
nmcli dev status
顯示網絡接口屬性
nmcli dev show eno16777736
創建新連接default, IP自動通過dhcp獲取
nmcli con add con-name default type Ethernet
ifname eth0
刪除連接
nmcli con del default
創建新連接static ,指定靜態IP,不自動連接
nmcti con add con-name static ifname eth0
autoconnect no type Ethernet ip4 172.25.X.10/24 gw4
172.25.X.254
啟用static連接配置
nmcli con up static
啟用default連接配置
nmcli con up default
查看幫助
nmcli con add help
修改連接設置
nmcli con mod“static” connection.autoconnect no
nmcli con mod “static” ipv4.dns 172.25.X.254
nmcli con mod “static” +ipv4.dns 8.8.8.8
nmcli con mod “static” -ipv4.dns 8.8.8.8
nmcli con mod “static” ipv4.addresses “172.25.X.10/24
172.25.X.254”
nmcli con mod “static” +ipv4.addresses 10.10.10.10/16
修改連接配置后,需要重新加載配置
nmcli con reload
nmcli con down “system eth0” 可被自動激活
nmcli con up “system eth0”
nmcli dev dis eth0 禁用網卡,訪止被自動激活
圖形工具
nm-connection-editor
使用nmcli命令創建網絡組network teaming
網絡組:是將多個網卡聚合在一起方法,從而實現冗錯和提
高吞吐量
網絡組不同于舊版中bonding技術,提供更好的性能和擴展性
網絡組由內核驅動和teamd守護進程實現.
多種方式runner
broadcast
roundrobin
activebackup
loadbalance
lacp (implements the 802.3ad Link Aggregation Control
Protocol)
啟動網絡組接口不會自動啟動網絡組中的port接口
啟動網絡組接口中的port接口不會自動啟動網絡組接口
禁用網絡組接口會自動禁用網絡組中的port接口
沒有port接口的網絡組接口可以啟動靜態IP連接
啟用DHCP連接時,沒有port接口的網絡組會等待port接口的加入
創建網絡組接口
nmcli con add type team con-name CNAME ifname
INAME [config JSON]
CNAME 連接名, INAME 接口名
JSON 指定runner方式
格式: '{"runner": {"name": "METHOD"}}'
METHOD 可以是broadcast, roundrobin,activebackup, loadbalance, lacp
創建prot接口
nmcli con add type team-slave con-name CNAME
ifname INAME master TEAM
CNAME 連接名
INAME 網絡接口名
TEAM 網絡組接口名
連接名若不指定,默認為team-slave-IFACE
nmcli dev dis INAME
nmcli con up CNAME
INAME 設備名 CNAME 網絡組接口名或port接口
======================================================
網絡組示例
# nmcli con add type team con-name team0 ifname
team0 config ‘{"runner": {"name": "loadbalance"}}'
# nmcli con mod team0 ipv4.addresses 192.168.1.100/24
# nmcli con mod team0 ipv4.method manual
# nmcli con add con-name team0-eth1 type teamslave ifname eth1 master team0
# nmcli con add con-name team0-eth2 type teamslave ifname eth2 master team0
# nmcli con up team0
# nmcli con up team0-eth1
# nmcli con up team0-eth2
# teamdctl team0 state; # nmcli dev dis eth1
===========================================================================
實驗:創建網絡組
#ip link
#nmcli con add type team con-name team0 ifname
team0 config '{"runner": {"name": "activebackup"}}'
# nmcli con mod team0 ipv4.addresses '192.168.0.100/24'
# nmcli con mod team0 ipv4.method manual
# nmcli con add con-name team0-port1 type teamslave ifname eth1 master team0
# nmcli con add con-name team0-port2 type teamslave ifname eth2 master team0
# teamdctl team0 state
#ping -I team0 192.168.0.254
# nmcli dev dis eno1
# teamdctl team0 state
# nmcli con up team0-port1
# nmcli dev dis eno2
# teamdctl team0 state
# nmcli con up team0-port2
# teamdctl team0 state
管理網絡組配置文件
# /etc/sysconfig/network-scripts/ifcfg-team0
DEVICE=team0
DEVICETYPE=Team
TEAM_CONFIG="{\"runner\": {\"name\": \"broadcast\"}}"
BOOTPROTO=none
IPADDR0=172.25.5.100
PREFIX0=24
NAME=team0
ONBOOT=yes
# /etc/sysconfig/network-scripts/ifcfg-team0-eth1
DEVICE=eth1
DEVICETYPE=TeamPort
TEAM_MASTER=team0
NAME=team0-eth1
ONBOOT=yes
======================================================================================
使用nmcli配置主機名
rhel6之前主機名配置文件: /etc/sysconfig/network
rhel7.0主機名配置文件:/etc/hostname ,默認沒有這個文件, 通過DNS反向解析獲取主機名, 主機名默認為:localhost.localdomain
顯示主機名信息
hostname
hostnamectl status
創建并修改文件并生效
hostnamectl set-hostname desktopX.example.com
刪除文件,恢復主機名localhost.localdomain
DNS設置,存放在/etc/resolv.conf文件中
PEERDNS=no 表示當IP通過dhcp自動獲取時, dns仍是手動設置,不自動獲取。等價于下面命令:
nmcli con mod “system eth0” ipv4.ignore-auto-dns yes
配置主機名
hostname命令:
查看:hostname
配置:hostname HOSTNAME
當前系統有效,重啟后無效;
hostnamectl命令:(centos 7)
hostnamectl status:顯示當前主機信息
hostnamectl set-hostname:設定主機名,永久有效
配置文件:/etc/sysconfig/network
HOSTNAME=<HOSTNAME>
注意:此方法是設置不會立即生效;但以后會一直有效;
配置DNS服務器指向;
配置文件:/etc/resolv.conf
nameserver DNS_SERVER_IP
如何測試:(host/nslookup/dig)
dig -t A FQDN
FQDN –>IP
dig -x IP
IP –>FQDN
VIM編輯配置文件:
IP/NETMASK/GW/DNS等屬性的配置文件:/etc/sysconfig/network-scripts/ifcfg-IFACE
IFACE:接口名稱
路由的相關配置文件:/etc/sysconfig/network-scripts/route-IFACE
配置文件/etc/sysconfig/network-scripts/ifcfg-IFACE通過大量參數來定義接口的屬性;其可通過VIM等文本編輯器直接修改,也可以使用專用命令進行修改(centos6:system-config-network(setup),centos7:nmtul)
ifcfg-IFACE配置文件參數:
DEVICE:此配置文件對應的設備名稱
ONBOOT:在系統引導過程中,是否激活此接口;
NETBOOT:
UUID:此設備的唯一標識
IPV6INIT:是否初始化ipv6
BOOTPROTO:激活此接口是使用什么協議來配置接口屬性,常用的有dhcp,bootp,static,none;
TYPE:接口類型,常見的有Ethernet,Bridge;
DNS1:第一DNS服務器指向
DNS2:備用DNS服務器指向
DOMAIN:DNS搜索域
DEFROUTE:是否為默認路由使用接口
IPADDR:ip地址
NETMASK:子網掩碼;centos 7 支持使用PREFIX以長度方式指明子網掩碼;
GATEWAY:默認網關
USERCTL:是否允許普通用戶控制此設備;
PEERDNS:如果BOOTPROTO的值為‘dhcp’,是否運行dhcp server分配的dns服務器指向覆蓋本地手動指定的DNS服務器執向;默認為允許
NM_CONTROLLED:是否使用networkmanager服務來控制接口配置
HWADDR:設備的MAC地址;
配置文件修改之后,如果要生效,需要重啟網絡服務;
#service network restart(centos6)
#systemctle restart network.service
管理網絡服務
network
NetworkManager
centos 6:service SERVICE{start|stop|restart|status}
centos 7:systemctl {start|stop|restart|status} SERVICE.service
測試網絡
在命令行下測試網絡的連通性
顯示主機名
hostname
測試網絡連通性
ping
mtr
顯示正確的路由表
ip route
確定名稱服務器使用:
nslookup
host
dig
跟蹤路由
traceroute
Tracepath
網絡客戶端工具
lftp, ftp, lftpget, wget
# lftp [-p port] [-u user[,password]] SERVER
子命令:
get、 mget、 ls、 help
# lftpget URL
# ftp
# wget
wget [option]… [URL]…
-q: 靜默模式
-c: 斷點續傳
-O: 保存位置
–limit-rates=: 指定傳輸速率
完
原創文章,作者:M20-1馬星,如若轉載,請注明出處:http://www.www58058.com/42601
文章內容很完整,通篇下來能讓讀者學到很多知識,繼續努力。