pings erlauben mit iptables? [Gelöst]

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
jmar83
Beiträge: 962
Registriert: 20.06.2013 20:20:15
Wohnort: CH
Kontaktdaten:

pings erlauben mit iptables? [Gelöst]

Beitrag von jmar83 » 10.01.2019 14:28:02

das geht scheinbar nicht:

Code: Alles auswählen

iptables -A INPUT -p icmp --icmp-type 0 -m state --state ESTABLISHED,RELATED -j ACCEPT
"Zeitüberschreitung der Anforderung"

Habe irgendwo im Netz gelesen dies sei die Regel um pings zu erlauben, ist scheinbar aber nonsens...(?)
Zuletzt geändert von jmar83 am 12.11.2019 15:27:10, insgesamt 1-mal geändert.
Freundliche Grüsse, Jan

jmar83
Beiträge: 962
Registriert: 20.06.2013 20:20:15
Wohnort: CH
Kontaktdaten:

Re: pings erlauben mit iptables?

Beitrag von jmar83 » 10.01.2019 14:29:14

Quelle: https://unix.stackexchange.com/question ... ock-others

Es geht um eingehende pings auf einem Server...
Freundliche Grüsse, Jan

jmar83
Beiträge: 962
Registriert: 20.06.2013 20:20:15
Wohnort: CH
Kontaktdaten:

Re: pings erlauben mit iptables?

Beitrag von jmar83 » 10.01.2019 14:30:08

Alle Befehle, welche ich ausgeführt habe:

Code: Alles auswählen

apt-get update
apt-get install iptables
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -I INPUT -p tcp --dport 22 -j ACCEPT
iptables -I INPUT -p tcp --dport 80 -j ACCEPT
iptables -I INPUT -p tcp --dport 443 -j ACCEPT
iptables -A INPUT -p icmp --icmp-type 0 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -j DROP
apt-get install iptables-persistent   # !!! Und beim Installationsvorgang die Fragen ob die aktuellen Regeln gespeichert werden sollen mit "Ja" beantworten !!!
init 6   # !!! Mit einem Reboot testen, ob die obere Instruktion geklappt hat !!!
Freundliche Grüsse, Jan

Benutzeravatar
MSfree
Beiträge: 10684
Registriert: 25.09.2007 19:59:30

Re: pings erlauben mit iptables?

Beitrag von MSfree » 10.01.2019 14:35:36

jmar83 hat geschrieben: ↑ zum Beitrag ↑
10.01.2019 14:28:02
das geht scheinbar nicht:

Code: Alles auswählen

iptables -A INPUT -p icmp --icmp-type 0 -m state --state ESTABLISHED,RELATED -j ACCEPT
Nimm mal --icmp-type 8/0

mat6937
Beiträge: 2925
Registriert: 09.12.2014 10:44:00

Re: pings erlauben mit iptables?

Beitrag von mat6937 » 10.01.2019 14:35:49

jmar83 hat geschrieben: ↑ zum Beitrag ↑
10.01.2019 14:29:14
Es geht um eingehende pings auf einem Server...
Dann handelt es sich nicht um "ESTABLISHED,RELATED"-, sondern um "NEW"-Datenpakete? Siehe deine iptables-Regel.

mat6937
Beiträge: 2925
Registriert: 09.12.2014 10:44:00

Re: pings erlauben mit iptables?

Beitrag von mat6937 » 10.01.2019 14:40:50

mat6937 hat geschrieben: ↑ zum Beitrag ↑
10.01.2019 14:35:49
jmar83 hat geschrieben: ↑ zum Beitrag ↑
10.01.2019 14:29:14
Es geht um eingehende pings auf einem Server...
Dann handelt es sich nicht um "ESTABLISHED,RELATED"-, sondern um "NEW"-Datenpakete? Siehe deine iptables-Regel.
EDIT:

BTW: Mit dieser Regel:

Code: Alles auswählen

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
und richtigerweise an vorderster Stelle, hast Du doch auch schon die "ESTABLISHED,RELATED"-Datenpakete für das icmp-Protokoll, in der INPUT chain erlaubt.

jmar83
Beiträge: 962
Registriert: 20.06.2013 20:20:15
Wohnort: CH
Kontaktdaten:

Re: pings erlauben mit iptables?

Beitrag von jmar83 » 10.01.2019 14:42:17

Das zusätzlich bringt auch nix:

Code: Alles auswählen

