今天我的 Ubuntu 17.10 服务器突然无法连接到自己的 IP 服务。对于网络上的其他计算机而言,它似乎运行正常;例如,其他计算机可以 ping 它,并且可以访问服务器的 Web 服务并与服务器建立 SSH 连接。
但是,服务器本身甚至无法 ping 通其他计算机可以轻松访问的自己的 IP 地址。服务器可以 ping 通网络上的其他计算机以及 LAN 之外的计算机,但不能 ping 通自己。(不过,服务器可以 ping 通其本地主机地址。)
我甚至不知道从哪里开始查找。日志没有问题,处理器负载正常,网络活动正常,在错误出现前几小时内更新过的唯一软件是 Google Chrome 浏览器。
网络设置如下:
$ ip -4 addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
2: p4p1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
inet 192.168.2.2/24 brd 192.168.2.255 scope global p4p1
valid_lft forever preferred_lft forever
$ ip -4 route
default via 192.168.2.254 dev p4p1 onlink
169.254.0.0/16 dev p4p1 scope link metric 1000
192.168.2.0/24 dev p4p1 proto kernel scope link src 192.168.2.2
和,
$ ping -c 1 192.168.2.3
PING 192.168.2.3 (192.168.2.3) 56(84) bytes of data.
64 bytes from 192.168.2.3: icmp_seq=1 ttl=64 time=1.06 ms
--- 192.168.2.3 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 1.067/1.067/1.067/0.000 ms
但,
$ ping -c 1 192.168.2.2
PING 192.168.2.2 (192.168.2.2) 56(84) bytes of data.
--- 192.168.2.2 ping statistics ---
1 packets transmitted, 0 received, 100% packet loss, time 0ms
我在 Google 上找不到任何关于无法 ping 自身但其他所有计算机似乎都可以访问的服务器的答案。有什么建议吗?
答案1
罪魁祸首原来是 sshguard,它使用自己的 iptables,当我为了定位问题而关闭标准防火墙时,它并没有受到影响。
我已在 sshguard 中将该 IP 地址列入白名单,但日志显示它显然被忽略了。(我已经缩小了本地 IP 尝试建立 SSH 连接的原因范围;这不是攻击。)以下是 /var/log/sshguard 中显示的日志条目:
Sep 18 11:28:13 home sshguard[983]: 192.168.2.2: not blocking (on whitelist)
Sep 18 11:28:13 home sshguard[15315]: Blocking 192.168.2.2 for 240 secs (3 attacks in 121 secs, after 1 abuses over 121 secs)
我必须查明为什么 sshguard 忽略白名单或更改为另一种限制机制。