我无法 ping 我的网关,但我可以通过 ssh 连接到远程服务器。为什么?

zjk*_*zjk 2 linux ping

我正在尝试配置我的宿舍网络。我在 ubuntu 上工作。宿舍楼好像有个主机作为网关192.168.22.254

我的route -n看起来像这样:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.22.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     1000   0        0 eth0
0.0.0.0         192.168.22.254  0.0.0.0         UG    100    0        0 eth0
Run Code Online (Sandbox Code Playgroud)

我无法ping通192.168.22.254

$ ping 192.168.22.254
PING 192.168.22.254 (192.168.22.254) 56(84) bytes of data.
From 192.168.22.254 icmp_seq=3 Packet filtered
From 192.168.22.254 icmp_seq=5 Packet filtered
From 192.168.22.254 icmp_seq=7 Packet filtered
^C
--- 192.168.22.254 ping statistics ---
7 packets transmitted, 0 received, +3 errors, 100% packet loss, time 6014ms
Run Code Online (Sandbox Code Playgroud)

但是我可以通过 ssh 连接到具有类似 ip 的学校服务器202.XXX.XXX.XXX,并从该服务器获得互联网访问权限。

  • 这是正常的吗?
  • 我迫切需要一些基本的网络知识,有什么好的书籍或网络资源吗?

谢谢!

Mad*_*ter 6

1)不正常,但肯定不是很不寻常。许多网络不允许任何人 ping 基础设施,尤其是当它们为相对不受信任的最终用户提供服务时。

一个更有用的测试主机是否真的可用是尝试 ping 它,然后检查您的 ARP 缓存中的条目。要参与第 2 层对话(在以太网上充当您的默认网关肯定算作),主机必须响应 ARP 请求,否则您将无法与它对话。从您的 ubuntu 主机,尝试

arp -a -n|grep 22.254
Run Code Online (Sandbox Code Playgroud)

如果你看到类似的东西

? (192.168.22.254) at 00:c0:f0:3b:4d:eb [ether] on eth0
Run Code Online (Sandbox Code Playgroud)

然后它就可以使用了,即使它正在过滤 ICMP 回声请求(ping 请求)。如果你得到

? (192.168.22.253) at <incomplete> on eth0
Run Code Online (Sandbox Code Playgroud)

那么它真的下降了。

2)绝对的圣经是史蒂文斯的“TCP/IP Illustrated”,但不是轻读。然而,当你读到最后一卷的结尾时,你会知道很多!其他人可能有更轻松阅读的建议。