taoCMS是基于php+sqlite/mysql的国内最小(100Kb左右)的功能完善、开源免费的CMS管理系统

FreeBSD, Debian, CentOS一个网卡绑定多个IP

2013-04-09
1. FreeBSD:

配置/etc/rc.conf

ifconfig_interface="inet 192.168.1.5 255.255.255.0"

ifconfig_interface_alias0="inet 192.168.1.6 255.255.255.0"

注意interface是网卡设备名.

2. Debian

/etc/network/interfaces

auto eth0
iface eth0 inet static
address 192.168.1.145

netmask 255.255.255.0

network 192.168.1.0
gateway 192.168.1.1

另外一个IP

auto eth0:1
iface eth0:1 inet static
address 192.168.1.146

netmask 255.255.255.0

network 192.168.1.0
gateway 192.168.1.1

3.CentOS:

/etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0
ONBOOT=yes
HWADDR=00:0C:29:16:39:5F
NETMASK=255.255.255.0
IPADDR=192.168.1.147
GATEWAY=192.168.1.1
TYPE=Ethernet

绑定另外一个IP, 创建另外一个文件, ifcfg-eth0

DEVICE=eth0 // 注意还是eth0, 指示此IP绑定到eth0
ONBOOT=yes
HWADDR=00:0C:29:16:39:5F
NETMASK=255.255.255.0
IPADDR=192.168.1.148
GATEWAY=192.168.1.1
TYPE=Ethernet


关于CentOS双网卡绑定与多IP 

 在一些网卡/网络出现瓶颈时,可以考虑使用多网卡绑定一个IP或直接使用多个IP的方式获取更高的吞吐量。

    Linux的双网卡绑定屡试不爽,但Linux多IP默认似乎都有问题(不能仅仅是分配多个IP)。特此记录:

多网卡绑定:

1、编辑虚拟网络接口配置文件(bond0),并指定网卡IP

vi /etc/sysconfig/network-scripts/ifcfg-bond0

DEVICE=bond0

BOOTPROTO=static

BROADCAST=10.20.223.255

MACDDR=00:1E:90:76:6F:E2

IPADDR=10.20.223.113

NETMASK=255.255.254.0

NETWORK=10.20.222.0

USERCTL=no

ONBOOT=yes

GATEWAY=10.20.222.1

TYPE=Ethernet

BONDING_OPTS="mode=0 miimon=100"

注意:建议不要指定MAC地址

vi /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

ERCTL=no

ONBOOT=yes

MASTER=bond0

SLAVE=yes

BOOTPROTO=none

vi /etc/sysconfig/network-scripts/ifcfg-eth1

DEVICE=eth1

USERCTL=no

ONBOOT=no

MASTER=bond0

SLAVE=yes

BOOTPROTO=none

 

2、编辑模块载入配置文件(/etc/modprobe.conf),开机 自动加载bonding模块到内核

alias bond0 bondingoptions bond0 miimon=100 mode=0

说明:

     miimon是用来进行链路监测的。 比 如:miimon=100,那么系统每100ms监测一次链路连接状态,如果有一条线路不通就转入另一条线路;

    mode的值表示工作模式,他共有 0,1,2,3,4,5,6六种模式,常用为0,6,1三种,具体后面会介绍 mode=0,表示load balancing (round-robin)为负载均衡方式,两块网卡都工作,但是与网卡相连的交换必须做特殊配置( 这两个端口应该采取聚合方式),因为做bonding的这两块网卡是使用同一个MAC地址 mode=6,表示 load balancing (round-robin)为负载均衡方式,两块网卡都工作,但是该模式下无需配置交换机,因为做bonding的这两块 网卡是使用不同的MAC地址 mode=1,表示fault-tolerance (active-backup)提供冗余功能,工作方式是主备的工作方式,也就是说默认情况下只有一 块网卡工作,另一块做备份 

注意:

     bonding只能提供链路监测,即从主机到交换机的链路是否接通。如果只是交换机对外的链路down掉了,而交换机本身并没有故障,那么 bonding会认为链路没有问题而继续使用

3、加入开机启动

ifenslave bond0 eth0 eth1

4、重启系统后,eth0和eth1网卡显示“UP BROADCAST RUNNING SLAVE MULTICAST”,表示成功绑定 

如果多网卡分别指定IP,不作IP绑定,操作如下:

加入启动项/etc/rc.local中加入(更新路由表)

echo 1 > /proc/sys/net/ipv4/conf/all/arp_filter 

