Linux als Router, iptables, zwei DSL Anschlüsse

Domi83

Rear Admiral
Registriert
Feb. 2010
Beiträge
5.300
Hallo Leute, ich habe da mal eine etwas speziellere Frage... eigentlich dachte ich "ist ja einfach gelöst", aber irgendwie will nichts so wirklich wie ich möchte.

Es geht um iptables auf einem Linux System.
Wir haben hier zwei Internetanschlüsse, einen via LTE und einen via DSL!
- 192.168.1.254 (FritzBox mit DSL)
- 192.168.1.253 (SpeedBox mit LTE)
- 192.168.1.2 (Linux Server mit iptables)

Die Clients beziehen ihre IPs vom Linux Server via DHCP, Gateway und DNS ist der Linux Server. Das Forwarding ist auch aktiviert.. Anfragen über Port 80 werden auf den transparenten Proxy geleitet, alles andere wird direkt an den LTE Router geleitet.

Jetzt möchte ich gerne, dass ICQ (Port 5190 TCP) nicht über den LTE Anschluss läuft, sondern über die FritzBox. Also habe ich eine forwarding Regel erstellt...
Code:
iptables -A FORWARD -p tcp -i eth0 --dport 5190 -d 192.168.1.254 -j ACCEPT
ohne diese Regel dauert es ewig bis ICQ eine Verbindung bekommt oder gar nicht funktioniert. Mit dieser Regel funktioniert es gar nicht, und ICQ merkt innerhalb einer Sekunde das es nicht geht.

Jetzt ist die Frage, wer hat solch ein Szenario schon mal gehabt und kann mir sagen wie ich die Regeln definieren soll / muss, damit ICQ über die DSL Leitung läuft..? :) Eigentlich sollte es recht einfach sein, aber anscheinend wohl nicht.. :rolleyes:

Gruß, Domi
 
Das liegt wohl daran, das icq mehr als nur diesen Port nutzt. Über port 5190 wird der Server angesprochen, der Client connected wohl von Port 1024 - 65 536. Ich kenne mich mit Linux nicht so gut aus, aber Du müsstest mal nachschauen ob Du in icq auch diese Ports einstellen kannst.
 
Moin.. also es handelt sich dabei nicht direkt um das "blöde" ICQ Programm selbst, sondern um Miranda welches sich mit dem ICQ Protokoll verbindet.. da kann man nur einen Port bestimmen, und dass ist der Connection-Port der regulär 5190 ist :)

Aber auch bei einer Weiterleitung von dem Port, funktioniert nichts.. und das verwirrt mich ein wenig.
 
Ja, wie gesagt nutzt icq mehr als nur diesen port. Versuch doch einfach mal zusätzlich ein paar Ports zwischen 1024 -1034 zu forwarden. Schau Dir doch mal die Firewall an, da müsste doch stehen welche Ports genutzt werden wollen.:D
 
Zuletzt bearbeitet:
Ich habe es jetzt einfacher gelöst.. da ich ja nicht jeden Port einfach auf die FritzBox weiter leiten wollte...

Linux hat die Möglichkeit, virtuelle Netzwerkgerte zu erstellen.. somit habe ich ein virtuelles Gerät angelegt, diesem habe ich eine IP Adresse verpasst und die FritzBox als Router eingetragen. Resultat, es geht! :)
Code:
iptables -A FORWARD -i eth0 -o eth0:1 -p tcp --dport 5190
Alle Anfragen auf dem ICQ Port die jetzt über die echte Netzwerkkarte rein kommen, werden auf die virtuelle Karte weitergeleitet und siehe da, ICQ kann wieder verbinden ohne zu meckern.

Das hätte mir früher mal einfallen sollen.. wundert mich nur.. das wird nicht funktioniert haben, weil ja der Port 5190 durch den "input" belegt ist, somit kann er ja nicht 5190 gleichzeitig für ein ausgehendes Signal verwenden.

Gruß, Domi

p.s. Ein Spezi in dem Gebiet darf mich ruhig eines besseren belehren, falls meine Vermutung oder Erklärung falsch war.
 
Zurück
Oben