網卡的相關配置文件:/etc/sysconfig/network-scripts/ifcfg-網卡名
路由相關的配置文件:/etc/sysconfig/network-scripts/route-網卡名
網絡相關說明參考/usr/share/doc/initscripts-version/sysconfig.txt #這個文件介紹的還是蠻細的
網卡的配置
- 配置文件/etc/sysconfig/network-scripts/ifcfg-網卡名:
- DEVICE:此配置文件應用到的設備
- HWADDR:對應的設備的MAC地址
- BOOTPROTO:激活此設備時使用的地址配置協議,常用的dhcp, static, none, bootp
- NM_CONTROLLED:NM是NetworkManager的簡寫,此網卡是否接受NM控制;建議CentOS6為“no”
- NAME:NetworkManager啟用的名字,Centos6,沒什么用,7還是有點兒用
- ONBOOT:在系統引導時是否激活此設備 TYPE:接口類型;常見有的Ethernet, Bridge
- UUID:設備的惟一標識 IPADDR:指明IP地址 NETMASK:子網掩碼
- PREFIX=24 和NETMASK互斥,表示用2進制多少位來表示子網掩碼
- GATEWAY: 默認網關
- DNS1:第一個DNS服務器指向
- DNS2:第二個DNS服務器指向
- USERCTL:普通用戶是否可控制此設備
- MACADDR: 更改MAC地址(系統模擬更改,物理MAC無法更改)
- PEERDNS:如果BOOTPROTO的值為“dhcp”,是否允許dhcp server分配的dns服務器指向信息直接覆蓋至/etc/resolv.conf文件中
- DOMAIN: 自動填補域,reslove.conf內的search
DEVICE和HWADDR必須留一個,否則無法確認配置文件指向的網卡
/etc/sysconfig/network 這個文件內也可以添加默認網關GATEWAY,但是優先級沒有網卡配置文件的高
網卡別名
將多個IP地址綁定到一個NIC上的配制方法
eth0:1 、eth0:2、 eth0:3
ifconfig命令:
ifconfig eth0:0 192.168.1.100/24 up
ip命令:
ip addr add 172.16.1.2/16 dev eth0
ip addr add 172.16.1.1/16 dev eth0 label eth0:0
配置文件/etc/sysconfig/network-scripts/ifcfg-網卡名:{0..9}
- #必須使用靜態聯網
- DEVICE=eth0:0
- IPADDR=10.10.10.10
- NETMASK=255.0.0.0
- ONPARENT=yes
路由的配置
配置文件/etc/sysconfig/network-scripts/route-網卡名
兩種風格:
(1) TARGET via GW
如:10.0.0.0/8 via 172.16.0.1
(2) 每三行定義一條路由
ADDRESS#=TARGET
NETMASK#=mask
GATEWAY#=GW
兩種風格那種都行,配置靜態路由,文件名就起做”route-‘經過的網卡名'”
Bonding的配置
將多塊網卡綁定同一IP地址對外提供服務,可以實現高可用或者負載均衡。直接給兩塊網卡設置同一IP地址是不可以的。通過bonding,虛擬一塊網卡對外提供連接,物理網卡的被修改為相同的MAC地址。
Bonding有多種工作模式,這里只說兩種,其他的沒什么卵用,mode0和mode1(其實mode1一般也沒毛的卵用)。
Mode 0 (balance-rr):從頭到尾順序的在每一個slave 接口上面發送數據包。本模式提供負載均衡和容錯的能力
Mode 1(active-backup):活動-備份(主備)策略:只有一個slave被激活,當且僅當活動的slave接口失敗時才會激活其他slave。為了避免交換機發生混亂,此時綁定的MAC地址只有一個外部端上可見
配置bonding
創建bonding設備的配置文件/etc/sysconfig/network-scripts/ifcfg-bond{0..9}
- DEVICE=bond0 #設備名
- BOOTPROTO=none #協議dhcp 、 static 、 none
- BONDING_OPTS= “miimon=100 mode=0” #miinon是用來進行鏈路監測的。如果miimon=100,那么系統每100ms 監測一次鏈路連接狀態,如果有一條線路不通就轉入另一條線路 ;mode 為 工作模式,我們一般在企業只用0
修改相對應的網卡的配置文件
/etc/sysconfig/network-scripts/ifcfg-eth0
- DEVICE=eth0
- BOOTPROTO=none
- MASTER=bond0 #指定這個網卡屬於哪個bonding
- SLAVE=yes
- USERCTL=no #是否允許非root用戶控制該設備
查看bond0狀態:/proc/net/bonding/bond0
刪除bond0
- ifconfig bond0 down
- rmmod bonding #刪除bonding模塊
bonding的詳細幫助文檔(部分特定服務器,配置bonding時會有一些不一樣的設置):
/usr/share/doc/kernel-doc- version/Documentation/networking/bonding.txt
https://www.kernel.org/doc/Documentation/networking/bonding.txt