route add -net 0.0.0.0 netmask 0.0.0.0 gw 10.20.221.1 dev eth0 

route add -net 0.0.0.0 netmask 0.0.0.0 gw 10.20.221.1 dev eth1 

ip route add to 0.0.0.0/0 via 10.20.221.1 dev eth0 table 10 

ip route add to 0.0.0.0/0 via 10.20.221.1 dev eth1 table 20 

ip rule add from 10.20.221.113/32 table 10 

ip rule add from 10.20.221.131/32 table 20

Linux需要更新路由表,否则两个IP将都会指向同一个MAC地址(即同一张网卡),可以使用arping查看Ip对应的MAC地址。Windows则不需要做此配置。


在Windows中,一个网卡可以绑定多个IP地址,在Linux中也可以做到。操作起来也是非常的简单,只要编辑一下网络配置文件即可。一台普通的服务器都不止一块网卡,在Linux CentOS 5.5系统中,第一块网卡用eth0表示,第二块网卡用eth1表示,以此类推。Linux CentOS 5.5的网络配置文件在/etc/sysconfig/network-scripts 目录下。可以在这个目录下找到ifcfg-eth0 或ifcfg-eth1 文件,ifcfg-eth0就是第一块网卡的配置文件。ifcfg-eth1就是第二块网卡的配置文件。现在要在第二块网卡上绑定多个IP。操作如下:

cd /etc/sysconfig/network-scripts

cp ifcfg-eth0 ifcfg-eth1:1

vim ifcfg-eth1:1

打印出以下信息:DEVICE=eth1:1
BOOTPROTO=static
HWADDR=00:03:FF:43:1A:B9
ONBOOT=yes
IPADDR=192.168.1.251
NETMASK=255.255.255.0

注意配置文件名称和DEVICE的值对应。其中的DEVICE为设备的名称,IPADDR为此设备的IP地址,NETMASK为子网掩码,ONBOOT 表示在系统启动时自动启动。如果要再绑定一个IP,则再复制一个文件命名ifcfg-eth1:2,文件内容中的DEVICE名称修改为ifcfg-eth1:2即可,同时还有绑定的IP也得修改。这时再看这个目录

cd /etc/sysconfig/network-scripts

ls -al

打印出以下信息:
-rw-r--r-- 3 root root   227 Jan 19 01:36 ifcfg-eth1
-rw-r--r-- 1 root root   229 Feb 15 21:44 ifcfg-eth1:1
-rw-r--r-- 1 root root   229 Feb 15 21:48 ifcfg-eth1:2
……

接着重启网络

service network restart
打印出以下信息:
Shutting down interface eth1:                              [ OK ]
Shutting down loopback interface:                          [ OK ]
Bringing up loopback interface:                            [ OK ]
Bringing up interface eth1:                                [ OK ]

查看服务器IP检查是否绑定成功:

ifconfig

打印出以下信息:
eth1      Link encap:Ethernet  HWaddr 00:10:5A:20:69:C3 
          inet addr:192.168.1.250  Bcast:192.168.1.1  Mask:255.255.255.0
          inet6 addr: fe80::210:5aff:fe20:69c2/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:42480344 errors:11811 dropped:0 overruns:6 frame:23622
          TX packets:1697903 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:2740134690 (2.5 GiB)  TX bytes:714885771 (681.7 MiB)
          Interrupt:66 Base address:0xc000 
eth1:1    Link encap:Ethernet  HWaddr 00:10:5A:20:69:C3  
          inet addr:192.168.1.251  Bcast:192.168.1.1  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          Interrupt:66 Base address:0xc000 
eth1:2    Link encap:Ethernet  HWaddr 00:10:5A:20:69:C3  
          inet addr:192.168.1.252  Bcast:192.168.1.1  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          Interrupt:66 Base address:0xc000 

输出与刚才配置对应的信息表示绑定成功。


类别:技术文章 | 阅读:312259 | 评论:0 | 标签:ip 绑定多ip 多ip

想收藏或者和大家分享这篇好文章→

“FreeBSD, Debian, CentOS一个网卡绑定多个IP”共有0条留言

发表评论

姓名:

邮箱:

网址:

验证码:

公告

taoCMS发布taoCMS 3.0.2(最后更新21年03月15日),请大家速速升级,欢迎大家试用和提出您宝贵的意见建议。

捐助与联系

☟请使用新浪微博联系我☟

☟在github上follow我☟

标签云