Routing von eth1 zu eth0 einrichten

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
tsibi
Beiträge: 269
Registriert: 31.08.2004 20:16:35
Wohnort: Oberfranken
Kontaktdaten:

Re: Routing von eth1 zu eth0 einrichten

Beitrag von tsibi » 21.08.2008 16:51:20

Hallo zusammen,

vielen Dank für eure Geduld und eure Antworten. ich fühle mich bei dieser Sache auch nich ganz wohl, da ich das Setup meines Bekannten etwas kompliziert und undurchsichtig finde. Ich versuche ihm aber trotzdem zu helfen.

Da sein Rechner mit den 2 Netzwerkkarten ja sowohl die FW und das Internet erreichen kann muss man wohl dafür sorgen, dass an eth1 eingehende pakete per SourceNat so umgebogen werden, als wären sie von eth0 erstellt worden. Muss der Rechner dann auch noch Masquerading durchführen oder reicht nur die Source-änderung? Habe bei Google und in der Manpage nicht die passenden Antworten gefunden. Wäre super, wenn ihr mich weiter unterstütze nwürdet.

In Zukunft achte ich darauf, dass ich selbst den Zusammenhang besser verstehe. Sonst bin ich durcheinander und bringe euch auch aus dem Plan. Aber ich lerne auch daraus.

VG Simon

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Re: Routing von eth1 zu eth0 einrichten

Beitrag von gms » 21.08.2008 18:17:55

tsibi hat geschrieben: Da sein Rechner mit den 2 Netzwerkkarten ja sowohl die FW und das Internet erreichen kann muss man wohl dafür sorgen, dass an eth1 eingehende pakete per SourceNat so umgebogen werden, als wären sie von eth0 erstellt worden.
das ist richtig
tsibi hat geschrieben: Muss der Rechner dann auch noch Masquerading durchführen oder reicht nur die Source-änderung?
Masquerading macht im wesentlichen das gleiche wie SNAT. Masquerading würdest du nehmen, wenn der Rechner mit den 2 Netzwerkkarten auf eth0 eine dynamische IP bezieht, ansonsten sollte SNAT genommen werden.
tsibi hat geschrieben: In Zukunft achte ich darauf, dass ich selbst den Zusammenhang besser verstehe. Sonst bin ich durcheinander und bringe euch auch aus dem Plan.
das ist zwar ein guter Vorsatz, wirklich notwendig ist das aber nicht. Nur falsche Antworten solltest du möglichst vermeiden, dann lieber vorher nochmal nachfragen :wink:

Gruß
gms

tsibi
Beiträge: 269
Registriert: 31.08.2004 20:16:35
Wohnort: Oberfranken
Kontaktdaten:

Re: Routing von eth1 zu eth0 einrichten

Beitrag von tsibi » 22.08.2008 16:32:36

Hallo gms,

danke für deine Antwort. Wir haben das Forwarding aktiviert (in /etc/sysctl.conf) und folgenden iptables-Befehl abgesetzt:

Code: Alles auswählen

iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to 192.168.1.110
Die IP-Adresse ist die IP von eth0.

Das Pingen auf die Firewall funktioniert leider noch nicht. Was haben wir noch vergessen?

VG Simon

Benutzeravatar
daFreak
Beiträge: 875
Registriert: 14.09.2005 12:09:59
Lizenz eigener Beiträge: MIT Lizenz

Re: Routing von eth1 zu eth0 einrichten

Beitrag von daFreak » 22.08.2008 16:42:38

Hi,

1. Habt ihr ein iptables-Skript am laufen? Wenn ja wie, sieht das aus?
2. Habt ihr Forwarding, wie gms es beschrieben hat, aktiviert?
3. Habt ihr auf den WLAN-Clients die Default-Route auf (ich glaube) die IP von eth1 gesetzt?

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Re: Routing von eth1 zu eth0 einrichten

Beitrag von gms » 22.08.2008 17:17:47

tsibi hat geschrieben:H

Code: Alles auswählen

iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to 192.168.1.110
Die IP-Adresse ist die IP von eth0.
dann ist die IP-Adresse richtig und das Interface ist falsch, versuchs mal so:

Code: Alles auswählen

iptables -F POSTROUTING -t nat
iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to 192.168.1.110
Gruß
gms

stinkstiefel
Beiträge: 382
Registriert: 13.06.2008 12:05:24

Re: Routing von eth1 zu eth0 einrichten

Beitrag von stinkstiefel » 22.08.2008 19:36:46

Ich wollte mich eigentlich nicht mehr einmüschen, aber ich hätte es so probiert.

