分配了错误的网关

分配了错误的网关

大家好,serverfault。我目前遇到了一些问题。目前我总共有 7 台服务器。其中 6 台使用 Ubuntu 12.04。另一台是 clearos。目前 clearos 机器连接到调制解调器/互联网,然后连接到我的 poweredge 3348 管理交换机。

其中 3 台机器没有问题,并且我可以 ping 网关地址 10.0.1.1,并且可以从网关 ping 每台服务器的所有 3 个网卡的 IP,没有任何问题。

其余 3 台服务器有问题。每台服务器只有 1 个网卡可以从网关 ping 通,其余两个网卡不可用。

这是我的邮件服务器的一个示例。

miverson@mail:~$ ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0b:db:e2:96:5a  
          inet addr:10.0.1.220  Bcast:192.168.255.255  Mask:255.255.255.0
          inet6 addr: fe80::20b:dbff:fee2:965a/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:26013 errors:0 dropped:0 overruns:0 frame:0
          TX packets:17550 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:3801680 (3.8 MB)  TX bytes:1921219 (1.9 MB)
          Interrupt:28 

eth1      Link encap:Ethernet  HWaddr 00:0b:db:e2:96:5b  
          inet addr:10.0.1.221  Bcast:192.168.255.255  Mask:255.255.255.0
          inet6 addr: fe80::20b:dbff:fee2:965b/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:8131 errors:0 dropped:0 overruns:0 frame:0
          TX packets:11 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:597342 (597.3 KB)  TX bytes:2222 (2.2 KB)
          Interrupt:29 

eth2      Link encap:Ethernet  HWaddr 00:11:25:bf:42:59  
          inet addr:10.0.1.222  Bcast:192.168.255.255  Mask:255.255.255.0
          inet6 addr: fe80::211:25ff:febf:4259/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:6581 errors:0 dropped:0 overruns:0 frame:0
          TX packets:20 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:459462 (459.4 KB)  TX bytes:3672 (3.6 KB)

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:54 errors:0 dropped:0 overruns:0 frame:0
          TX packets:54 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:4644 (4.6 KB)  TX bytes:4644 (4.6 KB)

我从该服务器发出 sudo route 命令

miverson@mail:~$ sudo route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         10.0.1.1     0.0.0.0         UG    0      0        0 eth0
10.0.1.0        *               255.255.255.0   U     0      0        0 eth0
10.0.1.0        *               255.255.255.0   U     0      0        0 eth1
10.0.1.0        *               255.255.255.0   U     0      0        0 eth2

和我的 arp 命令

miverson@mail:~$ arp
Address                  HWtype  HWaddress           Flags Mask            Iface
10.0.1.210                  ether   00:0b:db:e7:56:e8   C                     eth0
10.0.1.1              ether   00:0d:56:b9:33:be   C                     eth0
10.0.1.144               ether   90:27:e4:f4:9d:60   C                     eth0
MySQL.therabbitry.org    ether   00:0b:db:e7:56:e2   C                     eth0

当我 ping 10.0.1.220 时,我得到了响应并且一切正常,但如果我从网关 ping 10.0.1.221 或 10.0.1.222,我就会得到 100% 的数据包丢失。

帮助我并让我知道我的解决方案是什么,或者如果您有任何其他问题。

编辑:我刚刚意识到我的 Bcast 地址看起来不正确。有什么建议吗?Eth0 Eth1 Eth2 都是通过 dhcp 设置的,不是静态的。Matt

答案1

有几件事:

所有接口的广播地址均不正确。假设网络掩码 255.255.255.0 正确,则应将其设置为 10.0.1.255。

您的默认路由似乎设置正确,但它只能在单个接口上使用。请这样想:您的默认路由是最后选择的路由。如果您的服务器有知道如何到达您希望流量去往的地方,它会尝试默认路由。您的默认路由说,尝试通过 找到位于 10.0.1.1/24 的网关eth0,它应该知道从那里去哪里。

您的其他接口eth1eth2路由器都有路由,但它们不参与默认路由。这可能是您 ping 成功返回 10.0.1.220 的原因。假设您没有进行任何 VLANing,只要您的所有接口都有相同的正确子网掩码,它们就应该能够进行“链路本地”通信,也就是说,无需路由器参与,因为所有接口可能都在同一个子网中。

这是你的线索。要么你的路由器配置错误,要么你的交换机正在做一些破坏第 2 层连续性的事情。另外,请查看这个关于如何子网划分工作原理

答案2

正如已经kce 指出,广播地址不正确,尽管这不会导致您的帖子中提到的任何问题。

广播地址是在 DHCP 服务器范围内设置的选项(DHCP 选项代码 28) - 如果当前设置为 192.168.255.255,则可以轻松更改。

正如您已经在其他“工作”机器上看到的那样,没有什么特别的魔法可以让 IP 连接正常工作 - 只要配置并连接接口,IP 地址就可以访问。最简单的调试选项就是运行 来查看tcpdump -i eth1 -v -n流量(最好在eth1从 10.0.1.1 运行 ping 到 的地址时运行)。鉴于这些症状,我强烈怀疑存在连接问题 - 您可能根本看不到来自 10.0.1.1 的任何流量。

相关内容