Если включить это правилоКак перезапустить службу Java без сбоев с помощью брандмауэра/iptables?
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to 8080
Затем соединение, поступающее на порт сервера 80 перенаправляется на локальный хост: 8080. Если я хочу перезапустить службу, могу ли я просто запустить службу на другом порту? Скажем, порт 8081 и повторно прокладывайте файрволу к
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to 8081 # Apparently -A won't work. I have to replace the rule, not add it. But I don't know how to do it yet
Однако насчет установленных TCP сокетов соединений на NAT-эд порт 8080? Будут ли они удалены сразу после изменений брандмауэра? В качестве альтернативы, они будут продолжать работать до тех пор, пока не будет закрыт обычный TCP-сокет?
Если это так, то это приведет к перезапуску приложения без сбоев, поскольку старый экземпляр на порту 8080 на изящном завершении и новый на порту 8081 с новыми функциями.
Правильно ли это рассуждение?
Можете ли вы разработать команду, которая сделает переключатель и сохранит установленные соединения со старым портом? –
Отслеживание соединений начинается, как только загружается модуль «ip_conntrack». Перезапуск Iptables - это остановка, а затем запуск функций. В '/ etc/init.d/iptables', функция 'stop' выполняет: ' if ["x $ IPTABLES_MODULES_UNLOAD" = "xyes"]; затем echo -n $ "$ {IPTABLES}: Разгрузочные модули:" ' Настройка IPTABLES_MODULES_UNLOAD = нет в'/etc/sysconfig/iptables' и 'service iptables restart' не должна выгружать модуль ip_conntrack, а соединения shouldn ' t. – valch85