Code: Alles auswählen

/sbin/iptables -t nat -A POSTROUTING -s 192.168.4.0/24 -o eth0 -j SNAT --to 192.168.1.110
Edit: Ach ja, eine LOG Regel wäre vielleicht auch nicht schlecht damit man auch mal was sieht.

tsibi
Beiträge: 269
Registriert: 31.08.2004 20:16:35
Wohnort: Oberfranken
Kontaktdaten:

Re: Routing von eth1 zu eth0 einrichten

Beitrag von tsibi » 24.08.2008 00:01:14

gms hat geschrieben: dann ist die IP-Adresse richtig und das Interface ist falsch, versuchs mal so:

Code: Alles auswählen

iptables -F POSTROUTING -t nat
iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to 192.168.1.110
danke für diese Korrektur. So funktioniert es :-). Für mich zum Verständnis: Warum muss hier das eth0 Interface angegeben werden? Das Paket kommt ja an eth1 mit der Zieladresse des Internets oder so an. Müsste man die Quelladresse nicht ändern, wenn das Paket eth1 verlässt und an eth0 übergeben wird? Oder habe ich das Zusammenspiel zwischen iptables und route doch nicht verstanden?

VG Simon

stinkstiefel
Beiträge: 382
Registriert: 13.06.2008 12:05:24

Re: Routing von eth1 zu eth0 einrichten

Beitrag von stinkstiefel » 24.08.2008 06:13:55

Ich würde es so erklären. Durch die Bridge sind eth0 und eth1 als ein Interface (br0) zu betrachten. Eingehende Pakete für br0 aus 192.168.4.0/24 sind in Prerouting von eth1 (192.168.4.x) und ausgehend in Postrouting von eth0 (192.168.1.x) zu behandeln.
Im Prinzip hätte man auch

Code: Alles auswählen

/sbin/ebtables -t nat -A POSTROUTING -s 192.168.4.0/24 -o br0 -j SNAT --to 192.168.1.110
verwenden können.

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Re: Routing von eth1 zu eth0 einrichten

Beitrag von gms » 24.08.2008 15:53:43

tsibi hat geschrieben: danke für diese Korrektur. So funktioniert es :-). Für mich zum Verständnis: Warum muss hier das eth0 Interface angegeben werden? Das Paket kommt ja an eth1 mit der Zieladresse des Internets oder so an. Müsste man die Quelladresse nicht ändern, wenn das Paket eth1 verlässt und an eth0 übergeben wird? Oder habe ich das Zusammenspiel zwischen iptables und route doch nicht verstanden?
wenn von eth1 eine Verbindung in das Internet aufgebaut wird, so erreicht das erste Paket den Rechner mit den zwei Netzwerkkarten über eth1 und wird von diesem nach eth0 forgewardet.
Daher durchlauft dieses Paket zuerst die filter-FORWARD Kette ( könnte dort auch mit einer Regel "-i eth1 -o eth0" abgefragt werden ) und danach die nat-POSTROUTING Kette, wo die Quelladresse also für die Pakete mit "-o eth0" umgeschrieben werden muß.

Die Zieladresse der Antwortpakete wird beim PREROUTING zurückübersetzt, damit die Antwortpakete an die originale Quelladresse weitergeleitet werden. Daher durchlaufen auch diese Antwortpakete zuerst die filter-FORWARD Kette ( -i eth0 -o eth1 ) bevor sie in die nat-POSTROUTING Kette gelangen.

Weiters landen in der nat-POSTROUTING Kette auch die Pakete, die der Rechner mit den zwei Netzwerkkarten über die filter-OUTPUT Kette verschickt ( entweder -o eth0 oder -o eth1 ). iptables/Netfilter ist automatisch so schlau, daß er diesen Traffic nicht mitbehandelt.
stinkstiefel hat geschrieben: Durch die Bridge sind eth0 und eth1 als ein Interface (br0) zu betrachten
eth0 und eth1 sind aber nicht gebridget, sonst bräuchten wir hier kein SNAT/Masquerading Zeugs

Gruß
gms

stinkstiefel
Beiträge: 382
Registriert: 13.06.2008 12:05:24

Re: Routing von eth1 zu eth0 einrichten

Beitrag von stinkstiefel » 24.08.2008 21:01:12

Ähm ja jetzt wo du es sagst, war wohl heut morgen noch zu früh. :oops:
Ausserdem werd ich künftig bei solchen Themen bestimmt meine Klappe halten, weil ich doch noch zu wenig davon verstehe.

Antworten