網絡管理2

一、知識整理

1、網卡配置文件格式:vim /etc/sysconfig/network-scripts/ifcfg-eth0

TYPE=Ethernet接口類型,常見的類型有Ethernet,Bridge

BOOTPROTO=static設置靜態還是DHCP獲取IP,staticnone都為靜態,不寫此行必須指定。查看配置DHCP之后的信息:

cat /var/lib/dhclient/dhclient-44b97795-3cc0-4a6f-88b9-f119b4abfe65-eth0.lease

DEFROUTE=yes

PEERDNS=yes  啟動自動DNS,改為noDNS=#生效

PEERROUTES=yes

USERCTL 普通用戶是否可控制此設備

PEERDNS 如果BOOTPROTO的值為DHCP,是否允許dhcp server分配的dns服務器指向信息直接覆蓋至/etc/resolv.conf文件中

IPV4_FAILURE_FATAL=no

IPV6INIT=yes

IPV6_AUTOCONF=yes

IPV6_DEFROUTE=yes

IPV6_PEERDNS=yes

IPV6_PEERROUTES=yes

IPV6_FAILURE_FATAL=no IPv6配置相關信息

UUID=da2b67dd-063f-4ef8-9acb-3757dcf21203 網卡設備的UUID

DEVICE=eno16777736 網卡設備名,此名字必須與配置文件名稱統一,配置文件為:

/etc/udev/rules.d/70-persistent-net.rules

ONBOOT=yes 是否開機啟動

DOMAIN=nagedu.com

IPADDR=10.1.54.250 IP地址

GATEWAY=10.1.0.1 網關

DNS1= 設置DNS,建議設置多個

NAME= 圖形界面下的顯示名稱,可以任意指定

HWADDR 設備的MAC地址,如果要改變則改為:MACADDR=

NETMASK= 子網掩碼,可以使用CIDR模式,此時指定為PREFIX=#

NM_CONTROLLED=是否受NetworkManager控制,此服務在centos6中不穩定,建議永久關閉,使用命令chkconfig NetworkManager off不開機啟動,service NetworkManager stop關閉當前正在運行的NetworkManager服務。

另一個文件可以統一指定網關等,但是優先級低于單一網卡配置文件,一般用于bond的統一配置:/etc/sysconfig/network。

二、事例及命令詳解

1、netstat命令:print net connectionsrouting tables,interface statistics,masquerade connections,and multicast memberships

-t tcp協議相關

-u udp協議相關

-w raw socket相關

-l 處于監聽狀態

-a 所有狀態

-n 以數字顯示IP和端口

-e 擴展格式

-p 顯示相關進程及PID

常用組合:-tan

[root@localhost ~]# netstat -tan
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address    Foreign Address       State     
tcp        0      0 0.0.0.0:111        0.0.0.0:*       LISTEN 
tcp        0      0 0.0.0.0:22      0.0.0.0:*       LISTEN   
tcp        0      0 127.0.0.1:631      0.0.0.0:*       LISTEN 
tcp        0      0 127.0.0.1:6010     0.0.0.0:*       LISTEN  
tcp        0      0 0.0.0.0:52709       0.0.0.0:*       LISTEN      
tcp        0     52 10.1.252.28:22      10.1.250.66:50291    ESTABLISHED
tcp        0      0 10.1.252.28:22    10.1.250.66:50290      ESTABLISHED
tcp        0      0 :::111     :::*        LISTEN      
tcp        0      0 :::22        :::*          LISTEN      
tcp        0      0 ::1:631    :::*           LISTEN      
tcp        0      0 ::1:25     :::*     LISTEN      
tcp        0      0 ::1:6010      :::*      LISTEN      
tcp        0      0 ::1:6011      :::*     LISTEN      
tcp        0      0 :::50531       :::*       LISTEN      
[root@localhost ~]# netstat -uan
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address        Foreign Address      State      
udp        0      0 0.0.0.0:111          0.0.0.0:*        
udp        0      0 0.0.0.0:937          0.0.0.0:*                
udp        0      0 0.0.0.0:68           0.0.0.0:*   
[root@localhost ~]# netstat -tnl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address    Foreign Address           State 
tcp        0      0 0.0.0.0:111      0.0.0.0:*      LISTEN      
tcp        0      0 0.0.0.0:22       0.0.0.0:*       LISTEN 
tcp        0      0 127.0.0.1:6010    0.0.0.0:*      LISTEN      
tcp        0      0 0.0.0.0:52709    0.0.0.0:*        LISTEN      
tcp        0      0 :::111      :::*          LISTEN   
tcp        0      0 :::22      :::*           LISTEN  
[root@localhost ~]# netstat -unl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address        Foreign Address       State 
udp        0      0 0.0.0.0:111                 0.0.0.0:* 
udp        0      0 0.0.0.0:631                 0.0.0.0:* 
udp        0      0 0.0.0.0:54328               0.0.0.0:*  
udp        0      0 127.0.0.1:980               0.0.0.0:*  
udp        0      0 :::111              :::*  0      0