iptables -A INPUT -p icmp --icmp-type 8 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
Freundliche Grüsse, Jan

Benutzeravatar
MSfree
Beiträge: 10684
Registriert: 25.09.2007 19:59:30

Re: pings erlauben mit iptables?

Beitrag von MSfree » 10.01.2019 14:42:54

mat6937 hat geschrieben: ↑ zum Beitrag ↑
10.01.2019 14:35:49
Dann handelt es sich nicht um "ESTABLISHED,RELATED"-, sondern um "NEW"-Datenpakete? Siehe deine iptables-Regel.
Stimmt :facepalm:

Der icmp-type ist aber trotzdem falsch. Um auch das Ping-Echo zu erlauben braucht man noch die OUTPUT-Regel. Insgesamt sollte es also mit:

Code: Alles auswählen

iptables -A  INPUT -p icmp --icmp-type 8/0 -m state --state NEW -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type 8/0 -m state --state NEW -j ACCEPT
funktionieren.

jmar83
Beiträge: 962
Registriert: 20.06.2013 20:20:15
Wohnort: CH
Kontaktdaten:

Re: pings erlauben mit iptables?

Beitrag von jmar83 » 10.01.2019 14:44:34

Oh, habe meinen Beitrag verfasst während andere Beiträge geschrieben wurden - werde die Tipps versuchen. Vielen Dank.
Freundliche Grüsse, Jan

jmar83
Beiträge: 962
Registriert: 20.06.2013 20:20:15
Wohnort: CH
Kontaktdaten:

Re: pings erlauben mit iptables?

Beitrag von jmar83 » 10.01.2019 14:52:17

so, jetzt werde ich erstmal alle rules zurücksetzen mit den befehlen hier: https://ubuntuforums.org/showthread.php?t=1381516

(hoffe dass dort kein bla-bla steht wie im anderen link, wo ich die vermeintliche "allow icmp"-Regel her habe! ;-))
Freundliche Grüsse, Jan

mat6937
Beiträge: 2925
Registriert: 09.12.2014 10:44:00

Re: pings erlauben mit iptables?

Beitrag von mat6937 » 10.01.2019 14:52:39

MSfree hat geschrieben: ↑ zum Beitrag ↑
10.01.2019 14:42:54
Um auch das Ping-Echo zu erlauben braucht man noch die OUTPUT-Regel.
Das ist von der default policy der OUTPUT chain abhängig. Wenn diese auf ACCEPT ist, wir keine Regel benötigt.

jmar83
Beiträge: 962
Registriert: 20.06.2013 20:20:15
Wohnort: CH
Kontaktdaten:

Re: pings erlauben mit iptables?

Beitrag von jmar83 » 10.01.2019 14:55:18

Nach dem zurücksetzen habe ich folgende Befehle ausgeführt:

Code: Alles auswählen

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -I INPUT -p tcp --dport 22 -j ACCEPT
iptables -I INPUT -p tcp --dport 80 -j ACCEPT
iptables -I INPUT -p tcp --dport 443 -j ACCEPT
iptables -A  INPUT -p icmp --icmp-type 8/0 -m state --state NEW -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type 8/0 -m state --state NEW -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -j DROP
dpkg-reconfigure iptables-persistent
init 6
Resultat: Läuft

Vielen vielen Dank! :-)
Freundliche Grüsse, Jan

inne
Beiträge: 3273
Registriert: 29.06.2013 17:32:10
Lizenz eigener Beiträge: GNU General Public License
Kontaktdaten:

Re: pings erlauben mit iptables?

Beitrag von inne » 10.01.2019 14:59:55

Thema gelöst?

Was hat wohl länger bestand:
jmar83 hat geschrieben: ↑ zum Beitrag ↑
10.01.2019 14:55:18

Code: Alles auswählen

dpkg-reconfigure iptables-persistent
Oder:

Code: Alles auswählen

service netfilter-persistent save
:mrgreen:

jmar83
Beiträge: 962
Registriert: 20.06.2013 20:20:15
Wohnort: CH
Kontaktdaten:

Re: pings erlauben mit iptables?

Beitrag von jmar83 » 10.01.2019 15:05:55

Keine Ahnung...

An Anfang bin ich 100% davon ausgegangen, dass die Rules eh persistent sind - komischerweise ist das nicht der Fall.

Was ist der Unterschied zwischen den Befehlen?
Freundliche Grüsse, Jan

mat6937
Beiträge: 2925
Registriert: 09.12.2014 10:44:00

