Des1 Nat-IPv4 nicht pingbar


#1

Fortsetzung der Diskussion von Admintagebuch - Dokumentation der Admintätigkeiten:

Moin,

wie im Admintagebuch angesprochen, ist die Nat-IPv4 von Des1 nicht von außen pingbar. Das müsste eigentlich gehen. Die Pakete kommen rein und werden einfach nicht beantwortet, es geht nichts wieder raus. Kann sich das jemand erklären oder hat jemand eine Idee, was da falsch läuft?

Das Natten an sich funktioniert aber.

tcpdump -i any dst host 185.66.193.52 and icmp
20:26:58.760562 IP dslb-178-001-116-105.178.001.pools.vodafone-ip.de > 185.66.193.52: ICMP echo request, id 17469, seq 91, length 64
20:26:59.186961 IP dslb-178-001-116-105.178.001.pools.vodafone-ip.de > 185.66.193.52: ICMP echo request, id 17435, seq 273, length 64
20:26:59.768564 IP dslb-178-001-116-105.178.001.pools.vodafone-ip.de > 185.66.193.52: ICMP echo request, id 17469, seq 92, length 64
20:27:00.186531 IP dslb-178-001-116-105.178.001.pools.vodafone-ip.de > 185.66.193.52: ICMP echo request, id 17435, seq 274, length 64
^C
129 packets captured
228 packets received by filter
0 packets dropped by kernel
root@des1 ~ # iptables -L nat -S
iptables v1.4.21: Cannot use -S with -L

Try `iptables -h' or 'iptables --help' for more information.
root@des1 ~ # iptables -t nat -S
-P PREROUTING ACCEPT
-P INPUT ACCEPT
-P OUTPUT ACCEPT
-P POSTROUTING ACCEPT
-A POSTROUTING -o tun-ffrl-+ -j SNAT --to-source 185.66.193.52
root@des1 ~ # iptables -t mangle -S
-P PREROUTING ACCEPT
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-P POSTROUTING ACCEPT
-A PREROUTING -i br0 -j MARK --set-xmark 0x1/0xffffffff
-A OUTPUT -o eth0 -p udp -m udp --dport 53 -j MARK --set-xmark 0x1/0xffffffff
-A OUTPUT -o eth0 -p tcp -m tcp --dport 53 -j MARK --set-xmark 0x1/0xffffffff
-A POSTROUTING -o tun-+ -p tcp -m tcp --tcp-flags SYN,RST SYN -m tcpmss ! --mss 0:1240 -j TCPMSS --set-mss 1240

Es wird einfach kein echo reply gesendet.

Bitte mitdenken @kgbvax, @FanLin, @descilla, @void, @Parad0x, @Fungur, @paulinsche, @MPW

Grüße
Matthias


#2

Die Natv4 von c1024 und fanlin sind ebenfalls nicht von außen anpingbar


#3

Richtig, das von Fussel aber z.B. schon und so sollte es auch sein. Alleine schon, damit am vernünftig tracerouten kann. Also haben wir in unserer Konfiguration einen Fehler drin.


#4

Ich habe auf fanlin gerade mal testweise folgende ip rule hinzugefügt, weil es eine entsprechende rule auf fussel gibt:
ip rule add from 185.66.193.49 table ffnet

Dann ging traceroute.


#5

Ist aber nicht pingbar.


#6

Ich hatte es wieder raus genommen. Jetzt hab ich es drin gelassen und die IP ist dann auch pingbar.


#7

Steck das doch mal für’s Backbone direkt ins Ansible, bitte.


#8

Ich bin mir nicht sicher, wo ich das reinpacken soll.

In /etc/network/interfaces gibt es beim Interface lo “ip rule add iif lo table ffnet suppress_prefixlength 0”, aber nicht durch Ansible gesetzt und auch nicht konsistent (teilweise mit pre-up, teilweise mit post-up). Da gehört es aber am ehesten dazu. Außerdem ist die iptables-SNAT-Regel auch nicht in Ansible.

Ich würde das lieber noch mal diskutieren, bevor es schief läuft.


#9

Wo willst du die Regel unterbringen?

Wollte gerade fragen.

Jap, so haben wir es bei den anderen Interfaces auch gemacht. Daher wäre ich auch dafür.


#10

Welche Regeln fehlen denn? Auf Des1 sahen die bis auf die eine gut aus. Also müssen sie eigentlich irgendwo drin sein.


#11

So, Rules sind in Ansible und ausgerollt. Ein Network-Restart kann die Rules aber nicht aktivieren, da lo vom Network-Restart ausgenommen ist. Deshalb haben die Tasks in Ansible auch keinen Restart-Handler. So muss man die Befehle einmalig manuell ausführen oder rebooten.

Iptables-Regeln hab ich noch nicht angefasst. Die sind auf den 3 Backbones alle unterschiedlich und wir sollten erst mal drüber reden, was richtig ist.


#12

Ich glaube dieselbe Art von Regel brauchen wir für die IPV6-Freifunkadressen auf den Gateways. Dann müssten die darauf auch endlich pingbar sein.