首页 文章

同一服务器上多个NIC上的多个IP配置

提问于
浏览
2

在我的服务器中,我有两个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”显示预期的输出 .

2 回答

  • 0

    从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”

    在以下行中将值从1更改为2:

    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
    
  • 4

    您已将它们设置在不同的子网上 . 因此,您必须设置路由以在不同网络之间路由 .

    检查 netstat -nr 以查看路由表的外观 .

相关问题