大家好,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
,它应该知道从那里去哪里。
您的其他接口eth1
和eth2
路由器都有路由,但它们不参与默认路由。这可能是您 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 的任何流量。