gpt4 book ai didi

timeout - ip_conntrack_tcp_timeout_established 未应用于整个子网

转载 作者:行者123 更新时间:2023-12-04 12:35:45 25 4
gpt4 key购买 nike

我有一个 nat 设置,其中连接了数千个设备。网关的互联网由 eth0 提供,LAN 侧的设备连接到网关上的 eth1。

我对 iptables 进行了以下设置:

/sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
/sbin/iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
/sbin/iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT

eth1 配置如下:
    ip: 192.168.0.1
subnet: 255.255.0.0

客户端分配的 ips 为 192.168.0.2 到 192.168.255.254。

在/etc/sysctl.conf 中,我对 ip_conntrack_tcp_timeout_established 进行了以下设置
net.ipv4.netfilter.ip_conntrack_tcp_timeout_established=1200

由于连接到此网关的客户端设备数量众多,我无法使用默认的 5 天超时。

这似乎运行良好,并且已经使用超过 10000 台客户端设备测试了该设置。

但是,我看到的问题是 1200 的 tcp 建立超时仅适用于 192.168.0.2 到 192.168.0.255 ip 范围内的设备。 ips 在 192.168.1.x 到 192.168.255.x 范围内的所有设备仍在使用 5 天默认超时。

这会在/proc/net/ip_conntrack 表中留下太多“已建立”的连接,并且最终会填满,即使它们应该在 20 分钟内超时,但它们显示它们将在 5 天内超时。

显然我在某处缺少设置或配置不正确。

有什么建议?

谢谢

最佳答案

正如@StephenHankinson 所提到的,更改 sysctl 变量时的现有连接(参见 conntrack -L )不会重置超时。这通常应该不是问题,因为这些连接最终会结束,但是可以使用 conntrack -F 强制 NFCT 忘记所有 CT。 .但是请注意,如果您的规则集不允许不以 TCP SYN 开头的"new"连接,这可能会终止现有连接。

关于timeout - ip_conntrack_tcp_timeout_established 未应用于整个子网,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9322325/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com