我在 Ubuntu Server 12.04 盒子中遇到了一个奇怪的问题。我刚刚在盒子上添加了一个无线网卡并对其进行了配置。无线工作正常,但有线连接停止响应。
如果我禁用新的无线 ( ifdown wlan0
),旧的eth0
会立即开始响应。如果我重新启用无线 ( ifup wlan0
),旧的eth0
会停止响应。
为了更清楚地说明我所说的“停止响应”是什么意思;我无法在服务器上找到任何迹象表明 eth0 被禁用,任何尝试联系该 IP(包括 ping)的尝试都会失败。
出于路由原因,无线网络与有线网络位于不同的子集。无线网络位于 192.168.10.X,有线网络位于 192.168.20.X
我的/etc/network/interfaces
文件
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
auto wlan0
iface wlan0 inet dhcp
wpa-ssid Somewhere Over The Rainbow
wpa-psk foo bar
iface eth0 inet dhcp
post-up /sbin/ethtool -s eth0 wol g
结果如果ifconfig
eth0 Link encap:Ethernet HWaddr 00:01:2e:2d:64:03
inet addr:192.168.20.46 Bcast:192.168.20.255 Mask:255.255.255.0
inet6 addr: fe80::201:2eff:fe2d:6403/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2504 errors:0 dropped:0 overruns:0 frame:0
TX packets:1616 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:263710 (263.7 KB) TX bytes:146295 (146.2 KB)
Interrupt:16 Base address:0x6c00
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:300 errors:0 dropped:0 overruns:0 frame:0
TX packets:300 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:32604 (32.6 KB) TX bytes:32604 (32.6 KB)
wlan0 Link encap:Ethernet HWaddr 1c:4b:d6:c3:2b:53
inet addr:192.168.10.14 Bcast:192.168.10.255 Mask:255.255.255.0
inet6 addr: fe80::1e4b:d6ff:fec3:2b53/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:962 errors:0 dropped:0 overruns:0 frame:0
TX packets:806 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:100025 (100.0 KB) TX bytes:104869 (104.8 KB)
有人能知道为什么这不会让两个接口同时工作吗?以及如何解决这个问题?
答案1
鉴于它们位于不同的子网,这可能是路由问题。听起来应该直接通过 eth0 发送到 192.168.20.0/24 子网的数据包却发送到了(可能是)192.168.10.x 上的默认网关,而该网关不知道如何路由它们。
另外,我需要澄清一下:你是说LAN 上的其他机器无法再成功 ping 服务器,还是说服务器无法再 ping 通 LAN 上的其他机器?