Re: pings erlauben mit iptables?

Beitrag von mat6937 » 10.01.2019 15:14:30

jmar83 hat geschrieben: ↑ zum Beitrag ↑
10.01.2019 15:05:55
Keine Ahnung...
Wie sind z. Zt. die Ausgaben von:

Code: Alles auswählen

ls -la /etc/iptables/rules.v4
cat /etc/iptables/rules.v4
?

Benutzeravatar
MSfree
Beiträge: 10684
Registriert: 25.09.2007 19:59:30

Re: pings erlauben mit iptables?

Beitrag von MSfree » 10.01.2019 15:25:52

inne hat geschrieben: ↑ zum Beitrag ↑
10.01.2019 14:59:55
...

Code: Alles auswählen

dpkg-reconfigure iptables-persistent
...

Code: Alles auswählen

service netfilter-persistent save
Das sollte kein Problem sein. Wenn man mit einem eigene Skript iptabels etabliert, dann werden sie halt danach "persistent" gemacht und sind nach dem nächsten Boot wieder vorhanden.

Technisch geht das recht unspektakulär, in dem iptables-save > persistent.rules ausgeführt wird, damit die Regeln dauerhaft auf der Platte stehen und reboots überleben. Beim Booten werden mit iptables-restore < persistent.rules die Regeln wieder eingelesen und aktiviert.

Alles, was man dabei zwischendurch an Regeln dazu einführt, überlebt den save/restore Vorgang unverändert.

inne
Beiträge: 3273
Registriert: 29.06.2013 17:32:10
Lizenz eigener Beiträge: GNU General Public License
Kontaktdaten:

Re: pings erlauben mit iptables?

Beitrag von inne » 10.01.2019 15:28:43

jmar83 hat geschrieben: ↑ zum Beitrag ↑
10.01.2019 15:05:55
Keine Ahnung...
Was ist der Unterschied zwischen den Befehlen?
Das dpkg-reconfigure ist eher für die Paketeinrichtung gedacht. Die Idee das auch so wie du jetzt zu benutzen hatte ich noch gar nicht und fand das aber ok.

Bis auf den Punkt das es erst mal interaktiv ist, fällt mir nichts ein. Man kann es aber mir DEBCONF=non-interactive dpkg-reconfigure iptables-persistent auch in Skript o.ä. nutzen.

Selbst wenn bei debconf/dpkg-reconfigure bald mehr Dinge zur Konfiguration des Pakets abgehandelt werden, gelten immer noch die Standard oder Hinterlegten Antworten aus der Datenbank. So das auch das auch das auf Dauer funktionieren könnte.

jmar83
Beiträge: 962
Registriert: 20.06.2013 20:20:15
Wohnort: CH
Kontaktdaten:

Re: pings erlauben mit iptables?

Beitrag von jmar83 » 10.01.2019 15:32:33

Danke für die Feedbacks!! :-)


@mat6937:

ls -la /etc/iptables/rules.v4 gibt das aus:

Code: Alles auswählen

-rw-r--r-- 1 root root 566 Jan 10 15:06 /etc/iptables/rules.v4

cat /etc/iptables/rules.v4 das hier:

Code: Alles auswählen

# Generated by iptables-save v1.6.0 on Thu Jan 10 15:06:43 2019
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [1395:528297]
-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 8/0 -m state --state NEW -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -j DROP
-A OUTPUT -p icmp -m icmp --icmp-type 8/0 -m state --state NEW -j ACCEPT
COMMIT
# Completed on Thu Jan 10 15:06:43 2019
Freundliche Grüsse, Jan

mat6937
Beiträge: 2925
Registriert: 09.12.2014 10:44:00

Re: pings erlauben mit iptables?

Beitrag von mat6937 » 10.01.2019 15:36:12

jmar83 hat geschrieben: ↑ zum Beitrag ↑
10.01.2019 15:32:33

Code: Alles auswählen

# Generated by iptables-save v1.6.0 on Thu Jan 10 15:06:43 2019
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [1395:528297]
-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 8/0 -m state --state NEW -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -j DROP
-A OUTPUT -p icmp -m icmp --icmp-type 8/0 -m state --state NEW -j ACCEPT
COMMIT
# Completed on Thu Jan 10 15:06:43 2019
OK.
Hier sieht man auch, dass die default policy der OUTPUT chain auf ACCEPT ist und dort es keine allgemeine Regel mit DROP gibt, so dass "-A OUTPUT -p icmp -m icmp --icmp-type 8/0 -m state --state NEW -j ACCEPT" nicht erforderlich wäre.

