在不同的子网上正确配置两个eth接口

bea*_*eld 7 networking linux routing

任何在 Linux 和网络方面都有丰富背景的人可以帮助我吗?我已经在互联网上搜索了一个明确的答案,我什至比较了一个我可以访问的具有相同设置的盒子,但我无法让我的盒子工作。

基本情况是这样的:

============================

RHEL 6 Linux 机器有两个以太网接口:

eth0 = 10.10.5.10/24
eth1 = 10.10.6.10/24

[root@box ~]# netstat -nr
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
10.10.5.0      0.0.0.0         255.255.255.0   U         0 0          0 eth0
10.10.6.0      0.0.0.0         255.255.255.0   U         0 0          0 eth1
0.0.0.0        10.10.5.254     0.0.0.0         UG        0 0          0 eth0
Run Code Online (Sandbox Code Playgroud)

ip 转发已启用并处于活动状态。

问题:

与 eth1 或 10.10.6.x 网络位于同一子网上的客户端可以 ping 和 telnet 到此机器上 eth1 上运行的资源。

但是,任何其他子网上的客户端都不能。所以从我的工作站,我可以整天 ping 和 telnet 到盒子的 eth0 上的资源,但在 eth1 上什么也没有......

将此设置与我环境中的另一个类似性质的盒子进行比较,没有发现明显的差异。

以下是一些文件:

# cat ifcfg-eth0
DEVICE="eth0"
BOOTPROTO="none"
HWADDR="Omitted"
IPADDR="10.10.5.10"
NETMASK="255.255.255.0"
NETWORK="10.10.5.0"
ONBOOT="yes"
TYPE="Ethernet"
USERCTL="no"

# cat ifcfg-eth1
DEVICE="eth1"
BOOTPROTO="none"
HWADDR="omitted"
IPADDR="10.10.6.10"
NETMASK="255.255.255.0"
NETWORK="10.10.6.0"
ONBOOT="yes"
TYPE="Ethernet"
USERCTL="no"

# cat route-eth0 
default via 10.10.5.254 dev eth0

# cat /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=box
GATEWAY=10.10.5.254
NOZEROCONF=yes
Run Code Online (Sandbox Code Playgroud)

您能提供的任何帮助将不胜感激!

谢谢。

添加更多信息,但包括简洁:

# ip addr
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    inet 10.10.5.10/24 brd 10.10.5.255 scope global eth0
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    inet 10.10.6.10/24 brd 10.10.6.255 scope global eth1
Run Code Online (Sandbox Code Playgroud)

NcA*_*NcA 1

您的默认网关位于 10.10.5.254,但 eth1 接口配置为 10.10.6.10/24。这实际上意味着 10.10.6.x 接口无法访问默认网关,因为它们位于不同的子网中。

需要更一般的网络信息来正确评估您的选择,但是迄今为止发布的两个选项是:

  • 确认这两个网络实际上是 /24 子网,如果是,请在该接口的配置文件中为 eth1 设置正确的网关
  • 如果这些接口是较大超网的一部分,请将两个接口配置为位于 /16 子网上,以使用相同的网关。