Redhat Linux的网络配置,基本上是经过修改几个配置文件来实现的,虽然也能够用ifconfig来设置IP,用route来配置默认网关,用hostname来配置主机名,可是重启后会丢失。linux
相关的配置文件网络
/ect/hosts 配置主机名和IP地址的对应
/etc/sysconfig/network 配置主机名和网关
/etc/sysconfig/network-scripts/ifcfg-eth0 eth0配置文件,eth1则文件名为ifcfg-eth1,以此类推负载均衡
1、网卡配置测试
假设咱们要配置主机名为test,eth0的IP地址192.168.168.1/24,网关地址192.168.168.250ip
则/etc/sysconfig/network文件内容以下:io
NETWORKING=yes
HOSTNAME=test
GATEWAY=192.168.168.250test
eth0对应的配置文件/etc/sysconfig/network-scripts/ifcfg-eth0内容以下:module
DEVICE=eth0
BOOTPROTO=static
IPADDR=192.168.168.1
NETMASK=255.255.255.0
TYPE=Ethernet
ONBOOT=yes配置
2、单网卡绑定多个IProute
有时,咱们须要在一块网卡上配置多个IP,例如,在上面的例子中,咱们还须要为eth0配置IP 192.168.168.2和192.168.168.3。那么须要再在/etc/sysconfig/network-scripts下新建两个配置文件:
ifcfg-eth0:0内容以下:
DEVICE=eth0:0
BOOTPROTO=static
IPADDR=192.168.168.2
NETMASK=255.255.255.0
ONBOOT=yes
ifcfg-eth0:1内容以下:
DEVICE=eth0:1
BOOTPROTO=static
IPADDR=192.168.168.3
NETMASK=255.255.255.0
ONBOOT=yes
3、多个网卡绑定成一块虚拟网卡
为了提供网络的高可用性,咱们可能须要将多块网卡绑定成一块虚拟网卡对外提供服务,这样即便其中的一块物理网卡出现故障,也不会致使链接中断。好比咱们能够将eth0和eth1绑定成虚拟网卡bond0
首先在/etc/sysconfig/network-scripts/下建立虚拟网卡bond0的配置文件ifcfg-bond0,内容以下
DEVICE=bond0
BOOTPROTO=none
BROADCAST=192.168.168.255
IPADDR=192.168.168.1
NETMASK=255.255.255.0
NETWORK=192.168.168.0
ONBOOT=yes
TYPE=Ethernet
GATEWAY=192.168.168.250
USERCTL=no
而后分别修改eth0和eth1的配置文件
ifcfg-eth0内容:
DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
USERCTL=no
MASTER=bond0
SLAVE=yes
ifcfg-eth1内容
DEVICE=eth1
BOOTPROTO=none
ONBOOT=yes
USERCTL=no
MASTER=bond0
SLAVE=yes
由于linux的虚拟网卡是在内核模块中实现的,因此须要安装的时候已经装好该module。在/etc/modules.conf文件中添加以下内容(若是没有该文件,则新建一个):
alias bond0 bonding
options bond0 miimon=100 mode=1 primary=eth0
其中miimon=100表示每100ms检查一次链路链接状态,若是不通则会切换物理网卡
mode=1表示主备模式,也就是只有一块网卡是active的,只提供失效保护。若是mode=0则是负载均衡模式的,全部的网卡都是active,还有其余一些模式不多用到
primary=eth0表示主备模式下eth0为默认的active网卡
最后,在/etc/rc.local中加入
modprobe bonding miimon=100 mode=1
重启机器后能够看到虚拟网卡已经生效,能够经过插拔两个物理网卡的网线来进行测试,不过linux中网卡接管的时间好象比较长