![路由网络,子网客户端已断开 TCP 连接](https://linux22.com/image/621957/%E8%B7%AF%E7%94%B1%E7%BD%91%E7%BB%9C%EF%BC%8C%E5%AD%90%E7%BD%91%E5%AE%A2%E6%88%B7%E7%AB%AF%E5%B7%B2%E6%96%AD%E5%BC%80%20TCP%20%E8%BF%9E%E6%8E%A5.png)
我管理一个 Linux 服务器,它也可用作路由器,并在以下网络之间进行路由:
- PPPoE(连接 ISP)(默认网关)
- 有线网络
- 2x VPN 网络(PPTP 和 openVPN)
- 无线 AP(DHCP)
所有主机都可以通过 Linux 服务器、WAN、Wifi、VPN 和 LAN 客户端访问。但有时我无法通过 LAN 和 AP 访问某些网页,以下是示例:现在无法访问 8tracks.com (23.23.196.130)。
首先我尝试从 AP 进行连接(如果我尝试从 LAN 进行连接,结果也是一样)发送了连接建立请求,但没有得到答复。
7秒后关闭连接。
然后我从服务器连接,页面加载成功。
另一个奇怪的是:如果我尝试通过 VPN 连接,连接将会成功。
我对所有网络都有相同的路由设置,所有接口的防火墙规则都是统一的。
我不知道为什么与具有相同配置的其他接口的连接有效。
答案1
您可能还拥有大量伪装/NAT 连接。Linux 在静态哈希表中处理它们,该表可能会溢出。之后,您将遇到这个神秘的问题。
命令
cat /proc/sys/net/netfilter/nf_conntrack_max
你说,这个哈希图的上限是多少。将其乘以 13,然后使用命令设置
echo #muchbiggernumber# >/proc/sys/net/netfilter/nf_conntrack_max
如果这是导致问题的原因,您可以直观地编辑 /etc/sysctl.conf 以使此更改永久生效。