我有一台安装了 2 个物理网卡的 Red Hat 6.3 机器。我在 eth0 上也有一个虚拟适配器。
eth1 是 10.3.80.215 - 这是具有 vmware(vcenter 等)基础设施服务器的网络
eth0 是 10.231.1.2,这是我的 vcloud director 服务器的 http 连接。
eth0:0 是 10.231.1.3,它是控制台代理连接。
我可以从任何地方 ping 通任何 IP,但无法从 10.3.80 子网上的任何机器 ping 通 10.231 地址。
关于如何让它发挥作用,您有什么想法吗?
这是 ifconfig 和路由表。
是否配置
eth0 Link encap:Ethernet HWaddr 00:0C:29:E3:CD:29
inet addr:10.231.1.2 Bcast:10.231.1.255 Mask:255.255.255.0
inet6 addr: fe80::xxx:xxxx:fee3:cd29/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:710145 errors:0 dropped:0 overruns:0 frame:0
TX packets:636043 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:146272731 (139.4 MiB) TX bytes:340604630 (324.8 MiB)
eth0:0 Link encap:Ethernet HWaddr 00:0C:29:E3:CD:29
inet addr:10.231.1.3 Bcast:10.231.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
eth1 Link encap:Ethernet HWaddr 00:0C:29:E3:CD:33
inet addr:10.3.80.215 Bcast:10.3.80.255 Mask:255.255.255.0
inet6 addr: fe80::xx:xxxx:fee3:cd33/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:26643771 errors:0 dropped:0 overruns:0 frame:0
TX packets:6416677 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:4879371482 (4.5 GiB) TX bytes:1349011239 (1.2 GiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:121636 errors:0 dropped:0 overruns:0 frame:0
TX packets:121636 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:12040727 (11.4 MiB) TX bytes:12040727 (11.4 MiB)
路线
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.231.1.0 * 255.255.255.0 U 0 0 0 eth0
10.3.80.0 * 255.255.255.0 U 0 0 0 eth1
link-local * 255.255.0.0 U 1002 0 0 eth0
link-local * 255.255.0.0 U 1003 0 0 eth1
default 10.231.1.1 0.0.0.0 UG 0 0 0 eth0
答案1
也许您启用了反向路径过滤。检查/proc/sys/net/ipv4/conf/*/rp_filter
并确保 eth0 和 eth1 的值为 0(已禁用)(或 2,松散)。默认值已从 RHEL5 更改为 RHEL6。请参阅http://blog.yibi.org/2012/01/05/reverse-path-filtering-in-rhel-6
答案2
您可能需要打开转发。 cat /proc/sys/net/ipv4/ip_forward
如果为 0,则服务器不会在接口之间转发数据包。您可以使用以下命令进行设置/etc/sysctl.conf
:
net.ipv4.ip_forward = 0
或者您可以通过运行以下命令立即更改该值:
echo "1" > /proc/sys/net/ipv4/ip_forward.
看看是否有用。
答案3
这可能是由 redhat 6 及以上版本引入的反向路径过滤引起的。您可能需要查看以下帖子以找到解决方案: