CentOS 配置多網絡卡及簡單路由設定
CentOS6中關於網路配置的命令有很多,本文將介紹幾個平時最長用的幾個命令,以及網絡卡IP地址的配置和簡單路由配置。
1、經常使用的檢視IP地址命令為 ifconfig,不跟引數的情況下預設檢視所有已啟用的網絡卡資訊,如下圖所示:
如果想檢視具體某塊網絡卡資訊,則可以在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
-
使用setup或system-config-network命令掉出圖形工具配置IP地址,配完之後需要手動重啟network服務,重啟後永久生效,重啟命令為 service network restart,圖形配置介面如下
-
通過修改配置檔案設定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伺服器地址的);
如下圖,一般情況下配置檔案中需要填寫的內容:
4、一個網絡卡配置多個IP地址:可通過網絡卡別名的方式將多個IP地址繫結到一個網絡卡上,網絡卡別名為冒號加數字的形式出現,如eht0:1,並且需要單獨建立一個對應的配置檔案,可在配置檔案裡設定IP地址,IP地址必須是靜態的,不能使用DHCP獲取。具體設定步驟如下:
以在eht1上繫結多個ip地址為例:
第一步:在/etc/sysconfig/network-scripts/目錄下新建一個配置檔案,如ifcfg-eth1:1,並新增必要資訊,如下圖:(在eth1網絡卡上每繫結一個地址都需要建一個對應的配置檔案)
第二步:重啟network服務使之生效(service network restart)
一個網絡卡上繫結多個地址需要注意的是主網絡卡可以使用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,並填寫必要資訊,如下圖
其中miimon是用來進行鏈路檢測的,如果miimon=100,那麼系統每100ms檢測一次鏈路連線狀態,如果有一條線路不通就會自動轉到另一條線路。
第二步:修改eth0和eth1兩個網絡卡的配置檔案,如下圖
SLAVE=yes:表示該網絡卡作為備用
MASTER=bond0:表示使用bond0裝置作為主用
第三步:重啟network服務,使之生效,生效後檢視如下圖
從圖上可以看到物理網絡卡的MAC地址都是一樣的,並且eth0作為主用,eth1作為備用
第四步,測試,手動斷開eht0觀察eth1是否變成主用,然後在手動斷開eth1看能否自動切換到eht0
6、路由設定,可以通過route命令手動新增和刪除靜態路由
檢視路由的命令為:route -n
新增路由語法為:route add [-net|-host] target [netmask Nm] [gw Gw] [[dev] If]
如下圖,新增一條去往10.1.1.0/24的路由,該路由從eth1口出來,下一跳是192.168.1.2
刪除路由語法為:route del [-net|-host] target [gw Gw] [netmask Nm] [[dev] If]
如下圖,刪除一條去往123.10.1.0/24網段的靜態路由
通過以上手動修改路由可以發現,CentOS可以充當路由器,實現路由轉發功能,但是需要開啟路由轉發功能,即將/proc/sys/net/ipv4/ip_forword值修改為1,可以通過下面命令修改:
echo 1 > /proc/sys/net/ipv4/ip_forword