网卡的相关配置文件:/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