[英]Multiple IP configuration on multiple NIC on same server
在我的服务器中,我有两个NIC(例如eth0和eth1)。 我在centOS 6.3中为两个NIC配置了单独的IP,如下所示: ifcfg-eth0
TYPE=Ethernet BOOTPROTO=none IPADDR=10.1.1.1 PREFIX=27 GATEWAY=10.1.1.10 DNS1=10.1.1.11 DEFROUTE=yes IPV4_FAILURE_FATAL=yes IPV6INIT=no NAME="Auto eth0" UUID=4aa88f11-51ed-46de-9c54-1dd2bbbf286a ONBOOT=yes HWADDR=1c:df:0f:1d:73:23 LAST_CONNECT=1359432400 NETMASK=X.X.X.X DEVICE=eth0 USERCTL=no
的ifcfg-eth1的
TYPE=Ethernet
BOOTPROTO=none
IPADDR=10.1.1.2
PREFIX=28
GATEWAY=10.1.1.10
DNS1=10.1.1.11
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="Auto eth1"
UUID=4aa88f11-51ed-46de-9c54-1dd2bbbf286a
ONBOOT=yes
HWADDR=1c:df:0f:1d:73:23
LAST_CONNECT=1359432400
NETMASK=X.X.X.X
DEVICE=eth1
USERCTL=no
在这里,我无法一次ping通这两个IP。 只有一个在工作。 甚至“ ifconfig”显示了预期的输出。
自CentOS / RHEL6起(较新的内核),rp_filter设置发生了变化。 有关完整说明,请点击以下链接:
http://z-issue.com/wp/linux-rhel-6-centos-6-two-nics-in-the-same-subnet-but-secondary-doesnt-ping/
简而言之,有两种选择:
1)编辑文件“ /etc/sysctl.conf”
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.all.rp_filter = 2
编辑后,它应如下所示:
net.ipv4.conf.default.rp_filter = 2
net.ipv4.conf.all.rp_filter = 2
通过键入重新加载配置
sysctl -p
现在您应该能够ping通这两个IP
2)第二种选择是使用绑定,但是它可能需要您的交换机端配置。 我在这里使用802.3ad负载平衡模式接口eth1和eth2编写示例配置
在/ etc / sysconfig / network中的脚本/的ifcfg-bond0
DEVICE=bond0
USERCTL=no
ONBOOT=yes
BOOTPROTO=none
IPADDR=192.168.10.52
NETMASK=255.255.255.0
NETWORK=192.168.10.0
GATEWAY=192.168.10.1
BONDING_OPTS="miimon=100 mode=4"
的/ etc / SYSCONFIG /网络的脚本/的ifcfg-bond0:0
DEVICE=bond0:0
USERCTL=no
ONBOOT=yes
IPADDR=192.168.10.53
NETMASK=255.255.255.0
NETWORK=192.168.10.0
GATEWAY=192.168.10.1
BONDING_OPTS="miimon=100 mode=4"
在/ etc / sysconfig / network中的脚本/的ifcfg-eth1的
DEVICE=eth1
ONBOOT=yes
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
USERCTL=no
在/ etc / sysconfig / network中的脚本/的ifcfg-ETH2
DEVICE=eth2
ONBOOT=yes
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
USERCTL=no
您已将它们设置在其他子网中。 因此,您必须设置路由以在不同网络之间进行路由。
检查您的netstat -nr
以查看路由表的外观。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.