Wenn diese Regel aktivierenWie startet man einen Java-Dienst ohne Unterbrechung mit Firewall/iptables?
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to 8080
Dann Verbindungen kommen an den Server-Port 80 an localhost umgeleitet: 8080. Wenn ich den Dienst neu starten möchte, kann ich den Dienst einfach an einem anderen Port starten? Sagen Sie Port 8081 und erneut Route des Firewalling zu
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
Was aber ist mit den etablierten TCP-Socket-Verbindungen auf dem NAT-ed Port 8080? Werden sie sofort nach der Änderung der Firewall gelöscht? Oder werden sie weiterarbeiten, bis ein normaler TCP-Socket schließt?
Wenn dies der Fall ist, dann funktioniert dies ein Neustart der Anwendung ohne Unterbrechung durch die alte Instanz auf Port 8080 auf eine ordnungsgemäße Herunterfahren und die neue auf Port 8081 mit den neuen Funktionen.
Ist diese Argumentation korrekt?
Können Sie den Befehl erarbeiten, der den Schalter machen und die bestehenden Verbindungen zu den alten Hafen halten? –
Verbindungsverfolgung beginnt, sobald die ‚ip_conntrack‘ Modul geladen wird. Iptables Neustart ist ein Stopp und startet dann Funktionen. In '/ etc/init.d/iptables', die 'Stop' Funktion ausführt: ' if [ "x $ IPTABLES_MODULES_UNLOAD" = "xyes"]; dann echo -n $ "$ {IPTABLES}: Entladen von Modulen:" ' IPTABLES_MODULES_UNLOAD = no in'/etc/sysconfig/iptables' und 'service iptables restart' einrichten sollte das Modul ip_conntrack nicht entladen, und Verbindungen sollten nicht ' t fallen gelassen werden. – valch85