我的网络上有两台服务器。
服务器1运行 TrueNas(BSD),并在 iocage jail 中运行多个应用程序。它通过 3-nic LAGG 连接到网络。
服务器2是一个 OpenMediaVault(Debian)安装,其中有多个应用程序在通过单个物理网卡连接的 Docker 容器中运行。
两台服务器都连接到同一个 TP-Link 管理型交换机。
我正在尝试入狱服务器1它运行 borgbackup 来与 HealthChecks 容器建立 http 连接服务器2。我无法从 borgbackup jail 的控制台 ping 出服务器2或者向 docker 容器发出 curl 请求,即使它已启动并且可以在子网上的任何地方工作,包括服务器1在监狱外。如果我然后转到控制台服务器2并 ping 监狱的 IP,在丢失(超时)8-10 次 ping 之后,所有通信暂时都可以进行,这让我相信这是一个 ARP 问题,但我不确定如何解决它。
其他可能不相关的怪异现象:
- 该网络是 /21 大小的网络,并且两台机器位于不同的 /24 子网中(所有节点都配置为 /21,因此这实际上并不重要)。
- 我注意到 jail 从来没有能够从 DHCP 服务器获取 IP 地址(我通常为网络上的所有 IP 分配保留 DHCP),并且我必须手动为我的所有 jail 分配 IP服务器1。
- 当连接不工作时,从 Server2 到 jail IP 的 ping 会超时。从 jail 到 Server2 的 ping 返回 ping:sendto:主机已关闭。
对于社区机器人:主要的问题是为什么在我认为是 arp 缓存过期之后这个通信通道会失败,以及我该如何修复它?
编辑:在监狱上禁用 VNET 似乎可以解决这个问题,但我希望能够保持 VNET 处于启用状态。