我有一台 CentOS 7(以前是 CentOS 6)HP DL385p 服务器,它通过单个 NIC(使用 SFP 转换器转铜线)连接到本地 LAN。
最重要的是,它使用 F5 VPN 客户端从安全的远程位置轮询信息。
它还有一个运行 Nginx 和 PHP 的 docker 容器。
我看到的问题如下。
服务器启动、连接到网络并能够与互联网上的设备以及允许的内部局域网内进行通信。
然后,我们连接 F5 vpn,果然仍然能够访问相同的设备,但增加了通过 vpn 访问远程安全设备。
这将运行一段时间,然后服务器突然发现自己无法与其所连接的本地子网以外的任何设备进行通信。
检查消息、dmesg 和 journalctl( journalctl --this-boot --all --no-pager
) 除了发现 f5 vpn 使用的 tun0 接口被“删除”之外,没有发现任何明显相关的信息。
NetworkManager[1047]: <info> (tun0): device state change: activated -> unmanaged (reason 'removed') [100 10 36]
但是,F5 vpn(f5fpc)报告没有发生任何变化(它正在等待重新连接),虽然这是显示的唯一日志(与问题明显相关),但我相信这不是原因,而只是问题的症状。
我的意思是,我相信 F5 vpn 正在断开连接,因为底层要求已经消失 - 在本地子网之外进行通信的能力(包括远程 BIG-IP 设备)。
如果我检查服务器的路由表,路由看起来很好 - 有一个到有效网关设备的默认路由(它仍然可以到达)。
接口在 iproute2 和 net-tools 中也显示为正确寻址且已启动并运行。
暂时解决问题的最快方法(无法预测下次发生的时间)是运行systemctl restart networking
F5 VPN,然后在连接恢复后重新连接。
我有点困惑,不知道下一步该看什么,以及如何才能增加 journalctl 或 NetworkManager 中正在发生的事情的详细程度。
注意:我之前提到过 CentOS 6(不使用 NetworkManager),那里也发生了同样的事情,我升级了系统,认为可能是 2.6 内核或更旧的驱动程序的问题。CentOS 7 似乎包含足够的 be2net NIC 驱动程序,如 lsmod 所示。我还提到了 docker,只是为了提供尽可能多的细节(在我允许的范围内)。
编辑:如果问题与 F5 VPN 客户端有关,我已经在 devcentral 上发布了帖子 -https://devcentral.f5.com/questions/linux-big-ip-vpn-client-disconnecting-but-potentially-taking-down-the-local-nic-in-its-process-47920
编辑2:
无VPN的路由表:
default via 192.168.3.254 dev eno1 proto static metric 100 192.168.0.0/22 dev eno1 proto kernel scope link src 192.168.0.22 metric 100 172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1
路由表包含:
default via 192.168.3.254 dev eno1 proto static metric 100 192.168.0.0/22 dev eno1 proto kernel scope link src 192.168.0.22 metric 100 192.168.3.254 via 192.168.0.22 dev eno1 proto none metric 1 10.0.0.0/16 via 10.112.194.63 dev tun0 proto none metric 1 10.1.0.0/16 via 10.112.194.63 dev tun0 proto none metric 1 10.2.0.0/16 via 10.112.194.63 dev tun0 proto none metric 1 10.3.0.0/16 via 10.112.194.63 dev tun0 proto none metric 1 10.4.0.0/16 via 10.112.194.63 dev tun0 proto none metric 1 10.5.0.0/16 via 10.112.194.63 dev tun0 proto none metric 1 10.6.0.0/16 via 10.112.194.63 dev tun0 proto none metric 1 10.7.0.0/16 via 10.112.194.63 dev tun0 proto none metric 1 10.8.0.0/16 via 10.112.194.63 dev tun0 proto none metric 1 172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 x.x.x.x via 192.168.3.254 dev eno1 proto none metric 1
最后一个 IP 因隐私原因被删除。