Warum wirft mich iptables -F aus meiner SSH-Sitzung?
Ich wollte iptables von einige Regeln hinzufügen https://askubuntu.com/questions/37412/how-can-i-ensure-transmission-traffic-uses-a-vpn Fragen und Antworten zum Routenverkehr vom Torrent-Programm Übertragung über einen VPN (in meinem Fall Surfshark).
Mindestens zwei der Antworten werden verwendet iptables -F
, um die Tabellen zu leeren, bevor die benutzerdefinierten Regeln hinzugefügt werden.
Eine dieser Antworten bezieht sich speziell auf einen Headless-Server (wie meinen). Ich vermute also, dass dies funktionieren sollte.
Aber wenn ich benutze, werde iptables -F
ich sofort aus meiner SSH-Sitzung auf den Server geworfen. Ich kann keinen neuen Befehl auf dem Terminal eingeben und muss den Server neu starten, um mich erneut anzumelden.
Auf dem Server läuft eine Firewall, die Port 22 für jede IP zulässt.
Zur Verdeutlichung werde ich einige Ausgaben hinzufügen, bevor und nachdem ich die akzeptierte Antwort angewendet habe:
Vorher (Hinweis policy DROP
):
$ sudo iptables -xvnL
Chain INPUT (policy DROP 21 packets, 5628 bytes)
pkts bytes target prot opt in out source destination
387 31969 f2b-sshd tcp -- * * 0.0.0.0/0 0.0.0.0/0 multiport dports 22
27008 50413306 ufw-before-logging-input all -- * * 0.0.0.0/0 0.0.0.0/0
27008 50413306 ufw-before-input all -- * * 0.0.0.0/0 0.0.0.0/0
153 26176 ufw-after-input all -- * * 0.0.0.0/0 0.0.0.0/0
21 5628 ufw-after-logging-input all -- * * 0.0.0.0/0 0.0.0.0/0
21 5628 ufw-reject-input all -- * * 0.0.0.0/0 0.0.0.0/0
21 5628 ufw-track-input all -- * * 0.0.0.0/0 0.0.0.0/0
Chain FORWARD (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 ufw-before-logging-forward all -- * * 0.0.0.0/0 0.0.0.0/0
0 0 ufw-before-forward all -- * * 0.0.0.0/0 0.0.0.0/0
0 0 ufw-after-forward all -- * * 0.0.0.0/0 0.0.0.0/0
0 0 ufw-after-logging-forward all -- * * 0.0.0.0/0 0.0.0.0/0
0 0 ufw-reject-forward all -- * * 0.0.0.0/0 0.0.0.0/0
0 0 ufw-track-forward all -- * * 0.0.0.0/0 0.0.0.0/0
Chain OUTPUT (policy ACCEPT 7 packets, 324 bytes)
pkts bytes target prot opt in out source destination
7130 870596 ufw-before-logging-output all -- * * 0.0.0.0/0 0.0.0.0/0
7130 870596 ufw-before-output all -- * * 0.0.0.0/0 0.0.0.0/0
997 113175 ufw-after-output all -- * * 0.0.0.0/0 0.0.0.0/0
997 113175 ufw-after-logging-output all -- * * 0.0.0.0/0 0.0.0.0/0
997 113175 ufw-reject-output all -- * * 0.0.0.0/0 0.0.0.0/0
997 113175 ufw-track-output all -- * * 0.0.0.0/0 0.0.0.0/0
Nach:
$ sudo iptables -L -v
Chain INPUT (policy ACCEPT 12648 packets, 12M bytes)
Antworten
Ja, The iptables -F chain
löscht alle iptables-Regeln für diese Kette, und daher wird nur die Standardrichtlinienregel verwendet.
Es ist wahrscheinlich, dass die Standardrichtlinie für Ihre Referenzen war ACCEPT
, während die Standardrichtlinie auf Ihrem Computer lautet DROP
.
Überprüfen Sie über sudo iptables -xvnL
. Wenn Sie alle Ihre Regeln in einer Kette löschen möchten, aber Ihre SSH-Sitzung beibehalten möchten, ändern Sie die Standardrichtlinie in " ACCEPT
Erste". Sie können es wieder ändern, DROP
nachdem Sie die gewünschten Regeln festgelegt haben, und Sie bestätigen, dass Ihre SSH-Pakete nicht mehr auf die Standardrichtlinie angewiesen sind, um durchzukommen.
sudo iptables -P INPUT ACCEPT
Möglicherweise benötigen Sie es auch in der OUTPUT-Kette.