我有一台安装了 Docker 的 Linux 机器,运行着大约 40 个容器。
我注意到 ssh 连接真的很慢,并且所有外部可用的服务都很滞后。
在机器上查看输出时,jnettop
我注意到我一直保持着ARP
300-500K/s 的通信速度。
这会导致网络适配器上产生约 1GB 的流量(我猜)。目前我猜这是导致问题的原因,但无法确定它来自哪里。
===
编辑:
经过记录后,arpwatch
我发现许多无法识别的 IP 正在发出 ARP 请求。
Jan 25 12:33:24 some.server.net systemd-journald[467]: Suppressed 65620 messages from /system.slice/system-arpwatch.slice
Jan 25 12:33:24 some.server.net arpwatch[23240]: bogon 172.229.12.1 28:99:3a:4d:23:91 (0:c0:1d:c0:ff:ee)
Jan 25 12:33:24 some.server.net arpwatch[23240]: bogon 172.252.209.1 28:99:3a:4d:30:af (0:c0:1d:c0:ff:ee)
Jan 25 12:33:24 some.server.net arpwatch[23240]: bogon 5.189.90.1 28:99:3a:4d:30:af (0:c0:1d:c0:ff:ee)
Jan 25 12:33:24 some.server.net arpwatch[23240]: bogon 172.9.33.1 28:99:3a:4d:23:91 (0:c0:1d:c0:ff:ee)
Jan 25 12:33:24 some.server.net arpwatch[23240]: bogon 3.19.150.1 28:99:3a:4d:23:91 (0:c0:1d:c0:ff:ee)
Jan 25 12:33:24 some.server.net arpwatch[23240]: bogon 13.24.23.1 28:99:3a:4d:23:91 (0:c0:1d:c0:ff:ee)
即使我停止了docker并关闭了所有端口(22除外)。然后我写信给托管服务提供商,他们说有这么多的ARP流量是正常的,所以我想我只能忍受它了:)。
答案1
嗯,你可以用tcpdump
它来查看是谁发送了 ARP 请求。如果问题出在你的主机上,你应该修复它,否则找出是谁发送了 ARP 请求并要求机器修复此问题。