it-swarm.com.de

Port-Routing von 80 auf 8080 beibehalten

Ich benutze eine Amazon EC2-Instanz, die über Ubuntu funktioniert. Gemäß Sicherheitsbeschränkungen kann ich meine Anwendung standardmäßig nicht an Port 80 binden. Daher binde ich ihn einfach an Port 8080 und setze die Routing-Umleitung von Port 80 auf 8080 über den folgenden Befehl:

iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to 8080

Ich stellte jedoch fest, dass beim Neustart des Servers diese Einstellungen nicht mehr aktiv sind, bis ich diesen Befehl erneut aufrufe.

Meine Frage ist also, wie die Umleitungsfunktion des Ports aktiviert werden kann, selbst wenn das System neu gestartet wurde.

22
Ph0en1x

Sie können diesen Befehl in /etc/rc.local einfügen, damit er nach dem Neustart automatisch ausgeführt wird.

18
nux

Verwenden Sie stattdessen den Befehl iptables-save. Firewall-Regeln sollten niemals in das rc.local-Skript aufgenommen werden. Als letztes wird rc.local ausgeführt. Wenn eine Blockierungsregel in rc.local platziert wurde, gibt es einen kleinen Zeitraum, in dem ein Angreifer eine nicht vorhandene Regel ausnutzen kann. In dieser Situation spielt es wahrscheinlich keine Rolle, aber es ist immer noch am besten, keine schlechte Angewohnheit anzunehmen, die Sie später beißen könnte.

15
MeOMy

So lehrt uns die offizielle ipttable-Dokumentation. siehe hier

Fügen Sie diese beiden Zeilen in/etc/network/interfaces hinzu:
pre-up iptables-restore < /etc/iptables.rules post-down iptables-save > /etc/iptables.rules

In der Zeile "post-down iptables-save> /etc/iptables.rules" werden die Regeln gespeichert, die beim nächsten Start verwendet werden sollen.

4
Stavarengo

Unter Ubuntu 16.04 habe ich in /etc/network eine Reihe von Verzeichnissen entdeckt, in denen Skripte zu verschiedenen Zeiten während der Netzwerkinitialisierung und des Herunterfahrens ausgeführt werden:

if-down.d
if-post-down.d  
if-pre-up.d  
if-up.d
interfaces.d

So stellte ich fest, dass ich die Konfiguration wie gewohnt sichern konnte:

$ Sudo sh -c "iptables-save > /etc/iptables.rules"

Dann habe ich eine Datei `/etc/network/if-pre-up.d/restore erstellt:

#!/bin/sh

iptables-restore < /etc/iptables.rules

... und markiert es als ausführbar

$ Sudo chmod 755 /etc/network/if-pre-up.d/restore
0
mikebridge