Portforwarding in geroutetes Subnetz (mit iptables)

dfroe

Mitglied
Mitglied seit
1 Feb 2006
Beiträge
321
Punkte für Reaktionen
0
Punkte
16
Hallo,
der Titel hört sich zwar zugegeben etwas verwirrend an, die Problemstellung ist aber eigentlich ganz einfach.

Ich habe in der ar7.cfg diverse Regeln zur Weiterleitung von Ports eingerichtet.
Beispiel-Zeile innerhalb des Abschnitts forwardrules meiner ar7.cfg:

"tcp 0.0.0.0:26 172.24.0.70:22 0 # NAS-SSH",

Damit kann ich mich nun von außen über Port 26 mit meinem internen SSH-Server verbinden. 172.24.0.0/24 ist hierbei das Netzwerk, an welchem meine FritzBox direkt angeschlossen ist.

Das funktioniert nun, solange der lokale Host sich im selben Netz befindet wie die FritzBox. Ich habe nun aber auch einen Host 172.24.1.33/24, welchen ich aus dem 172.24.0.0/24 Netz über den Router 172.24.0.34 erreiche. Es handelt sich hierbei um ein internes VLAN, erreichbar über einen L3-Switch, kein NAT.
Die entsprechende Zeile in der ar7.cfg sollte nun so aussehen:

"tcp 0.0.0.0:27 172.24.1.33:22 0 # Test-SSH",

Zusätzlich habe ich direkt in der ar7.cfg auch noch eine statische Route konfiguriert, welche alle anderen (nicht direkt verbundenen) 172.24er Netze über meinen L3-Switch routet:

routes {
enabled = yes;
ipaddr = 172.24.0.0;
mask = 255.255.0.0;
gateway = 172.24.0.34;
metric = 1;
}


Leider wird diese Route aus der ar7.cfg von der FritzBox nicht automatisch angelegt. Normalerweise sollte diese Route nach dem Booten ja in der Routing Tabelle auftauchen. Ich kann zwar über die Kommandozeile mit folgendem Befehl die Route manuell anlegen, dann funktioniert das Portforwarding von außen allerdings nicht:

route add -net 172.24.0.0 netmask 255.255.0.0 gw 172.24.0.34 metric 1

Die Route wird dann auch korrekt in der Routing Tabelle hinterlegt, ein Zugriff von außen auf Port 27 meiner WAN-IP scheitert aber mit der ICMP-Antwort 'no route to host'. Vermutlich benötigt die FritzBox die Route zu dem Host des Port Forwardings direkt in der ar7.cfg. Aber warum wird meine statische Route, die ich ja korrekt in der ar7.cfg gespeichert habe, nicht erstellt?

Eventuell ließe sich das Port Forwarding auch direkt über iptables erledigen, und nicht mit den AVM-Tools. Daran bin ich bisher aber noch gescheitert. Die iptables Regeln konnte ich soweit zwar erstellen, ein Zugriff von außen war aber nicht möglich. Vermutlich weil noch eine höhere AVM-Schicht vor den iptables-Regeln die Anfragen bereits geblockt hat.

Hat denn schon jemand erfolgreich per iptables Ports weitergeleitet? Im Wiki habe ich dazu noch keine vollständige Anleitung gefunden, was denn genau in welchem AVM-Modul freigegeben werden muss, damit die Anfragen von außen bis zu den iptables durchkommen.
 
iptables hat auch eigene Anleitungen. Da mal reingeguckt? manpages gelesen und so etwas?
 
Meinst du diese Seite zu den iptables?
http://trac.freetz.org/wiki/packages/iptables

Dort hänge ich hauptsächlich an dem Punkt, der das Zusammenspiel zwischen AVM dsld und iptables beschreibt:

freetz-Wiki schrieb:
Verkehr zwischen Internet und LAN Interfaces:
DSL < — > AVM Firewall (NAT) < — > iptables Firewall < — > LAN / WLAN

Bevor ich also mit den iptables sinnvoll etwas anfangen kann, muss ich zuerst dafür sorgen, dass die Pakete durch AVM Firewall (NAT) hindurch können. Andernfalls kommen sie ja erst gar nicht bei den iptables an.


Ich habe mittlerweile aber auch herausfinden können, warum meine im letzten Posting erwähnte statische Route nicht übernommen wurde. Statische Routen in der ar7.cfg funktionieren wohl nur, wenn das Gateway der Route im eth0 Netzwerk liegt. Bei mir lag das Gateway aber in eth1, welches ich per cpmaccfg erstellt habe. Von dieser Aufsplittung des Switches weiß die FritzBox beim Booten und Auswerten der ar7.cfg aber noch nichts.
Jetzt, wo ich eth0 und eth1 einfach vertrauscht habe, so dass die statische Route im eth0-Netz liegt, funktioniert auch das Port Forwarding über die ar7.cfg so wie ich es mir vorgestellt hatte.
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.