顯示路由表:netstat -r 顯示內核路由表

netstat -n 數字格式

[root@localhost ~]# netstat -nr
Kernel IP routing table
Destination     Gateway    Genmask   Flags   MSS Window  irtt Iface
10.1.0.0   0.0.0.0     255.255.0.0  U    0 0      0 eth
169.254.0.0   0.0.0.0       255.255.0.0   U      0 0     0 eth0
10.0.0.0     0.0.0.0      255.0.0.0    U      0 0     0 eth0
0.0.0.0     10.1.0.1     0.0.0.0      UG      0 0     0 eth0

顯示接口統計數據:

[root@localhost ~]# netstat -i
Kernel Interface table
Iface    MTU Met  RX-OK RX-ERR RX-DRP RX-OVR  TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0   1500   0   61005   0   0   0  898  0   0   0 BMRU
eth0:1   1500   0    - no statistics available -      BMRU

[root@localhost ~]# netstat -Ieth0或者netstat -I=eth0

3、設備別名:為每個別名生成獨立的接口配置文件,步驟如下:

關閉NetworkManager服務;

編輯ifcfg-eth#:##,設置網卡別名的設備文件

必須使用靜態聯網,信息如下

DEVICE=eth0:#

IPADDR=

NETMASK=

OMPARENT=yes 是否隨著父設備的啟動啟動

注意:service network restart生效

參考幫助:/usr/share/doc/initscripts-*/sysconfig.txt

4、網絡接口配置:Bonding

就是將多塊網卡綁定同一地址對外提供服務,可以實現高可用或均衡負載。當然,直接給兩塊網卡設置同一IP地址是不可能的。通過Bonding,虛擬網卡對外提供連接,物理網卡被修改為相同的MAC地址。

