Вот моя конфигурация.
У меня есть лак, прослушивающий порт 80 и 2 веб-сервера (tomcat) через порт 8080 и 8081 и https 4430 и 4431.
HTTP-трафик идет от лака до 1 веб-сервера. Когда мне нужно обновить приложение, я закрываю один tomcat, обновляю код, перезагружаюсь и изменяю конфигурацию лака, чтобы перейти на обновленный tomcat.
Мне нужно сделать то же самое для HTTP-трафика. Это небольшой объем трафика, и мне не нужно кэширование, поэтому я решил использовать iptables.
Итак, я добавил следующее правило:
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 443 -j REDIRECT --to-port 4430
и когда мне нужно переключиться на другого кота, я делаю:
iptables -t nat -D PREROUTING -i eth0 -p tcp --dport 443 -j REDIRECT --to-port 4430
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 443 -j REDIRECT --to-port 4431
Казалось, что работает, но через несколько дней у всех машин проблемы с подключением. Лак не подключается к tomcat, не работает поиск DNS и т. Д.
Я нашел в / var / log / messages тысячи:
Mar 27 10:04:15 ip-10-72-254-31 kernel: [2112599.753509] nf_conntrack: table full, dropping packet.
Похоже, что завершение работы iptables помогает устранить проблемы с подключением.
Итак, я могу использовать iptables так, как я его использую?
Как я могу предотвратить проблему "таблица заполнена, отбрасывание пакета"?
Что еще я могу использовать для перенаправления моего трафика https?