У меня есть настройка 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 клиентскими устройствами.
Однако проблема, с которой я сталкиваюсь, заключается в том, что установленный tcp таймаут 1200 применяется только к устройствам в диапазоне ip от 192.168.0.2 до 192.168.0.255.Все устройства с ips в диапазоне от 192.168.1.x до 192.168.255.x по-прежнему используют 5-дневный тайм-аут по умолчанию.
Это оставляет слишком много «УСТАНОВЛЕННЫХ» соединений в / proc / net /Таблица ip_conntrack, и она в конечном итоге заполняется, даже если они должны быть отключены в течение 20 минут, они показывают, что у них истечет время ожидания через 5 дней.
Очевидно, что я где-то пропустил настройку или что-то неправильно настроено.
Есть предложения?
Спасибо