工作模式:Mode 0 (balance-rr

輪轉模式round-robin策略,從頭到尾順序的在每一個slave接口上面發送數據包。本模式提供負載均衡和容錯能力。

Mode 1(active-backup

活動-備份(主備)策略:在綁定中,只有一個slave被激活。當且僅當活動的slave接口失敗時才會激活其他slave。為了避免交換機發生混亂此時綁定的MAC地址只有一個外部端口上可見。

Mode 3(broodcast

廣播策略:在所有的slave接口上傳送所有的報文。本模式提供了容錯能力。

bonding的配置:

/etc/sysconfig/network-scripts/ifcfg-bond0,內容為:

DEVICE=bond0

BOOTPROTO=none

BONDING_OPTS=miimon=100 mode=o

miimon是用來進行鏈路檢測的。如果miimon=100,那么系統每100ms監測一次鏈路連接狀態,如果有一條線路不通就轉入另一條。

/etc/sysconfig/network-scripts/ifcfg-th0

DEVICE=eth0

BOOTPROTO=none

MASTER=bond0

SLAVE=yes

USERCTL=no

查看bond狀態:/proc/net/bonding/bond#

關于bonding的詳細配置參照:

/usr/share/doc/kernel-doc-version/Documentation/networking/bonding.txt

配置bond的步驟如下:

添加一塊新網卡;

首先關閉NetworkManager,centos6中;

寫bond配置文件;

寫ifcfg-eth0和ifcfg-eth1配置文件;

重啟網絡服務。

三、課后練習

1、centos 6網卡別名

[root@localhost network-scripts]# ls
ifcfg-eth0   ifdown-ippp    ifdown-sit     ifup-ib     ifup-post      init.ipv6-global
ifcfg-lo     ifdown-ipv6    ifdown-tunnel  ifup-ippp   ifup-ppp       net.hotplug
[root@localhost network-scripts]# cp ifcfg-eth0 ifcfg-eth0:1
[root@localhost network-scripts]# ls
ifcfg-eth0  ifdown-eth  ifdown-post ifup   ifup-ippp   ifup-post    ifup-wireless
ifcfg-eth0:1 ifdown-ib  ifdown-ppp  ifup-aliases ifup-ipv6   ifup-ppp   init.ipv6-global
ifcfg-lo    ifdown-ippp  ifdown-routes  ifup-bnep    ifup-isdn   ifup-routes  
[root@localhost network-scripts]# vim ifcfg-eth0:1
DEVICE="eth0:1"
BOOTPROTO="static"
NM_CONTROLLED="no"
ONBOOT="yes"
TYPE="Ethernet"
IPADDR=10.1.54.251
NETMASK=255.255.0.0
GATEWAY=10.1.0.1
[root@localhost network-scripts]# service NetworkManager stop
Stopping NetworkManager daemon:                    [FAILED]
[root@localhost network-scripts]# chkconfig NetworkManager off
[root@localhost network-scripts]# service network restart
Shutting down interface eth0:                      [  OK  ]
Shutting down loopback interface:                     [  OK  ]
Bringing up loopback interface:                      [  OK  ]
Bringing up interface eth0:  
Determining IP information for eth0... done.
Determining if ip address 10.1.54.251 is already in use for device eth0...  [  OK  ]
[root@localhost network-scripts]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0C:29:EA:8B:26  
          inet addr:10.1.252.28  Bcast:10.1.255.255  Mask:255.255.0.0
          inet6 addr: fe80::20c:29ff:feea:8b26/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:209881 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3091 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:16678475 (15.9 MiB)  TX bytes:340775 (332.7 KiB)
eth0:1    Link encap:Ethernet  HWaddr 00:0C:29:EA:8B:26  
          inet addr:10.1.54.251  Bcast:10.1.255.255  Mask:255.255.0.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

1、centos 6網卡bond

首先添加一塊虛擬網卡,同樣設置為橋接模式;

添加一個eth1的配置文件:將必要信息添加至配置文件中,其中BOOTPROTO需要設置為static或者none;設備名一定不能錯誤

blob.png

然后添加一個bond的配置文件,

blob.png

重啟網絡服務,在這之前一定要將NetworkManager服務關閉

[root@localhost network-scripts]# service network restart
Shutting down interface eth0:                      [  OK  ]
Shutting down loopback interface:                     [  OK  ]
Bringing up loopback interface:                       [  OK  ]
Bringing up interface bond0:                        [  OK  ]
Bringing up interface eth0:  
Determining IP information for eth0... done.              [  OK  ]
[root@localhost network-scripts]# ifconfig
bond0     Link encap:Ethernet  HWaddr 00:0C:29:EA:8B:30  
          inet6 addr: fe80::20c:29ff:feea:8b30/64 Scope:Link
          UP BROADCAST RUNNING MASTER MULTICAST  MTU:1500  Metric:1
          RX packets:83 errors:0 dropped:0 overruns:0 frame:0
          TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:6945 (6.7 KiB)  TX bytes:468 (468.0 b)
eth0      Link encap:Ethernet  HWaddr 00:0C:29:EA:8B:26  
          inet addr:10.1.252.28  Bcast:10.1.255.255  Mask:255.255.0.0
          inet6 addr: fe80::20c:29ff:feea:8b26/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:214159 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3768 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:17042771 (16.2 MiB)  TX bytes:438807 (428.5 KiB)
eth1      Link encap:Ethernet  HWaddr 00:0C:29:EA:8B:30  
          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1
          RX packets:83 errors:0 dropped:0 overruns:0 frame:0
          TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:6945 (6.7 KiB)  TX bytes:468 (468.0 b)

此時設備便啟動完成,可以看到沒有IP地址等信息,可以使用/etc/sysconfig/network統一配置,也可以使用bond0的配置文件進行配置。

blob.png

使用另一臺主機查看連通性:

blob.png

可以看到連通正常;我們進行mode 0的高可用和負載均衡性特性驗證:斷開原網卡:

blob.png

blob.png

使用正常;我們斷開新網卡,連接上原網卡:

blob.png

顯示主機不可達;檢查原因后發現,是原網卡配置文件沒有更改,進行更改,并重啟網絡服務:

blob.png

blob.png

重啟成功,重新測試。

blob.png

經測試,結果是:單獨使用任意一個網卡的時候都可以使用;一起使用的時候也正常運行;但是當主卡停止工作后次卡也無法工作,然而斷開次卡,再啟用次卡時候次卡變為主卡,此時單卡運行正常。次卡停止工作時主卡運行正常。因MODE 0模式提供負載均衡的能力,高可用能力還是有缺陷。

MODE 1 模式:主備模式,提供高可用性,無論主次哪個設備損壞,另一個設備都可以繼續運作。

MODE 3 模式:數據包同時發兩份,提供高可用能力,但是沒有均衡負載能力。

blob.png

第七種模式:mod=6,即:(balance-alb) Adaptive load balancing(適配器適應性負載均衡)

    特點:該模式包含了balance-tlb模式,同時加上針對IPV4流量的接收負載均衡(receive load balance, rlb),而且不需要任何switch(交換機)的支持。接收負載均衡是通過ARP協商實現的。bonding驅動截獲本機發送的ARP應答,并把源硬件地址改寫為bond中某個slave的唯一硬件地址,從而使得不同的對端使用不同的硬件地址進行通信。

    來自服務器端的接收流量也會被均衡。當本機發送ARP請求時,bonding驅動把對端的IP信息從ARP包中復制并保存下來。當ARP應答從對端到達時,bonding驅動把它的硬件地址提取出來,并發起一個ARP應答給bond中的某個slave。使用ARP協商進行負載均衡的一個問題是:每次廣播 ARP請求時都會使用bond的硬件地址,因此對端學習到這個硬件地址后,接收流量將會全部流向當前的slave。這個問題可以通過給所有的對端發送更新(ARP應答)來解決,應答中包含他們獨一無二的硬件地址,從而導致流量重新分布。當新的slave加入到bond中時,或者某個未激活的slave重新 激活時,接收流量也要重新分布。接收的負載被順序地分布(round robin)在bond中最高速的slave上。

    當某個鏈路被重新接上,或者一個新的slave加入到bond中,接收流量在所有當前激活的slave中全部重新分配,通過使用指定的MAC地址給每個 client發起ARP應答。下面介紹的updelay參數必須被設置為某個大于等于switch(交換機)轉發延時的值,從而保證發往對端的ARP應答 不會被switch(交換機)阻截。

原創文章,作者:SilencePavilion,如若轉載,請注明出處:http://www.www58058.com/44203

(0)
SilencePavilionSilencePavilion
上一篇 2016-09-07
下一篇 2016-09-07

相關推薦

  • N25第一周作業

    1.描述計算機的組成及其功能   計算機整體上分為兩大部分:     一、硬件部分:運算器,存儲器,控制器,輸入設備,輸出設備     運算器是對數據進行加工處理,主要是指各種算術運算與邏輯運算     存儲器是存儲各種數據、信號、命令等信息并在他們需要時提供這些信息 &nbsp…

    Linux干貨 2016-12-03
  • 7月21號:CentOS6.8(及7)基礎配置項+Linux入門(1)

    7月21號,馬哥第二天,主要內容有三個部分:一、基本命令復習二、CentOS6.8(及7)基礎配置項;三、linux入門(1) 一、基本命令復習    ls         查看文件內容  l查看文件詳細信息  -a顯示包含隱藏文…

    Linux干貨 2016-08-05
  • 優云Monitor:開啟數據中心主機運維的上帝視角

    常常有這么一句話在激勵每一位運維人員,“不以故障多為恥,而以恢復快為榮。”運維人員就是要快速定位問題,分析問題,排除故障,快速恢復來保障生產業務不受中斷。然而,現代大型數據中心,運維人員要管理的系統節點比以前繁多,為了掌控數據中心的實時運行情況與定位問題,需要花的時間成本已經長得無法接受。 而優云Monitor給運維人員提供了極好的可視化手段,能夠讓運維人員…

    系統運維 2017-01-09
  • sed簡介及常見用法

    sed是一個文本流處理器,配合正則表達式用可以實現很多文本處理操作。 和grep一樣,sed是一行一行的處理的。sed處理文本時,首先會將源文件復制一份到內存中,然后將文本一行一行拿到模式空間內進行操作,最后輸出到標準輸出,即屏幕上。 在模式空間中,每一行都會根據用戶給的條件進行匹配,匹配到了進行編輯后輸出,沒有匹配到,直接輸出到標準輸出。sed除了模式空間…

    2018-01-04
  • grep的使用和正則表達式

           grep作為Linux中的文本編輯的三劍客之一,它的功能很強大,并不是虛傳,學會了grep在文本中找我們要找的的字符串總是能很輕易地找到,grep不僅僅就這一點功能,它在我們工作上也會對我們有很大的幫助。下面我來介紹一下grep的簡單的功能。 grep :文本過濾( 模式:patter…

    Linux干貨 2016-08-10
  • DNS服務器搭建示例

    DNS服務器搭建示例 負責解析magedu.com域名,能夠對一些主機名進行正向解析和逆向解析 配置主配置文件 [root@slave1 etc]# vim /etc/named.conf options { listen-on port 53 { 192.168.91.132; }; // listen-on-v6 port 53 { ::1; }; di…

    2017-09-16
欧美性久久久久