我有 4 台运行 Centos 5 的服务器。它们都有两张以太网网卡。
我已经192.168.1.x
在他们的卡上配置了 IP 地址eth0
。他们都使用自己的eth0
卡连接到同一个交换机,并且都正常工作。
我已经10.72.11.x
在他们的卡上配置了 IP 地址。他们eth1
都使用他们的卡连接到同一个交换机 - 与卡一起使用的交换机不同eth0
-eth1
而且他们并非全部都在工作。
他们的配置文件如下:
DEVICE=eth1
BOOTPROTO=static
IPADDR=10.72.11.236
BROADCAST=10.72.11.191
NETMASK=255.255.255.192
NETWORK=10.72.11.128
HWADDR=84:2B:2B:55:4B:98
IPV6INIT=yes
IPV6_AUTOCONF=yes
ONBOOT=yes
界面正在启动并按我的需要进行配置。
[root@sql1 network-scripts]# ifconfig
**eth0** Link encap:Ethernet HWaddr 84:2B:2B:55:4B:97
inet addr:192.168.1.105 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::862b:2bff:fe55:4b97/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2981 errors:0 dropped:0 overruns:0 frame:0
TX packets:319 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:386809 (377.7 KiB) TX bytes:66134 (64.5 KiB)
Interrupt:36 Memory:da000000-da012800
**eth1** Link encap:Ethernet HWaddr 84:2B:2B:55:4B:98
inet addr:10.72.11.236 Bcast:10.72.11.191 Mask:255.255.255.192
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
Interrupt:48 Memory:dc000000-dc012800
我还添加了route-eth1
如下文件:
10.0.0.0/8 via 10.72.11.254
我觉得路由看起来不错:
[root@sql1 network-scripts]# netstat -rn
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
10.72.11.192 0.0.0.0 255.255.255.192 U 0 0 0 eth1
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth1
10.0.0.0 10.72.11.254 255.0.0.0 UG 0 0 0 eth1
0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth0
但我无法从一台服务器 ping 另一台服务器。
[root@sql1 network-scripts]# ping 10.72.11.235
PING 10.72.11.235 (10.72.11.235) 56(84) bytes of data.
From 10.72.11.236 icmp_seq=1 Destination Host Unreachable
From 10.72.11.236 icmp_seq=2 Destination Host Unreachable
From 10.72.11.236 icmp_seq=3 Destination Host Unreachable
From 10.72.11.236 icmp_seq=4 Destination Host Unreachable
From 10.72.11.236 icmp_seq=5 Destination Host Unreachable
From 10.72.11.236 icmp_seq=6 Destination Host Unreachable
^C
--- 10.72.11.235 ping statistics ---
7 packets transmitted, 0 received, +6 errors, 100% packet loss, time 6033ms, pipe 3
我究竟做错了什么?
答案1
应该注意的是,您的 NIC 无法正常“工作”。您的 ifconfig 输出未显示正常工作链接所需的“RUNNING”。请注意UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
eth0 接口的行。eth1 输出中没有明显的“RUNNING”。根据我的经验,这表明存在低级问题。例如:电缆损坏/断开。
您插入电缆的 NIC 可能不是 eth1 吗?服务器可能会出现一些奇怪的命名。尝试检查 /var/log/messages 的输出,看看它是否报告接口连接(断开)。同样,看看在连接/断开连接时或在启动期间是否收到任何诊断信息。检查这是否发生在所有 5 个盒子上。您可能还想尝试图形配置工具,以防配置文件中出现拼写错误。(system-config-network
)
答案2
考虑一下你的子网设置:
IPADDR=10.72.11.236
BROADCAST=10.72.11.191
NETMASK=255.255.255.192
NETWORK=10.72.11.128
以 2 为基数:
236 is 1110 1100
191 is 1011 1111
192 is 1100 0000
128 is 1000 0000
您的 IP 位于子网之外 - 10.72.11.236 不在 10.72.11.128/26 中,10.72.11.172 在。17.72.11.235 也不在,但 10.72.11.171 在。请更改您的 IP 或将广播更改为 .255,将网络更改为 .192。或者(除非您有要求),在 10.72.11.0 的下半部分(即 10.72.11.0/26)中运行,或者只使用 /24 并省去麻烦。
答案3
尝试使用 ipcalchttp://jodies.de/ipcalc,在配置网络和子网时有很大帮助。
# ipcalc 10.72.11.236/255.255.255.192
Address: 10.72.11.236 00001010.01001000.00001011.11 101100
Netmask: 255.255.255.192 = 26 11111111.11111111.11111111.11 000000
Wildcard: 0.0.0.63 00000000.00000000.00000000.00 111111
=>
Network: 10.72.11.192/26 00001010.01001000.00001011.11 000000
HostMin: 10.72.11.193 00001010.01001000.00001011.11 000001
HostMax: 10.72.11.254 00001010.01001000.00001011.11 111110
Broadcast: 10.72.11.255 00001010.01001000.00001011.11 111111
Hosts/Net: 62 Class A, Private Internet
理查德
答案4
进入 eth0 的入站流量应通过 eth0 返回,反之亦然。尝试执行 TCPdump 以检查流量流向何处。
您还需要基于策略的路由来实现这一点:请参阅Linux 2 网卡路由取决于使用的接口