CentOS 6,2个网卡,1个网关,1个网卡不能正常工作

我有一个CentOS 6安装,有1个网卡,eth0,工作正常

我添加了另一个网卡eth1 。 两个NIC都在同一台交换机上,并且在同一个LAN上。

我将ifcfg-eth0复制到ifcfg-eth1 ,然后简单地更改DEVICE=IPADDR=HWADDR= iines。

设置/etc/sysconfig/network-scripts/ifcfg-eth1 ,我可以整天从外部机器ping eth1 ,这很好。

但是,如果我尝试从服务器内部ping( ping -Ieth1 google.com ),我没有得到任何回应,而ping -Ieth0 google.com工作正常。

我已经从ifcfg-eth0ifcfg-eth1删除了GATEWAY=行,并将GATEWAY=放在/etc/sysconfig/network

这里是我的混淆的configuration文件:

为eth0
DEVICE = eth0的
BOOTPROTO =静态
IPADDR = 192.168.1.40
NETMASK = 255.255.255.0
HWADDR = 00:00:23:45:67:8F
NM_CONTROLLED =无
ONBOOT = YES
TYPE =以太网
IPV6INIT =无
DNS1 = 192.168.1.240
DNS2 = 192.168.1.244

ETH1
DEVICE = eth1的
BOOTPROTO =静态
IPADDR = 192.168.1.41
NETMASK = 255.255.255.0
HWADDR = 00:00:23:45:67:99
NM_CONTROLLED =无
ONBOOT = YES
TYPE =以太网
IPV6INIT =无
DNS1 = 192.168.1.240
DNS2 = 192.168.1.244

networking
NETWORKING_IPV6 =无
HOSTNAME = MYSERVER
NETWORKING = YES
GATEWAY = 192.168.1.2

我的iptables -L -v目前是完全空的。 而我没有使用SELinux。

永远不要设置两个接口到同一个子网,这可能不会按需要工作。 如果你检查ip ro的输出,你就会明白Linux主要是基于目的地的路由。 尽pipe基于源的路由是可能的 ,但在实践中却是非常罕见的。 我只能记得有一次我需要这样做,不pipe是什么原因。

你误会了ping -I做了什么,因此混乱。 从男人:

-I接口地址

 Set source address to specified interface address. 

Ping不发送数据包槽-I接口。 当一个数据包准备好发出时,内核会查看目标IPip ro ,并根据这两件事情决定使用哪个接口。 它不查看数据包的源IP

– 如果用于设置数据包的源IP。 当数据包stream出时,交换机知道你的IP来自eth0的MAC,所以它在那里发送响应。 但是,eth0会删除所有未被发送到自己的IP(或广播)的东西。 在eth0和eht1之间没有“神奇的内部桥接”,除了你在ip ro看到的外。 所以答案永远不会达到eth1。

ip ro是现代化的弃用route替代品。

由于您使用相同的交换机/网关,您可能想要绑定 eth0和eth1。 然后在bond0接口上设置你的两个IP地址(ifcfg-bond0)。 这是一个标准的做法,将作为一种魅力。

要完全隔离eth0和eth1之间的stream量,最好将eth1设置为不同的IP子网,例如192.168.2.40,并使用不同的路由器/网关:)

 net.ipv4.conf.default.rp_filter = 2 net.ipv4.conf.all.rp_filter = 2 

当出站stream量的路由与传入stream量的路由不同时,报文被丢弃

丹尼尔 –

看来你的问题是因为configuration的限制而存在的。 在同一LAN /子网上有两个接口,但其中一个必须是默认路由。 运行此命令以validation您的路由默认为eth0,这表示当您试图通过eth1强制stream量时,您将无法连接networking外的任何设备。

 route 

它应该看起来像这样:

内核IP路由表目标网关Genmask标志度量参考使用Iface

eth0。192.168.1.0 * 255.255.255.0 U 0 0 0 eth0

link-local * 255.255.0.0 U 1002 0 0 eth0

默认192.168.1.0 0.0.0.0 UG 0 0 0 eth0

要进行完整性检查,请尝试通过该端口ping本地到您的LAN的东西:

 ping -Ieth1 192.168.1.2