本帖最后由 LuckyYang 于 2016-8-24 18:06 编辑
RHEL6.2下实现bond多网卡绑定 1: 编辑虚拟网卡配置文件 [root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-bond0 DEVICE=bond0 IPADDR=192.168.1.77 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 DNS1=192.168.1.1 DNS2=202.96.209.133 ONBOOT=yes BOOTPROTO=none USERCTL=no BONDING_OPTS="mode=6 miimon=100" |
miimon=100 是指多久时间要检查网路一次,单位是ms(毫秒)这边的100,是100ms, 即是0.1秒意思是假设其中有一条网路断线,会在0.1秒内自动备援 mode共有七种(0~6) 0,1,6这3种用的教多。 mode=0:平衡负载模式,有自动备援,但需要"Switch"支援及设定。 mode=1:自动备援模式,其中一条线若断线,其他线路将会自动备援。 mode=4:动态LACP模式,聚合组内根据规则动态转发,但需要"Switch"支援及设定。 mode=6:平衡负载模式,有自动备援,不需要"Switch"支援及设定,也就是一般的SwitchingHub就可以了。 2:编辑真实网卡eth0接口配置文件 [root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 BOOTPROTO=none ONBOOT=yes MASTER=bond0 SLAVE=yes USERCTL=no |
编辑真实网卡eth1接口配置文件 [root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth1 DEVICE=eth1 BOOTPROTO=none ONBOOT=yes MASTER=bond0 SLAVE=yes USERCTL=no |
如果有更多网口,依次修改配置文件。 3:加载模块,让系统支持bonding
默认情况下,内核已支持bonding,只需要简单修改/etc/modprobe.conf 这个配置文档就可以了:添加两行 alias bond0 bonding options bond0 miimon=100 mode=6(这里和ifcfg-bond0一致) 4:重启网络服务(若不生效可重启系统) [root@localhost ~]# service network restart [root@localhost ~]# 若重启network服务bond网卡没有生效,则需要reboot |
5:查看结果 file:///C:/Users/TOM/AppData/Local/Temp/msohtmlclip1/01/clip_image001.pngfile:///C:/Users/TOM/AppData/Local/Temp/msohtmlclip1/01/clip_image002.pngfile:///C:/Users/TOM/AppData/Local/Temp/msohtmlclip1/01/clip_image003.pngfile:///C:/Users/TOM/AppData/Local/Temp/msohtmlclip1/01/clip_image003.png
Ifconfig 查看测试机器有4块物理网卡,其中eth0,1,2eth0,1,2加入了bond0,模式是6的负载,可以看到屏幕输出eth0,1,2上都有数据传输。 file:///C:/Users/TOM/AppData/Local/Temp/msohtmlclip1/01/clip_image006.png
# cat/proc/net/bonding/bond0 查看bond0,屏幕输出看到模式是adaptive load balancing,成员有eth0,eth1,eth2
注:因为版本为RHCL6.0以上,NetworkManager这项服务是自动启动的(RHCL6.0以下,则是关闭的)。因此,有可能会在配置完成后,service network restart时,网卡始终都起不来,因此需要在配置完成后首先关闭NetworkManager,如果客户的RHCL放在内网环境中(多半都是内网运行)则可以关闭防火墙iptables和ip6tables。 方法如下: Redhat使用了SELinux来增强安全,关闭的办法为: 1. 永久有效 修改 /etc/selinux/config 文件中的 SELINUX="" 为 disabled ,然后重启。 2. 即时生效 setenforce 0
关闭防火墙的方法为: 1. 永久性生效 开启:chkconfig iptables on 关闭:chkconfig iptables off 2. 即时生效,重启后失效 开启:service iptables start 关闭:service iptables stop
需要说明的是对于 Linux 下的其它服务都可以用以上命令执行开启和关闭操作
补充: a. 防火墙还需要关闭ipv6的防火墙: chkconfig ip6tables off 并且可以通过如下命令查看状态: chkconfig --list iptables b. selinux状态可以通过以下命令查看: sestatus
一、关闭防火墙 1、重启后永久性生效: 开启:chkconfig iptables on 关闭:chkconfig iptables off 2、即时生效,重启后失效: 开启:service iptables start 关闭:service iptables stop 在开启了防火墙时,做如下设置,开启相关端口,修改 /etc/sysconfig/iptables 文件,添加以下内容: -A INPUT -m state --state NEW -m tcp -p tcp--dport 80 -j ACCEPT #允许80端口通过防火墙 -A INPUT -m state --state NEW -m tcp -p tcp--dport 3306 -j ACCEPT #允许3306端口通过防火墙 备注:很多网友把这两条规则添加到防火墙配置的最后一行,导致防火墙启动失败, 正确的应该是添加到默认的22端口这条规则的下面
二、关闭SELinux vim /etc/selinux/config # 改为 SELINUX=disabled # 保存退出,重启服务器 init 6
禁用SeLinux #永久禁用,需要重启生效。 sed -i's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config # 临时禁用,不需要重启 setenforce 0
1、配置防火墙,开启80端口、3306端口
vi /etc/sysconfig/iptables
-A RH-Firewall-1-INPUT -m state --state NEW-m tcp -p tcp --dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW-m tcp -p tcp --dport 3306 -j ACCEPT
:wq! #保存退出
添加好规则后的防火墙配置文件如下图所示:
/etc/init.d/iptables restart #重启防火墙使配置生效
2、关闭SELINUX
vi /etc/selinux/config
#SELINUX=enforcing #注释掉
#SELINUXTYPE=targeted #注释掉
SELINUX=disabled #增加
:wq! #保存退出
setenforce 0 #使配置立即生效
本文为作者累积的知识梳理,如有错误的情况请尽快通知我,以免误导大家,谢谢! QQ:279575705
|