1. 程式人生 > >CentOS 配置多網絡卡及簡單路由設定

CentOS 配置多網絡卡及簡單路由設定


CentOS6中關於網路配置的命令有很多,本文將介紹幾個平時最長用的幾個命令,以及網絡卡IP地址的配置和簡單路由配置。

1、經常使用的檢視IP地址命令為 ifconfig,不跟引數的情況下預設檢視所有已啟用的網絡卡資訊,如下圖所示:

wKiom1fLxBTiQZDFAACyb5QpcBw899.png

如果想檢視具體某塊網絡卡資訊,則可以在ifconfig後面跟上網絡卡裝置,如只檢視eth0的資訊則執行:ifconfig eht0 即可。

禁用某塊網絡卡:結合down命令可以禁用某塊網絡卡,如要禁用eth0網絡卡,則執行:ifconfig eth0 down 即可,這種禁用只是臨時性的,當主機一重啟則會自動啟用。

啟用某塊網絡卡:介個up命令可以啟用某塊網絡卡,如將eth0啟用,則執行:ifconfig eth0 up 即可。

ifconfig -a 命令可以檢視所有網絡卡資訊,包括禁用的。

2、NetworkManager服務可以自動檢測網路並自動連線網路的程式,優點是簡化網路連線的工作,讓桌面本身和其他應用程式能感知網路。但是有的時候通過修改配置檔案修改網路時會出現問題,因此大多情況下都會把這個服務禁用掉。禁用方式如下:

service NetworkManager stop       #關閉NetworkManager服務

chkconfig NetworkManager off     #禁止NetworkManager服務開機自啟

3、配置網絡卡IP地址

  • 使用ifconfig配置,該方法配置的IP地址立即生效,但是隻是臨時生效,當主機重啟後失效。

    語法:ifconfig IFACE IP/MASK [up]  或 ifconfig IFACE IP netmask MASK

wKiom1fLyvjBsUjVAACRDpLyklY764.png

  • 使用setup或system-config-network命令掉出圖形工具配置IP地址,配完之後需要手動重啟network服務,重啟後永久生效,重啟命令為 service network restart,圖形配置介面如下

wKioL1fLzMLA9OkcAAA2WvCH3WI827.png

wKioL1fLzMKB99gCAABFf1xIC6w902.png

  • 通過修改配置檔案設定IP地址,配置檔案路徑為/etc/sysconfig/network-scripts/ifcfg-IFACE,配置檔案修改完後也需要重啟network服務才能生效,且永久生效。

    配置檔案中各項引數說明:

    DEVICE:此配置檔案應用到的裝置,需要填寫裝置名,如eth0;

    HWADDR:對應裝置的MAC地址,如果需要手動修改MAC地址的話需要把HWADDR改成MACADDR;

    BOOTPROTO:啟用對應裝置時使用的協議,常用的有dhcp、static、none、bootp;

    NM_CONTROLLED:NM是NetworkManager的縮寫,表示此網絡卡是否接受NM控制,CentOS6中建議設定為“no”;

    ONBOOT:在系統引導時是否啟用此裝置;

    TYPE:裝置介面型別,常見的有Ethernet、Bridge;

    UUID:裝置的唯一標識;

    IPADDR:指明要設定的IP地址;

    NETMASK:IP地址的子網掩碼,也可以使用“PREFIX=網路位”的方式表示;

    GATEWAY:設定預設閘道器地址;

    DNS1、DNS2、DNS3:設定DNS伺服器地址,可以同時設定三個地址;

    USERCTL:普通使用者是否可控制次裝置;

    PEEDNS:該選項配合BOOTPROTO使用,如果BOOTPROTO的值為dhcp,則表示是否允許DHCP分配的dns地址覆蓋至/etc/reslov.conf檔案中(該檔案是存放DNS伺服器地址的);

如下圖,一般情況下配置檔案中需要填寫的內容:

wKioL1fL0miTloAxAAAfA_Z_P4A785.png