jmar83
Beiträge: 962
Registriert: 20.06.2013 20:20:15
Wohnort: CH
Kontaktdaten:

Re: pings erlauben mit iptables?

Beitrag von jmar83 » 10.01.2019 17:39:55

Vielen Dank!! :-)
Freundliche Grüsse, Jan

Benutzeravatar
ingo2
Beiträge: 1124
Registriert: 06.12.2007 18:25:36
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Wo der gute Riesling wächst

Re: pings erlauben mit iptables?

Beitrag von ingo2 » 10.01.2019 23:02:15

Noch eine Idee, da ja bald (mit Buster) Debiannftables zum Standard wird:

Auch in Stretch gibt's nftables im Repository. Ich selbst habe gleich die aktuelle Version aus "stretch-backports" installiert un das läuft einwandfrei. Da sind viele Dinge einfacher und die Optionen meist selbsterklärend. Wewiterer Vorteil: alles steht in einer Datei "/etc/nftables.conf" und das wars schon. Einzike Aktion: den systemd nftables.service enablen und starten - fertig.

Das mit dem Ping ist da ganz simpel:

Code: Alles auswählen

# allow ping (echo request) at limited rate. 2nd rule needed to handle established.
ip6 nexthdr icmpv6 icmpv6 type echo-request limit rate 10/second accept
ip6 nexthdr icmpv6 icmpv6 type echo-request counter log prefix "nft-ping_flood " drop
ip protocol icmp icmp type echo-request limit rate 10/second accept
ip protocol icmp icmp type echo-request counter log prefix "nft-ping_flood " drop
Schreibt dann auch gleich ein Log, falls mehr als 10 pings/second eingehen.

mat6937
Beiträge: 2925
Registriert: 09.12.2014 10:44:00

Re: pings erlauben mit iptables?

Beitrag von mat6937 » 10.01.2019 23:28:51

ingo2 hat geschrieben: ↑ zum Beitrag ↑
10.01.2019 23:02:15
Auch in Stretch gibt's nftables im Repository. Ich selbst habe gleich die aktuelle Version aus "stretch-backports" installiert un das läuft einwandfrei.
Kann man nftables auch neben iptables verwenden, oder gibt es da Konflikte? Z. B. den eingehenden Traffic sichert man mit iptables ab und erst mal als Test, den ausgehenden Traffic sichert man mit nftables ab.

Benutzeravatar
MSfree
Beiträge: 10684
Registriert: 25.09.2007 19:59:30

Re: pings erlauben mit iptables?

Beitrag von MSfree » 11.01.2019 08:18:04

mat6937 hat geschrieben: ↑ zum Beitrag ↑
10.01.2019 23:28:51
Kann man nftables auch neben iptables verwenden, oder gibt es da Konflikte?
Das sollte gehen. Allerdings kann man, wenn man schon einzelne Regeln auf nftables umstellt, gleich den ganzen Regelsatz umstellen. Irgendwann in der Zukunft könnte es passieren, daß iptables aus dem Kernel entfernt wird, so daß man dann sowieso gezwungen ist, nftables zu verwenden.

Der Syntax von nftables ist weitgehen kompatibel mit dem von iptables, so daß die Umstellung eigentlich wenig Mühe bereiten sollte (ich war bisher allerdings auch zu faul dazu :mrgreen: )

jmar83
Beiträge: 962
Registriert: 20.06.2013 20:20:15
Wohnort: CH
Kontaktdaten:

Re: pings erlauben mit iptables?

Beitrag von jmar83 » 11.01.2019 09:15:53

...danke für den Tipp mit "nftables"!! :-)
Freundliche Grüsse, Jan

mat6937
Beiträge: 2925
Registriert: 09.12.2014 10:44:00

Re: pings erlauben mit iptables?

Beitrag von mat6937 » 11.01.2019 09:58:57

MSfree hat geschrieben: ↑ zum Beitrag ↑
11.01.2019 08:18:04
...Irgendwann in der Zukunft könnte es passieren, daß iptables aus dem Kernel entfernt wird, so daß man dann sowieso gezwungen ist, nftables zu verwenden.
Das ist schon richtig bzw. klar. Mir geht es ja nur ums einarbeiten bzw. daran gewöhnen und deshalb auch erstmal nur in der OUTPUT chain, weil ich dort keine iptables-Regeln habe.

Antworten