Lord Gurke
Nur echt mit 32 Zähnen
(gelöst) Merkwürdiges Firewall-Problem
Hallo zusammen,
ich habe derzeit zwei Server bei Hetzner. Auf einem ist ein IPv4-Subnetz geroutet, auf dem anderen nicht.
Da ich die ganzen Dienste lieber in Ruhe nacheinander umziehen möchte, habe ich beide Server per PPTP-Tunnel verbunden und route einzelne Adressen aus dem IPv4-Subnetz durch den Tunnel an den neuen Server.
Das funktioniert zumindest teilweise, ich bin nun echt langsam am Ende meiner Ideeen...
Der Firewall-Fehler stellt sich so dar:
Ich kann die weggerouteten IP-Adressen anpingen und da antwortet mir auch das richtige System. Umgekehrt funktionieren auch Pings nach außen zu allen möglichen Adressen.
UDP-Pakete kommen auf dem neuen Server ebenfalls an, ebenso kann ich welche rausschicken die ankommen (UDP-Traceroute).
Was nicht geht ist TCP: Wenn ich versuche, von außen auf die geroutete IP über TCP zuzugreifen, kommt das SYN-Paket am alten Server an, wird jedoch dort nicht mehr weitergeroutet.
Umgekehrt gehen ausgehende SYN-Pakete bis zum Ziel raus, der SYN-ACK kommt jedoch auch wieder nur bis zum alten Server und versandet dort. Ergo kommt in keinem Fall eine Verbindung zustande. Selbst wenn ich versuche, eine SSH-Verbindung von der gerouteten IP auf das alte System zu öffnen, läuft das ins Leere.
Die Routingtabelle sollte eigentlich korrekt sein, denn immerhin kommen ja ICMP- und UDP-Pakete problemlos durch. Meine Vermutung liegt jetzt bei der Firewall, die aber eigentlich alles forwarden sollte:
(12.34.56.78 ist jetzt mal beispielhaft die geroutete IP)
Schalte ich die Firewall "auf Durchzug", also setze die Forward-Policy auf ACCEPT, funktioniert es auch nicht. Erst wenn ich alle Regeln lösche und alle Policies auf ACCEPT setze, geht es.
Vielleicht ist ja ein IPTables-Mufti hier, der direkt mit dem Finger drauf zeigen und "Aaaah, da ist der Fehler" schreien kann
Ich sehe vermutlich gerade den Wald vor lauter Bäumen nicht mehr...
Vielen Dank und viele Grüße aus dem Tal
Max
Hallo zusammen,
ich habe derzeit zwei Server bei Hetzner. Auf einem ist ein IPv4-Subnetz geroutet, auf dem anderen nicht.
Da ich die ganzen Dienste lieber in Ruhe nacheinander umziehen möchte, habe ich beide Server per PPTP-Tunnel verbunden und route einzelne Adressen aus dem IPv4-Subnetz durch den Tunnel an den neuen Server.
Das funktioniert zumindest teilweise, ich bin nun echt langsam am Ende meiner Ideeen...
Der Firewall-Fehler stellt sich so dar:
Ich kann die weggerouteten IP-Adressen anpingen und da antwortet mir auch das richtige System. Umgekehrt funktionieren auch Pings nach außen zu allen möglichen Adressen.
UDP-Pakete kommen auf dem neuen Server ebenfalls an, ebenso kann ich welche rausschicken die ankommen (UDP-Traceroute).
Was nicht geht ist TCP: Wenn ich versuche, von außen auf die geroutete IP über TCP zuzugreifen, kommt das SYN-Paket am alten Server an, wird jedoch dort nicht mehr weitergeroutet.
Umgekehrt gehen ausgehende SYN-Pakete bis zum Ziel raus, der SYN-ACK kommt jedoch auch wieder nur bis zum alten Server und versandet dort. Ergo kommt in keinem Fall eine Verbindung zustande. Selbst wenn ich versuche, eine SSH-Verbindung von der gerouteten IP auf das alte System zu öffnen, läuft das ins Leere.
Die Routingtabelle sollte eigentlich korrekt sein, denn immerhin kommen ja ICMP- und UDP-Pakete problemlos durch. Meine Vermutung liegt jetzt bei der Firewall, die aber eigentlich alles forwarden sollte:
(12.34.56.78 ist jetzt mal beispielhaft die geroutete IP)
Code:
# iptables -L -n
Chain INPUT (policy ACCEPT)
target prot opt source destination
Z_FW_INPUT all -- 0.0.0.0/0 0.0.0.0/0
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Z_FW_FORWARD all -- 0.0.0.0/0 0.0.0.0/0
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Z_FW_OUTPUT all -- 0.0.0.0/0 0.0.0.0/0
Chain Z_FW_FORWARD (1 references)
target prot opt source destination
TCPMSS tcp -- 0.0.0.0/0 0.0.0.0/0 tcp flags:0x06/0x02 TCPMSS clamp to PMTU
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp flags:0x06/0x04
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp flags:0x03/0x01
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp flags:0x22/0x20
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp flags:0x0A/0x08
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp flags:0x12/0x10
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
ACCEPT all -- 0.0.0.0/0 12.34.56.78 state NEW,RELATED,ESTABLISHED
ACCEPT all -- 12.34.56.78 0.0.0.0/0 state NEW,RELATED,ESTABLISHED
ACCEPT tcp -- 0.0.0.0/0 12.34.56.78 state NEW,RELATED,ESTABLISHED
ACCEPT udp -- 0.0.0.0/0 12.34.56.78 state NEW,RELATED,ESTABLISHED
ACCEPT tcp -- 12.34.56.78 0.0.0.0/0 state NEW,RELATED,ESTABLISHED
ACCEPT udp -- 12.34.56.78 0.0.0.0/0 state NEW,RELATED,ESTABLISHED
LOG tcp -- 0.0.0.0/0 0.0.0.0/0 LOG flags 0 level 4 prefix `FW-FWD4|'
LOG udp -- 0.0.0.0/0 0.0.0.0/0 LOG flags 0 level 4 prefix `FW-FWD4|'
Vielleicht ist ja ein IPTables-Mufti hier, der direkt mit dem Finger drauf zeigen und "Aaaah, da ist der Fehler" schreien kann
Ich sehe vermutlich gerade den Wald vor lauter Bäumen nicht mehr...
Vielen Dank und viele Grüße aus dem Tal
Max
Last edited by a moderator: