更新:如果我将 IP 更改为,10.0.0.11
一切都会开始正常工作。10.0.1.1
仍然在子网中的同一范围内,/22
所以它仍然可以工作?
我在使用 Ubuntu 14.04 时遇到了一个非常奇怪的问题。我搬家了,并将它连接到一个具有新 IP 范围的新路由器。我暂时将笔记本电脑的 IP 地址更改为旧范围,然后通过 ssh 连接到服务器,并将其静态 IP 更改为与新范围匹配:
auto p1p1
iface p1p1 inet static
address 10.0.1.1
netmask 255.255.252.0
gateway 10.0.0.1
dns-nameservers 8.8.8.8 8.8.4.4
然后我断开连接,并 ssh 到 10.0.1.1,没有问题。当我尝试时,sudo apt-get update
问题开始了。连接会停滞Connecting to archive.ubuntu.com
。快速重启后问题仍然存在。我尝试了不同的网络接口,主板上有一个,PCI 卡上有一个。没有成功。不同的电缆,也没有成功。服务器上没有活动的防火墙。
如果我 ping 默认网关 10.0.0.1,它会显示 。表示的为Destination host unreachable
。arp -n
如果HWAddress
我通过 ssh 连接到默认网关并 ping 服务器,它会正常响应!如果我只从使用 wifi 的笔记本电脑获得响应。不知何故,Ubuntu 服务器只能看到我的笔记本电脑,而看不到其他任何东西,即使连接是通过 wifi 接入点。还有至少 10 个其他设备应该有响应。到底发生了什么?10.0.0.1
incomplete
ping 10.0.3.255 -b
回顾一下:
- 使用 wifi 和其余网络的笔记本电脑都可以正常接入互联网。
- 通过 wifi 连接的笔记本电脑可以访问有线 Ubuntu 服务器。
- Ubuntu 服务器除了上述通过 wifi 连接的笔记本电脑之外,无法 ping 通其他任何设备。
- Ubuntu 服务器
arp -n
显示默认网关为incomplete
。 - 默认网关可以 ping 通 Ubuntu 服务器。
- 网络是
10.0.0.0/22
。
一些可能感兴趣的命令输出:
% ifconfig -a
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:65536 Metric:1
RX packets:5128 errors:0 dropped:0 overruns:0 frame:0
TX packets:5128 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:985588 (985.5 KB) TX bytes:985588 (985.5 KB)
p1p1 Link encap:Ethernet HWaddr b0:48:7a:80:**:**
inet addr:10.0.1.1 Bcast:10.0.3.255 Mask:255.255.252.0
inet6 addr: fe80::b248:7aff:fe80:19aa/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2744 errors:0 dropped:0 overruns:0 frame:0
TX packets:2990 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:931523 (931.5 KB) TX bytes:284296 (284.2 KB)
p2p1 Link encap:Ethernet HWaddr 54:04:a6:60:**:**
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)
。
% ping 10.0.3.255 -b
WARNING: pinging broadcast address
PING 10.0.3.255 (10.0.3.255) 56(84) bytes of data.
64 bytes from 10.0.0.44: icmp_seq=1 ttl=64 time=1.66 ms
64 bytes from 10.0.0.44: icmp_seq=1 ttl=64 time=92.9 ms (DUP!)
64 bytes from 10.0.0.44: icmp_seq=1 ttl=64 time=94.5 ms (DUP!)
64 bytes from 10.0.0.44: icmp_seq=2 ttl=64 time=1.73 ms
。
% arp -n
Address HWtype HWaddress Flags Mask Iface
10.0.0.1 (incomplete) p1p1
10.0.0.44 ether f4:5c:89:8b:**:** C p1p1
。
% route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.0.0.1 0.0.0.0 UG 0 0 0 p1p1
10.0.0.0 0.0.0.0 255.255.252.0 U 0 0 0 p1p1
答案1
你应该使用 arping 来检查路由器 IP 地址,而不是广播 ping
arping 10.0.0.1
我认为路由器上的掩码是错误的(例如 255.255.255.252 而不是 255.255.252.0)