一、查看網(wǎng)絡(luò)配置
創(chuàng)新互聯(lián)主營(yíng)恩平網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,成都app軟件開發(fā)公司,恩平h5重慶小程序開發(fā)搭建,恩平網(wǎng)站營(yíng)銷推廣歡迎恩平等地區(qū)企業(yè)咨詢
確保網(wǎng)絡(luò)配置的正確性及網(wǎng)絡(luò)連接的暢通是Linux系統(tǒng)作為服務(wù)器應(yīng)用的基礎(chǔ),查看及測(cè)試網(wǎng)絡(luò)配置是管理Linux網(wǎng)絡(luò)服務(wù)的第一步。
1.ifconfig——查看網(wǎng)絡(luò)配置
1) 查看所有活動(dòng)網(wǎng)絡(luò)接口的信息
執(zhí)行 ifconfig 或ip addr或ip a命令,都可以顯示當(dāng)前主機(jī)中已啟用(活動(dòng))的網(wǎng)絡(luò)接口信息。、
2) 查看指定網(wǎng)絡(luò)接口信息
格式:ifconfig 網(wǎng)絡(luò)接口名
可以通過TX、RX等信息了解到通過該網(wǎng)絡(luò)接口發(fā)送和接收的數(shù)據(jù)包個(gè)數(shù),流量等跟多屬性。
2.hostname命令
在Linux系統(tǒng)中,相當(dāng)一部分網(wǎng)絡(luò)服務(wù)都會(huì)通過主機(jī)名來識(shí)別本機(jī),如果主機(jī)名配置不當(dāng),可能會(huì)導(dǎo)致程序功能出現(xiàn)故障。
1) 查看主機(jī)名
使用hostname命令就可以查看當(dāng)前主機(jī)的主機(jī)名,不添加任何選項(xiàng)參數(shù)。
2) 臨時(shí)更改主機(jī)名
hostname NewName
注:這種方法只是臨時(shí)的更改主機(jī)名,重啟后將失效。
3) 永久更改主機(jī)名
a. 修改配置文件
RHEL6和7的配置文件存放路徑不相同,修改配置文件中的主機(jī)名,重啟就可永久更改主機(jī)名。
RHEL6主機(jī)名配置文件路徑為:/etc/sysconfig/network
RHEL7主機(jī)名配置文件路徑為:/etc/hostname
示例
b. 使用命令修改(這種方法只適用于RHEL7或者CentOS7之后)
命令格式:
使用該命令更改后,更改后的主機(jī)名就自動(dòng)寫入了配置文件中,所以可以永久更改主機(jī)名,其實(shí)就是修改了配置文件。
3.route命令
直接執(zhí)行route命令可以查看當(dāng)前主機(jī)中的路由表信息,若結(jié)合“-n”選項(xiàng)使用,可以將路由記錄中的地址顯示為數(shù)字形式,這可以跳過解析主機(jī)名的過程,在路由表?xiàng)l目較多的情況下能夠加快執(zhí)行速度。
Destination列對(duì)應(yīng)的是目標(biāo)網(wǎng)段的地址,Gateway列對(duì)應(yīng)的是嚇一跳路由器的地址,Iface列對(duì)應(yīng)的是發(fā)送數(shù)據(jù)的網(wǎng)絡(luò)接口。當(dāng)目標(biāo)網(wǎng)段為“default”是,表示此行是默認(rèn)網(wǎng)關(guān)記錄,當(dāng)嚇一跳為“*”是,表示目標(biāo)網(wǎng)段是與本機(jī)直接相連的。
4.netstat命令——查看系統(tǒng)的網(wǎng)絡(luò)連接狀態(tài)等
netstat命令是了解網(wǎng)絡(luò)狀態(tài)及排除網(wǎng)絡(luò)服務(wù)故障的有效工具。
常用選項(xiàng):
-a:顯示所有活動(dòng)連接(包括監(jiān)聽、非監(jiān)聽狀態(tài)的服務(wù)端口)
-n:以數(shù)字形式顯示
-p:顯示相關(guān)的進(jìn)程信息
-t:查看 TCP 協(xié)議相關(guān)信息
-u:查看UDP協(xié)議相關(guān)信息
-r:顯示路由表信息
-l:顯示處于監(jiān)聽(listening)狀態(tài)的網(wǎng)絡(luò)連接及端口信息
通常使用“-anput”組合選項(xiàng),結(jié)合管道使用“grep”命令,來查看一些服務(wù)的端口是否開啟。
示例:
Tcp21為ftp服務(wù)的端口
二、測(cè)試網(wǎng)絡(luò)連接
1.ping命令——測(cè)試網(wǎng)絡(luò)連通性
常用選項(xiàng):
-c完成次數(shù):設(shè)置完成要求回應(yīng)的次數(shù)
-i間隔秒數(shù):指定收發(fā)信息的間隔時(shí)間
-q:不顯示指令執(zhí)行過程,開頭和結(jié)尾的相關(guān)信息除外
-s數(shù)據(jù)包大小:設(shè)置數(shù)據(jù)包的大小
-t存活數(shù)值:設(shè)置存活數(shù)值TTL的大小
-v:詳細(xì)顯示指令的執(zhí)行過程
若返回“Destination Host Unreachable”的反饋信息,則表示目標(biāo)主機(jī)不可達(dá),可能目標(biāo)地址不存在或主機(jī)已關(guān)閉;返回“Network is unreachable”的反饋信息,則表示沒有可用的路由記錄(如默認(rèn)網(wǎng)關(guān)),無法到達(dá)目標(biāo)主機(jī)所在的網(wǎng)絡(luò);返回“Request timeout”的反饋信息,表示與目標(biāo)主機(jī)間的連接超時(shí)(數(shù)據(jù)包緩慢或丟失),若有嚴(yán)格的防火墻限制,也可能返回此信息。
2.traceroute命令——跟蹤數(shù)據(jù)包的路由途徑
使用traceroute命令可以測(cè)試從當(dāng)前主機(jī)到目的主機(jī)之間經(jīng)過的網(wǎng)絡(luò)節(jié)點(diǎn),并顯示各中間結(jié)點(diǎn)的連接狀態(tài)(響應(yīng)時(shí)間)。對(duì)于無法響應(yīng)的節(jié)點(diǎn),連接狀態(tài)將顯示為“*”。
示例:traceroute IP_ADDR
在網(wǎng)絡(luò)測(cè)試與排錯(cuò)的過程中,通常會(huì)先使用ping命令測(cè)試與主機(jī)的網(wǎng)絡(luò)連接,如果發(fā)現(xiàn)網(wǎng)絡(luò)有故障,再使用traceroute命令跟蹤查看是在哪個(gè)中間結(jié)點(diǎn)存在故障。
3.nslookup命令——測(cè)試DNS域名解析
nslookup是用來測(cè)試(DNS)域名解析的專用工具。(DNS服務(wù)后面再詳細(xì)講解,通俗的說就是將域名解析為ip地址的一個(gè)服務(wù))
示例:nslookup
若成功反饋要查詢域名的IP地址,則表示域名解析沒有問題;若出現(xiàn)“...... no servers could be reached”的信息,表示不能連接到指定的DNS服務(wù)器;若出現(xiàn)“...... cant’t find xxx.yyy.zzz:NXDOMAIN”的信息,表示要查詢的域名不存在。
三、設(shè)置網(wǎng)絡(luò)地址參數(shù)
設(shè)置網(wǎng)絡(luò)參數(shù)的方法:
? 臨時(shí)配置 —— 使用命令調(diào)整網(wǎng)絡(luò)參數(shù)簡(jiǎn)單、快速,可直接修改運(yùn)行中的網(wǎng)絡(luò)參數(shù)
一般只適合在調(diào)試網(wǎng)絡(luò)的過程中使用
系統(tǒng)重啟以后,所做的修改將會(huì)失效
? 永久配置 —— 通過配置文件修改網(wǎng)絡(luò)參數(shù)修改各項(xiàng)網(wǎng)絡(luò)參數(shù)的配置文件
適合對(duì)服務(wù)器設(shè)置固定參數(shù)時(shí)使用
需要重載網(wǎng)絡(luò)服務(wù)或者重啟以后才會(huì)生效
1.臨時(shí)配置——使用網(wǎng)絡(luò)配置命令(注:RHEL6中網(wǎng)絡(luò)接口的名稱為eth,RHEL7中為ens)
1)使用ifconfig命令修改網(wǎng)卡的地址、狀態(tài)
ifconfig命令不僅可以用于查看網(wǎng)卡配置,還可以修改網(wǎng)卡的ip地址,子網(wǎng)掩碼,也可以綁定網(wǎng)絡(luò)接口、激活或停用網(wǎng)絡(luò)接口
a. 修改網(wǎng)卡的ip地址(臨時(shí)修改)
命令格式:
示例:
b. 禁用或者重新激活網(wǎng)卡
命令格式:
示例:
c. 設(shè)置虛擬網(wǎng)絡(luò)接口(相當(dāng)于一塊網(wǎng)卡配置多個(gè)IP地址)
命令格式:
示例:
可以根據(jù)需要添加更多的虛擬接口,如“eth0:1”“eth0:2”等
2)使用route命令添加、刪除靜態(tài)路由記錄
? 刪除路由表中的默認(rèn)網(wǎng)關(guān)記錄命令格式:route del default gw IP地址
? 向路由表中添加默認(rèn)網(wǎng)關(guān)記錄命令格式:route add default gw IP地址
? 添加到指定網(wǎng)段的路由記錄命令格式:route add -net 網(wǎng)段地址 gw IP地址
? 刪除到指定網(wǎng)段的路由記錄命令格式:router del -net 網(wǎng)段地址
2.永久配置——修改網(wǎng)絡(luò)配置文件
1)網(wǎng)絡(luò)接口配置文件
網(wǎng)絡(luò)接口的配置文件默認(rèn)位于目錄“/etc/sysconfig/network-scripts/”中,文件名格式為:“ifcfg-XXX”,其中“XXX”是網(wǎng)絡(luò)接口的名稱。例如:RHEL6中網(wǎng)卡eth0的配置文件是“ifcfg-eth0”,而RHEL7中網(wǎng)卡ens33的配置文件是“ifcfg-ens33”。
在網(wǎng)卡的配置文件中,可以看到靜態(tài)IP地址的部分內(nèi)容如下圖所示:
上述個(gè)配置項(xiàng)的含義及作用:(圖示為RHEL6中的配置文件,7中也差不多,換湯不換藥,修改的都差不多)
? DEVICE:設(shè)置網(wǎng)絡(luò)接口的名稱ONBOOT:設(shè)置網(wǎng)絡(luò)接口是否在Linux系統(tǒng)啟動(dòng)時(shí)激活BOOTPROTO:設(shè)置網(wǎng)絡(luò)接口的配置方式,值為static時(shí)表示使用靜態(tài)ip地址,為dhcp時(shí)表示通過dhcp的方式動(dòng)態(tài)獲取ip地址IPADDR:設(shè)置網(wǎng)絡(luò)接口的ip地址NETMASK:設(shè)置網(wǎng)絡(luò)接口的子網(wǎng)掩碼GATEWAY:設(shè)置網(wǎng)絡(luò)接口的默認(rèn)網(wǎng)關(guān)地址2)重啟 network 網(wǎng)絡(luò)服務(wù)
當(dāng)修改了網(wǎng)絡(luò)接口的配置文件以后,若要使新的配置生效,可以重啟network服務(wù)或者重啟主機(jī)或者禁用、啟用網(wǎng)絡(luò)接口。
示例:
? RHEL6中重啟network服務(wù):service network restartRHEL7中重啟network服務(wù):systemctl restart network注:這是我在做實(shí)驗(yàn)時(shí)候的一個(gè)經(jīng)驗(yàn):RHEL6修改完網(wǎng)卡配置重啟后,ip地址仍然沒有改過來,這時(shí)候我們經(jīng)常會(huì)刪除“/etc/udev/rules.d/70-persistent-net.rules”這個(gè)文件。RHEL7不用管,RHEL7特別好改,RHEL6改的時(shí)候特別難受。(個(gè)人提示,不求認(rèn)同)
3)域名解析配置文件
a.指定為本機(jī)提供DNS解析的服務(wù)器地址
/etc/resolv.conf文件中記錄了本機(jī)默認(rèn)使用的DNS服務(wù)器的地址信息,對(duì)該文件所做的修改將會(huì)立刻生效。Linux系統(tǒng)中最多可以指定3個(gè)(第3個(gè)以后將被忽略)不同的DNS服務(wù)器地址,優(yōu)先使用第1個(gè)DNS服務(wù)器。
示例:
其中“search localdomain”用來設(shè)置默認(rèn)的搜索域(域名后綴)。例如,當(dāng)訪問主機(jī)“l(fā)ocalhost”時(shí),就相當(dāng)于訪問“l(fā)ocalhost.localdomain”。
b.本地主機(jī)映射文件
/etc/hosts文件中記錄著一份主機(jī)名與ip地址的映射關(guān)系表,一般用來保存經(jīng)常訪問的主機(jī)信息。當(dāng)訪問一個(gè)未知的域名時(shí),先查找該文件中是否有相應(yīng)的映射記錄,如果找不到在去向DNS服務(wù)器查詢。
hosts 文件和 DNS 服務(wù)器的比較
? 默認(rèn)情況下,系統(tǒng)首先從 hosts 文件查找解析記錄hosts 文件只對(duì)當(dāng)前的主機(jī)有效hosts 文件可減少 DNS 查詢過程,從而加快訪問速度
現(xiàn)在一般的企業(yè)都會(huì)使用雙網(wǎng)卡接入,這樣既能添加網(wǎng)絡(luò)帶寬,同時(shí)又能做相應(yīng)的冗余,可以說是好處多多。而一般企業(yè)都會(huì)使用linux操作系統(tǒng)下自帶的網(wǎng)卡綁定模式,當(dāng)然現(xiàn)在網(wǎng)卡產(chǎn)商也會(huì)出一些針對(duì)windows操作系統(tǒng)網(wǎng)卡管理軟件來做網(wǎng)卡綁定(windows操作系統(tǒng)沒有網(wǎng)卡綁定功能 需要第三方支持)。進(jìn)入正題,linux有七種網(wǎng)卡綁定模式:0. round robin,1.active-backup,2.load balancing (xor), 3.fault-tolerance (broadcast), 4.lacp, 5.transmit load balancing, 6.adaptive load balancing。 第一種:bond0:round robin標(biāo)準(zhǔn):round-robin policy: Transmit packets in sequential order from the first available slave through the last. This mode provides load balancing and fault tolerance.
特點(diǎn):(1)所有鏈路處于負(fù)載均衡狀態(tài),輪詢方式往每條鏈路發(fā)送報(bào)文,基于per packet方式發(fā)送。服務(wù)上ping 一個(gè)相同地址:1.1.1.1 雙網(wǎng)卡的兩個(gè)網(wǎng)卡都有流量發(fā)出。負(fù)載到兩條鏈路上,說明是基于per packet方式 ,進(jìn)行輪詢發(fā)送。(2)這模式的特點(diǎn)增加了帶寬,同時(shí)支持容錯(cuò)能力,當(dāng)有鏈路出問題,會(huì)把流量切換到正常的鏈路上。
實(shí)際綁定結(jié)果: cat /proc/net/bonding/bond0 Ethernet Channel Bonding Driver: v3.6.0 (September 26, 2009) Bonding Mode: load balancing (round-robin) -----RR的模式 MII Status: up MII Polling Interval (ms): 100 Up Delay (ms): 0 Down Delay (ms): 0 Slave Interface: eth0 MII Status: up Link Failure Count: 0 Permanent HW addr: 74:ea:3a:6a:54:e3 Slave Interface: eth1 MII Status: up Link Failure Count: 0
應(yīng)用拓?fù)洌航粨Q機(jī)端需要配置聚合口,cisco叫port channel。拓?fù)鋱D如下:
第二種:bond1:active-backup標(biāo)準(zhǔn)文檔定義:Active-backup policy: Only one slave in the bond is active. A different slave becomes active if, and only if, the active slave fails. The bond's MAC address is externally visible on only one port (network adapter) to avoid confusing the switch. This mode provides fault tolerance. The primary option affects the behavior of this mode.
模式的特點(diǎn):一個(gè)端口處于主狀態(tài) ,一個(gè)處于從狀態(tài),所有流量都在主鏈路上處理,從不會(huì)有任何流量。當(dāng)主端口down掉時(shí),從端口接手主狀態(tài)。
實(shí)際綁定結(jié)果: root@1:~# cat /proc/net/bonding/bond0 Ethernet Channel Bonding Driver: v3.6.0 (September 26, 2009) Bonding Mode: fault-tolerance (active-backup) —–backup模式 Primary Slave: None Currently Active Slave: eth0 MII Status: up MII Polling Interval (ms): 100 Up Delay (ms): 0 Down Delay (ms): 0 Slave Interface: eth0 MII Status: up Link Failure Count: 0 Permanent HW addr: 74:ea:3a:6a:54:e3 Slave Interface: eth1 MII Status: up Link Failure Count: 0 Permanent HW addr: d8:5d:4c:71:f9:94
應(yīng)用拓?fù)洌哼@種模式接入不需要交換機(jī)端支持,隨便怎么接入都行。
第三種:bond2:load balancing (xor)標(biāo)準(zhǔn)文檔描述:XOR policy: Transmit based on [(source MAC address XOR'd with destination MAC address) modulo slave count]. This selects the same slave for each destination MAC address. This mode provides load balancing and fault tolerance.
特點(diǎn):該模式將限定流量,以保證到達(dá)特定對(duì)端的流量總是從同一個(gè)接口上發(fā)出。既然目的地是通過MAC地址來決定的,因此該模式在"本地"網(wǎng)絡(luò)配置下可以工作得很好。如果所有流量是通過單個(gè)路由器(比如 "網(wǎng)關(guān)"型網(wǎng)絡(luò)配置,只有一個(gè)網(wǎng)關(guān)時(shí),源和目標(biāo)mac都固定了,那么這個(gè)算法算出的線路就一直是同一條,那么這種模式就沒有多少意義了。),那該模式就不是最好的選擇。和balance-rr一樣,交換機(jī)端口需要能配置為"port channel"。這模式是通過源和目標(biāo)mac做hash因子來做xor算法來選路的。
實(shí)際綁定結(jié)果: [root@localhost ~]# cat /proc/net/bonding/bond0 Ethernet Channel Bonding Driver: v3.0.3 (March 23, 2006) Bonding Mode: load balancing (xor) ——配置為xor模式 Transmit Hash Policy: layer2 (0) MII Status: up MII Polling Interval (ms): 100 Up Delay (ms): 0 Down Delay (ms): 0 Slave Interface: eth1 MII Status: up Link Failure Count: 0 Permanent HW addr: 00:d0:f8:40:f1:a0 Slave Interface: eth2 MII Status: up Link Failure Count: 0 Permanent HW addr: 00:d0:f8:00:0c:0c
應(yīng)用拓?fù)洌和琤ond0一樣的應(yīng)用模型。這個(gè)模式也需要交換機(jī)配置聚合口。
第四種:bond3:fault-tolerance (broadcast)標(biāo)準(zhǔn)文檔定義:Broadcast policy: transmits everything on all slave interfaces. This mode provides fault tolerance.
特點(diǎn):這種模式的特點(diǎn)是一個(gè)報(bào)文會(huì)復(fù)制兩份往bond下的兩個(gè)接口分別發(fā)送出去,當(dāng)有對(duì)端交換機(jī)失效,我們感覺不到任何downtime,但此法過于浪費(fèi)資源;不過這種模式有很好的容錯(cuò)機(jī)制。此模式適用于金融行業(yè),因?yàn)樗麄冃枰呖煽啃缘木W(wǎng)絡(luò),不允許出現(xiàn)任何問題。
實(shí)際綁定結(jié)果: root@ubuntu12:~/ram# cat /proc/net/bonding/bond0 Ethernet Channel Bonding Driver: v3.6.0 (September 26, 2009) Bonding Mode: fault-tolerance (broadcast) ——- fault-tolerance 模式 MII Status: up MII Polling Interval (ms): 100 Up Delay (ms): 0 Down Delay (ms): 0 Slave Interface: eth0 MII Status: up Link Failure Count: 0 Permanent HW addr: 74:ea:3a:6a:54:e3 Slave Interface: eth1 MII Status: up Link Failure Count: 0 Permanent HW addr: d8:5d:4c:71:f9:94
應(yīng)用拓?fù)洌喝缦拢?/p>
這種模式適用于如下拓?fù)?,兩個(gè)接口分別接入兩臺(tái)交換機(jī),并且屬于不同的vlan,當(dāng)一邊的網(wǎng)絡(luò)出現(xiàn)故障不會(huì)影響服務(wù)器另一邊接入的網(wǎng)絡(luò)正常工作。而且故障過程是0丟包。下面展示了這種模式下ping信息: 64 bytes from 1.1.1.1: icmp_seq=901 ttl=64 time=0.205 ms 64 bytes from 1.1.1.1: icmp_seq=901 ttl=64 time=0.213 ms (DUP!) —dup為重復(fù)報(bào)文 64 bytes from 1.1.1.1: icmp_seq=902 ttl=64 time=0.245 ms 64 bytes from 1.1.1.1: icmp_seq=902 ttl=64 time=0.254 ms (DUP!) 64 bytes from 1.1.1.1: icmp_seq=903 ttl=64 time=0.216 ms 64 bytes from 1.1.1.1: icmp_seq=903 ttl=64 time=0.226 ms (DUP!) 從這個(gè)ping信息可以看到,這種模式的特點(diǎn)是,同一個(gè)報(bào)文服務(wù)器會(huì)復(fù)制兩份分別往兩條線路發(fā)送,導(dǎo)致回復(fù)兩份重復(fù)報(bào)文,這種模式有浪費(fèi)資源的嫌疑。
第五種:bond4:lacp
標(biāo)準(zhǔn)文檔定義:IEEE 802.3ad Dynamic link aggregation. Creates aggregation groups that share the same speed and duplex settings. Utilizes all slaves in the active aggregator according to the 802.3ad specification. Pre-requisites: 1. Ethtool support in the base drivers for retrieving.the speed and duplex of each slave. 2. A switch that supports IEEE 802.3ad Dynamic link aggregation. Most switches will require some type of configuration to enable 802.3ad mode.
特點(diǎn):802.3ad模式是IEEE標(biāo)準(zhǔn),因此所有實(shí)現(xiàn)了802.3ad的對(duì)端都可以很好的互操作。802.3ad 協(xié)議包括聚合的自動(dòng)配置,因此只需要很少的對(duì)交換機(jī)的手動(dòng)配置(要指出的是,只有某些設(shè)備才能使用802.3ad)。802.3ad標(biāo)準(zhǔn)也要求幀按順序(一定程度上)傳遞,因此通常單個(gè)連接不會(huì)看到包的亂序。802.3ad也有些缺點(diǎn):標(biāo)準(zhǔn)要求所有設(shè)備在聚合操作時(shí),要在同樣的速率和雙工模式,而且,和除了balance-rr模式外的其它bonding負(fù)載均衡模式一樣,任何連接都不能使用多于一個(gè)接口的帶寬。 此外,linux bonding的802.3ad實(shí)現(xiàn)通過對(duì)端來分發(fā)流量(通過MAC地址的XOR值),因此在"網(wǎng)關(guān)"型配置下,所有外出(Outgoing)流量將使用同一個(gè)設(shè)備。進(jìn)入(Incoming)的流量也可能在同一個(gè)設(shè)備上終止,這依賴于對(duì)端802.3ad實(shí)現(xiàn)里的均衡策略。在"本地"型配置下,路兩將通過 bond里的設(shè)備進(jìn)行分發(fā)。
實(shí)際綁定結(jié)果: root@:~# cat /proc/net/bonding/bond0 Ethernet Channel Bonding Driver: v3.6.0 (September 26, 2009) Bonding Mode: IEEE 802.3ad Dynamic link aggregation Transmit Hash Policy: layer2 (0) MII Status: up MII Polling Interval (ms): 100 Up Delay (ms): 0 Down Delay (ms): 0 802.3ad info LACP rate: slow Aggregator selection policy (ad_select): stable Active Aggregator Info: Aggregator ID: 1 Number of ports: 1 Actor Key: 9 Partner Key: 1 Partner Mac Address: 00:00:00:00:00:00 Slave Interface: eth0 MII Status: up Link Failure Count: 0 Permanent HW addr: 74:ea:3a:6a:54:e3 Aggregator ID: 1 Slave Interface: eth1 MII Status: up Link Failure Count: 0 Permanent HW addr: d8:5d:4c:71:f9:94 Aggregator ID: 2
應(yīng)用拓?fù)洌簯?yīng)用拓?fù)渫琤ond0,和bond2一樣,不過這種模式除了配置port channel之外還要在port channel聚合口下開啟LACP功能,成功協(xié)商后,兩端可以正常通信。否則不能使用。
交換機(jī)端配置: interface AggregatePort 1 配置聚合口 interface GigabitEthernet 0/23 port-group 1 mode active 接口下開啟lacp 主動(dòng)模式 interface GigabitEthernet 0/24 port-group 1 mode active
第六種:bond5: transmit load balancing
標(biāo)準(zhǔn)文檔定義:Adaptive transmit load balancing: channel bonding that does not require any special switch support. The outgoing traffic is distributed according to the current load (computed relative to the speed) on each slave. Incoming traffic is received by the current slave. If the receiving slave fails, another slave takes over the MAC address of the failed receiving slave. Prerequisite: Ethtool support in the base drivers for retrieving the speed of each slave.
特點(diǎn):balance-tlb模式通過對(duì)端均衡外出(outgoing)流量。既然它是根據(jù)MAC地址進(jìn)行均衡,在"網(wǎng)關(guān)"型配置(如上文所述)下,該模式會(huì)通過單個(gè)設(shè)備來發(fā)送所有流量,然而,在"本地"型網(wǎng)絡(luò)配置下,該模式以相對(duì)智能的方式(不是balance-xor或802.3ad模式里提及的XOR方式)來均衡多個(gè)本地網(wǎng)絡(luò)對(duì)端,因此那些數(shù)字不幸的MAC地址(比如XOR得到同樣值)不會(huì)聚集到同一個(gè)接口上。 不像802.3ad,該模式的接口可以有不同的速率,而且不需要特別的交換機(jī)配置。不利的一面在于,該模式下所有進(jìn)入的(incoming)流量會(huì)到達(dá)同一個(gè)接口;該模式要求slave接口的網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)有某種ethtool支持;而且ARP監(jiān)控不可用。
實(shí)際配置結(jié)果: cat /proc/net/bonding/bond0 Ethernet Channel Bonding Driver: v3.0.3 (March 23, 2006) Bonding Mode: transmit load balancing —–TLB模式 Primary Slave: None Currently Active Slave: eth1 MII Status: up MII Polling Interval (ms): 100 Up Delay (ms): 0 Down Delay (ms): 0 Slave Interface: eth1 MII Status: up Link Failure Count: 0 Permanent HW addr: 00:d0:f8:40:f1:a0 Slave Interface: eth2 MII Status: up Link Failure Count: 0 Permanent HW addr: 00:d0:f8:00:0c:0c
應(yīng)用拓?fù)洌哼@個(gè)模式下bond成員使用各自的mac,而不是上面幾種模式是使用bond0接口的mac。
如上圖,設(shè)備開始時(shí)會(huì)發(fā)送免費(fèi)arp,以主端口eth1的mac為源,當(dāng)客戶端收到這個(gè)arp時(shí)就會(huì)在arp緩存中記錄下這個(gè)mac對(duì)的ip。而在這個(gè)模式下,服務(wù)器每個(gè)端口在ping操作時(shí),會(huì)根據(jù)算法算出出口,地址不斷變化時(shí)他,這時(shí)會(huì)負(fù)載到不同端口。實(shí)驗(yàn)中ping1.1.1.3時(shí)往eth2發(fā)送,源mac為00:D0:F8:00:0C:0C,ping1.1.1.4是往eth1發(fā)送,源mac為00:D0:F8:40:F1:A0,以此類推,所以從服務(wù)器出去的流量負(fù)載到兩條線路,但是由于服務(wù)發(fā)arp時(shí)只用00:D0:F8:40:F1:A0,這樣客戶端緩沖記錄的是00:D0:F8:40:F1:A0對(duì)的ip,封裝時(shí)目標(biāo)mac:00:D0:F8:40:F1:A0。這樣進(jìn)入服務(wù)的流量都只往eth1(00:D0:F8:40:F1:A0)走。設(shè)備會(huì)一直發(fā)入snap報(bào)文,eth1發(fā)送源為00d0.f840.f1a0的snap報(bào)文,eth2發(fā)送源為00d0.f800.0c0c的snap報(bào)文。這個(gè)snap報(bào)文mac和目標(biāo)mac一樣都是網(wǎng)卡本地mac,源ip和目標(biāo)ip也一樣,這個(gè)報(bào)文的作用是檢測(cè)線路是否正常的回環(huán)報(bào)文。 注:可以通過修改bond0的mac地址來引導(dǎo)他發(fā)修改后的源mac的免費(fèi)arp(MACADDR=00:D0:F8:00:0C:0C)
第七種:bond6:adaptive load balancing特點(diǎn):該模式包含了balance-tlb模式,同時(shí)加上針對(duì)IPV4流量的接收負(fù)載均衡(receive load balance, rlb),而且不需要任何switch(交換機(jī))的支持。接收負(fù)載均衡是通過ARP協(xié)商實(shí)現(xiàn)的。bonding驅(qū)動(dòng)截獲本機(jī)發(fā)送的ARP應(yīng)答,并把源硬件地址改寫為bond中某個(gè)slave的唯一硬件地址,從而使得不同的對(duì)端使用不同的硬件地址進(jìn)行通信。所有端口都會(huì)收到對(duì)端的arp請(qǐng)求報(bào)文,回復(fù)arp回時(shí),bond驅(qū)動(dòng)模塊會(huì)截獲所發(fā)的arp回復(fù)報(bào)文,根據(jù)算法算到相應(yīng)端口,這時(shí)會(huì)把a(bǔ)rp回復(fù)報(bào)文的源mac,send源mac都改成相應(yīng)端口mac。從抓包情況分析回復(fù)報(bào)文是第一個(gè)從端口1發(fā),第二個(gè)從端口2發(fā)。以此類推。 (還有一個(gè)點(diǎn):每個(gè)端口除發(fā)送本端口回復(fù)的報(bào)文,也同樣會(huì)發(fā)送其他端口回復(fù)的報(bào)文,mac還是其他端口的mac)這樣來自服務(wù)器端的接收流量也會(huì)被均衡。 當(dāng)本機(jī)發(fā)送ARP請(qǐng)求時(shí),bonding驅(qū)動(dòng)把對(duì)端的IP信息從ARP包中復(fù)制并保存下來。當(dāng)ARP應(yīng)答從對(duì)端到達(dá)時(shí),bonding驅(qū)動(dòng)把它的硬件地址提取出來,并發(fā)起一個(gè)ARP應(yīng)答給bond中的某個(gè)slave(這個(gè)算法和上面一樣,比如算到1口,就給發(fā)送arp請(qǐng)求,1回復(fù)時(shí)mac用1的mac)。使用ARP協(xié)商進(jìn)行負(fù)載均衡的一個(gè)問題是:每次廣播 ARP請(qǐng)求時(shí)都會(huì)使用bond的硬件地址,因此對(duì)端學(xué)習(xí)到這個(gè)硬件地址后,接收流量將會(huì)全部流向當(dāng)前的slave。這個(gè)問題通過給所有的對(duì)端發(fā)送更新(ARP應(yīng)答)來解決,往所有端口發(fā)送應(yīng)答,應(yīng)答中包含他們獨(dú)一無二的硬件地址,從而導(dǎo)致流量重新分布。當(dāng)新的slave加入到bond中時(shí),或者某個(gè)未激活的slave重新激活時(shí),接收流量也要重新分布。接收的負(fù)載被順序地分布(round robin)在bond中最高速的slave上 當(dāng)某個(gè)鏈路被重新接上,或者一個(gè)新的slave加入到bond中,接收流量在所有當(dāng)前激活的slave中全部重新分配,通過使用指定的MAC地址給每個(gè) client發(fā)起ARP應(yīng)答。下面介紹的updelay參數(shù)必須被設(shè)置為某個(gè)大于等于switch(交換機(jī))轉(zhuǎn)發(fā)延時(shí)的值,從而保證發(fā)往對(duì)端的ARP應(yīng)答不會(huì)被switch(交換機(jī))阻截。 必要條件: 條件1:ethtool支持獲取每個(gè)slave的速率; 條件2:底層驅(qū)動(dòng)支持設(shè)置某個(gè)設(shè)備的硬件地址,從而使得總是有個(gè)slave(curr_active_slave)使用bond的硬件地址,同時(shí)保證每個(gè)bond 中的slave都有一個(gè)唯一的硬件地址。如果curr_active_slave出故障,它的硬件地址將會(huì)被新選出來的 curr_active_slave接管。
實(shí)際配置結(jié)果: root@:/tmp# cat /proc/net/bonding/bond0 Ethernet Channel Bonding Driver: v3.6.0 (September 26, 2009) Bonding Mode: adaptive load balancing Primary Slave: None Currently Active Slave: eth0 MII Status: up MII Polling Interval (ms): 100 Up Delay (ms): 0 Down Delay (ms): 0 Slave Interface: eth0 MII Status: up Link Failure Count: 0 Permanent HW addr: 74:ea:3a:6a:54:e3 Slave Interface: eth1 MII Status: up Link Failure Count: 0 Permanent HW addr: d8:5d:4c:71:f9:94
應(yīng)用拓?fù)洌?/p>
A是雙網(wǎng)卡綁定。 當(dāng)B 發(fā)送一個(gè)arp請(qǐng)求到達(dá)A時(shí),按正常情況A會(huì)回應(yīng)一個(gè)arp回應(yīng)報(bào)文,源mac為bond的mac,源就是bond的ip。但是這個(gè)模式下bonding驅(qū)動(dòng)會(huì)截獲這個(gè)arp回應(yīng),把源mac改成bond狀態(tài) 下其中某一個(gè)網(wǎng)卡的mac:mac1,這樣B收到這個(gè)arp回應(yīng)時(shí)就會(huì)在arp緩存中記錄下ip:1.1.1.1對(duì)應(yīng)的mac為mac1。這樣B的過來的流量都走M(jìn)AC1. 當(dāng)C 發(fā)送一個(gè)arp請(qǐng)求到達(dá)A時(shí),按正常情況A會(huì)回應(yīng)一個(gè)arp回應(yīng)報(bào)文,源mac為bond的mac,源就是bond的ip。但是這個(gè)模式下bonding驅(qū)動(dòng)會(huì)截獲這個(gè)arp回應(yīng),把源mac改成bond狀態(tài) 下其中某一個(gè)網(wǎng)卡的mac:mac2,這樣C收到這個(gè)arp回應(yīng)時(shí)就會(huì)在arp緩存中記錄下ip:1.1.1.1對(duì)應(yīng)的mac為mac2。這樣C的過來的流量都走M(jìn)AC2. 這樣就可以做到回來讓回來的流量也負(fù)載均衡。出方向均衡和MODE=5一致,不同地址會(huì)根據(jù)xor算法算出不同出口,發(fā)不同出口發(fā)送相應(yīng)的arp ,mac是對(duì)應(yīng)網(wǎng)卡的mac。
===================================================
Linux (RedHat, Ubuntu, etc.) Bonding 共提供了六種模式:
名辭解釋: 在bonding的領(lǐng)域里, 英文slave interface表示某個(gè)實(shí)體連線的意思; 因此指令名稱為: ifenslave
mode=0 (balance-rr): 采取依序使用的連線的方式,提供了負(fù)載均衡及容錯(cuò)的功能?
mode=1 (active-backup): 眾多的連線中,只有一個(gè)是啟用的狀態(tài),當(dāng)啟用的連線失效(敗),則由備援的連線接手,提供容錯(cuò)機(jī)制。
mode=2 (balance-xor): 采用xor的演算法來選擇傳輸?shù)倪B線,其結(jié)果是以目的地MAC為基準(zhǔn)選擇哪一條連線;提供了負(fù)載均衡及容錯(cuò)機(jī)制。
mode=3 ( broadcast): 把封包送到所有的連線,當(dāng)有連線失效沒有任何downtime,但此法過於浪費(fèi)連線資源;有容錯(cuò)機(jī)制。
mode=4 (802.3ad, LACP): IEEE 802.3ad Dynamic Link Aggregation協(xié)定;提供較好的機(jī)制,并可搭配802.1Q trunking同時(shí)介接不同的VLAN;惟獨(dú)此法必須與支援802.3ad的交換機(jī)介接,并且每個(gè)slave的驅(qū)動(dòng)程式都需支援ethtool擷取介面的訊息, 較為豪華,但是提供了相當(dāng)優(yōu)良的應(yīng)用,負(fù)載均衡及容錯(cuò)機(jī)制。
mode=5 (balance-tlb): Adaptive Transmit load balancing; 無須交換機(jī)支援但slave驅(qū)動(dòng)程式需支援ethtool;根據(jù)連線介面卡的負(fù)載決定traffic如何送出,回覆的traffic則由送出的salve接收。
mode=6 (balance-alb): 包含了mode 5所有功能及需求,再加上接收traffic時(shí)的負(fù)載均衡.
1.基本操作
永久修改網(wǎng)卡IP
vi /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet #設(shè)置網(wǎng)卡類型,“Ethernet”表示以太網(wǎng)
DEVICE=ens33 #設(shè)置網(wǎng)卡的名稱
ONBOOT=yes #設(shè)置網(wǎng)卡是否在 Linux 操作系統(tǒng)啟動(dòng)時(shí)激活
BOOTPROTO=static #設(shè)置網(wǎng)卡的配置方式,“static”表示使用靜態(tài)IP地址,“dhcp”時(shí)表示動(dòng)態(tài)獲取地址
IPADDR=192.168.80.3 #設(shè)置網(wǎng)卡的 IP 地址
NETMASK=255.255.255.0 #設(shè)置網(wǎng)卡的子網(wǎng)掩碼
GATEWAY=192.168.80.2 #設(shè)置網(wǎng)卡的默認(rèn)網(wǎng)關(guān)地址
DNS1=192.168.80.2 #設(shè)置DNS服務(wù)器的 IP 地址
2.操作步驟
1.打開終端
2.輸入:ifconfig 在ens33中查看網(wǎng)卡地址:
3.確認(rèn)虛擬機(jī)網(wǎng)段是多少,打開網(wǎng)絡(luò)編輯器
4.點(diǎn)擊更改設(shè)
5.查看本地電腦中有無VM net網(wǎng)卡
6.選擇NAT模式,查看虛擬機(jī)網(wǎng)段
在這里插入圖片描述7.點(diǎn)擊DHCP設(shè)置,起始地址改為:192.168.133.2
結(jié)束地址改為:192.168.133.2548.nat設(shè)置
9.進(jìn)入本機(jī)VM net8 中設(shè)置DHCP自動(dòng)獲取,192.168.133.1被占用,所以從192.168.133.2開始設(shè)置:
10.設(shè)置完后,按確定保存:
11. 更改網(wǎng)卡的配置文件,先ifconfig,查看網(wǎng)卡:
[root@localhost ~]# ifconfig
[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-s
12.配置完后,用命令重啟網(wǎng)卡