linux(CentOS 5.4)中多网卡bond时配置多IP
kevin.Zhu 发布于:2014-1-12 19:51 分类:Linux 有 15 人浏览,获得评论 0 条
如题,linux配置多网卡bond是老话题了;linux下某网卡配置多ip也是老话题了,但今天因为要把原来两台dns上的业务转到一台设备上来,所以琢磨了一下这个问题。
原本学校里,两台dns server,一台对外部网络用户访问我们学校主页使用,一台作为cache server供内部老师们访问外部网络使用。想来您也想到了,这两台服务器,不可避免地位于同一网络段中呢~~~
好吧,一般而言,解决这样问题的方法很简单:
1.新服务器上使用单网卡多ip方案,然后就解决掉了(这个方案的缺陷是多个ip也只有使用一条线路带宽)
2.新服务器上使用两个网络接口,每个接口一个ip,然后利用arp_filter过滤掉一个同网段的arp发包,利用策略路由的方式进行访问(这个方案的缺陷是策略路由的配置不是太容易,而且其中一个网卡挂掉了,相应的服务就挂掉了)
所以我想到了利用bond将几个网卡整合起来视作一块网卡看待,然后再在其上面做多ip设置。
嗯嗯,放G出去搜了一圈,很快将bond做好了
新建文件:/etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
ONBOOT=yes
BOOTPROTO=static
IPADDR=IP地址
NETMASK=掩码
NETWORK=网络段
BROADCAST=广播地址
GATEWAY=网关地址
修改网卡配置文件:
/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
/etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
ONBOOT=yes
BOOTPROTO=static
修改/etc/modprobe.conf,在最后面加入以下两行:
alias bond0 bonding
options bond0 miimon=100 mode=0
# mode 0 是需要配置交换机的,mode 6 不需要,我偷懒用了mode 6,具体关于这个参数可以查相关文档
修改/etc/rc.d/rc.local,在最后面加入以下行:
ifenslave bond0 eth0 eth1
设置完成后重起启动。
恩,这一步进行得那是相当地圆满,很快搞定了~~~不过在这之后,在bond0上设置多个ip的时候,却始终遇到问题,经过为期1个小时的不懈尝试(主要是每次等服务器重新启动太恼火了),然后利用ifdown,ifup不断折腾,最终得到了正确答案。
修改文件:/etc/sysconfig/network-scripts/ifcfg-bond0 为以下内容(相对于上面等于是屏蔽了几行)
DEVICE=bond0
ONBOOT=yes
BOOTPROTO=static
新增文件:/etc/sysconfig/network-scripts/ifcfg-bond0:0
DEVICE=bond0:0
ONBOOT=yes
BOOTPROTO=static
IPADDR=IP地址 1
NETMASK=掩码
NETWORK=网络段
BROADCAST=广播地址
GATEWAY=网关地址
新增文件:/etc/sysconfig/network-scripts/ifcfg-bond0:1
DEVICE=bond0:1
ONBOOT=yes
BOOTPROTO=static
IPADDR=IP地址 2
NETMASK=掩码
NETWORK=网络段
BROADCAST=广播地址
GATEWAY=网关地址
其他的保持原样即可~~~重新启动,成功~~~哈哈。
这样做的好处是,以后可以将数个ip和数个网卡绑定成一个出口,网卡down掉的时候就不用怕咯。。。呵呵