4、一個網絡卡配置多個IP地址:可通過網絡卡別名的方式將多個IP地址繫結到一個網絡卡上,網絡卡別名為冒號加數字的形式出現,如eht0:1,並且需要單獨建立一個對應的配置檔案,可在配置檔案裡設定IP地址,IP地址必須是靜態的,不能使用DHCP獲取。具體設定步驟如下:

以在eht1上繫結多個ip地址為例:

第一步:在/etc/sysconfig/network-scripts/目錄下新建一個配置檔案,如ifcfg-eth1:1,並新增必要資訊,如下圖:(在eth1網絡卡上每繫結一個地址都需要建一個對應的配置檔案)

15.png

第二步:重啟network服務使之生效(service network restart)

wKioL1fL2aDzddDCAABTJ5PTh6A602.png

一個網絡卡上繫結多個地址需要注意的是主網絡卡可以使用DHCP自動獲取地址,但是繫結的ip則不能使用DHCP獲取地址,只能設定靜態IP地址。

5、多個網絡卡共用一個IP地址:這種方式可實現高可用或者負載均衡,可通過bonding的方式實現,bonding的工作模式有三種,分別為:

Mode0(balance-rr):輪詢(Round-robin)策略,以輪詢的方式在每一個網絡卡介面上傳送資料包,這種模式可提供負載均衡和容錯的能力

Mode1(active-backup):活動-備份(熱備)策略,在繫結的多個網絡卡中,只有一個被啟用,其他的都是備用狀態,當且僅當活動的接口出現問題時,會自動的啟用另外一個網絡卡介面。

Mode3(broadcast):廣播策略,在所有繫結的介面上轉發所有報文,這種模式可提供容錯能力

下面用eth0和eth1做bonding,使用mode1模式,

第一步:先在/etc/sysconfig/network-scripts/目錄下建立一個bonding的配置檔案,命名為ifcfg-bond0,並填寫必要資訊,如下圖

16.png

其中miimon是用來進行鏈路檢測的,如果miimon=100,那麼系統每100ms檢測一次鏈路連線狀態,如果有一條線路不通就會自動轉到另一條線路。

第二步:修改eth0和eth1兩個網絡卡的配置檔案,如下圖

wKiom1fL5C_zWY9oAAAj1mRpqwA251.png

SLAVE=yes:表示該網絡卡作為備用

MASTER=bond0:表示使用bond0裝置作為主用

第三步:重啟network服務,使之生效,生效後檢視如下圖

wKiom1fL8t2zRVLeAACegejCLkM303.png

wKiom1fL-L-g4X9QAABxr8QPsyw379.png

從圖上可以看到物理網絡卡的MAC地址都是一樣的,並且eth0作為主用,eth1作為備用

第四步,測試,手動斷開eht0觀察eth1是否變成主用,然後在手動斷開eth1看能否自動切換到eht0

6、路由設定,可以通過route命令手動新增和刪除靜態路由

檢視路由的命令為:route -n 

wKioL1fMCoXyDuFJAAA1c_IvQNU599.png

新增路由語法為:route add [-net|-host] target [netmask Nm] [gw Gw] [[dev] If]

如下圖,新增一條去往10.1.1.0/24的路由,該路由從eth1口出來,下一跳是192.168.1.2

wKiom1fMC-fjIWBGAABNgAVODR0601.png

刪除路由語法為:route del [-net|-host] target [gw Gw] [netmask  Nm] [[dev] If]

如下圖,刪除一條去往123.10.1.0/24網段的靜態路由

wKioL1fMDprgMDAsAACMZbfNl9g372.png

通過以上手動修改路由可以發現,CentOS可以充當路由器,實現路由轉發功能,但是需要開啟路由轉發功能,即將/proc/sys/net/ipv4/ip_forword值修改為1,可以通過下面命令修改:

echo 1 > /proc/sys/net/ipv4/ip_forword