如何在RHEL6中配置多个物理以太网端口?

如何在RHEL6中配置多个物理以太网端口?

我有一个带有 4 个以太网端口(eth0、eth1、eth2 和 eth3)的设备。我配置了一些端口,结果ifconfig如下:

$ ifconfig
eth0      Link encap:Ethernet  HWaddr 00:90:0B:68:D9:ED
          inet addr:192.168.0.81  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: 2601:1c0:5200:e950:290:bff:fe68:d9ed/64 Scope:Global
          inet6 addr: fe80::290:bff:fe68:d9ed/64 Scope:Link
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:3382 errors:0 dropped:1 overruns:0 frame:0
          TX packets:9717 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:363791 (355.2 KiB)  TX bytes:13339318 (12.7 MiB)
          Memory:dfe60000-dfe7ffff

eth1      Link encap:Ethernet  HWaddr 00:90:0B:68:D9:EE
          inet addr:192.168.0.90  Bcast:192.168.0.255  Mask:255.255.255.0
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:44 errors:0 dropped:1 overruns:0 frame:0
          TX packets:5 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:2919 (2.8 KiB)  TX bytes:438 (438.0 b)
          Memory:dfe40000-dfe5ffff

eth3      Link encap:Ethernet  HWaddr 00:90:0B:68:D9:F0
          inet addr:192.168.0.100  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::290:bff:fe68:d9f0/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:308 errors:0 dropped:0 overruns:0 frame:0
          TX packets:7 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:20454 (19.9 KiB)  TX bytes:618 (618.0 b)
          Memory:dfe00000-dfe1ffff

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:65536  Metric:1
          RX packets:11986 errors:0 dropped:0 overruns:0 frame:0
          TX packets:11986 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:14067159 (13.4 MiB)  TX bytes:14067159 (13.4 MiB)

所以,我的问题是每个 IP 地址(链接到 eth0、eth1 和 eth3 的 IP 地址)仅当我将以太网电缆插入 eth0 时才能访问。当电缆插入 eth0 时,我可以对所有 3 个设备执行 ping 操作。当插入 eth1 和 eth3 时,我无法 ping 通其中任何一个。当我将它们插入 eth1 和 eth3 时,链路指示灯亮起。

当我跑步时ethtool eth3,它确实说Link detected: yes

有人有什么想法吗?

谢谢!

答案1

这个问题与一个叫做非对称路由— 在一个接口上收到的数据包将在另一个接口上发送其响应,从而使某些 IP 地址无法从网络外部访问。

在这种情况下,收到的 ICMP ping 请求eth1,2,3将被路由回eth0该请求(如果没有物理连接到网络),则将无法代表 进行响应eth1,2,3。解决方案是将反向路径过滤器内核参数的默认值rp_filter从 1 更改为 2,以便所有接口相互独立响应。

  1. 编辑/etc/sysctl.conf以包括,

    $ grep '.rp_filter' /etc/sysctl.conf
    net.ipv4.conf.default.rp_filter = 2
    net.ipv4.conf.all.rp_filter = 2
    net.ipv4.conf.eth0.rp_filter = 2
    net.ipv4.conf.eth1.rp_filter = 2
    net.ipv4.conf.eth2.rp_filter = 2
    net.ipv4.conf.eth3.rp_filter = 2
    
  2. 重新加载配置:

    $ sysctl -p
    

阅读有关该问题的更多信息这里那里

相关内容