
|
|
Besucher 746075 Ansichten 4159 Online 0 |
|
 |
| Thema |
Verfasser |
Letzte Antwort |
| IP-SNAT über Eth-Bridge |
TKr ( ---.dip.t-dialin.net) |
19 Oct 2006 11:55 | Hallo,
ich betreibe einen Linux PC (Ubuntu Linux mit Kernel 2.6.12-9-386) als Ethernet-Bridge, was soweit ohne Probleme funktioniert.
Mein Ziel ist die IP Src-Adresse von Paketen bestimmter Quellen zu ändern.
Bsp:
Paket (IP Src: a.a.a.a IP Dst: z.z.z.z) --> Linux PC --> Gleiches Packet (IP Src: b.b.b.b IP Dst: z.z.z.z) --> Testclient
Mein Plan ist es dies über iptables mit -j SNAT zu machen.
Wenn ich es richtig verstehe müssten letzten 3 Chains, die die Pakete der Reihe nach die folgenden sein:
... --> Filter (Forward) --> Mangle (Postrouting) --> Nat (Postrouting) --> ab ins Netz
SNAT kann nur in der Chain Mangle (Postrouting) durchgeführt werden.
Daher mein Gedanke:
iptalbes -t NAT -A POSTROUTING -s a.a.a.a -j SNAT --to-source b.b.b.b
Problem: Die Sache funktioniert nicht.
Interessanter Weise scheinen die Pakete Nat (Postrouting) nie zu passieren, obwohl sie den Testclient tadellos erreichen. (leider ohne geänderte Src)
Ich habe nämlich folgendes getestet:
iptalbes -t MANGLE -A POSTROUTING -s a.a.a.a -j LOG
--> Im Syslog erscheint folgendes:
Oct 5 10:30:39 localhost kernel: [4296582.754000] IN= OUT=br PHYSIN=eth1 PHYSOUT=eth2 SRC=a.a.a.a DST=z.z.z.z LEN=1356 TOS=0x00 PREC=0x80 TTL=25 ID=41622 PROTO=UDP SPT=2189 DPT=10000 LEN=1336
(Info: Reale IPs der Übersichtlichkeit durch Buchstaben ersetzt)
iptalbes -t NAT -A POSTROUTING -s a.a.a.a -j LOG
--> Im Syslog erscheint folgendes: Nichts
Daher meine Vermutung, dass die Chain Nat (Postrouting) gar nicht durchlaufen wird.
FRAGE: Hat jemand eine Idee, wieso ich kein SNAT durchführen kann bzw. die Pakete scheinbar die Chain Nat (Postrouting) nicht durchlaufen? Ich verwende keine sonstigen Regeln in iptables und bin darauf angewiesen, dass der Linux PC als Bridge und nicht als Router arbeitet.
Hier noch ein Auszug der betreffenden Interfaces von ifconfig:
br Protokoll:Ethernet Hardware Adresse 00:0E:0C:A9:F3:C4
inet Adresse:192.168.1.1 Bcast:192.168.1.255 Maske:255.255.255.0
inet6 Adresse: fe80::20e:cff:fea9:f3c4/64 Gültigkeitsbereich:Verbindung
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:461355 errors:0 dropped:0 overruns:0 frame:0
TX packets:5 errors:0 dropped:0 overruns:0 carrier:0
Kollisionen:0 Sendewarteschlangenlänge:0
RX bytes:622819167 (593.9 MiB) TX bytes:378 (378.0 b)
eth1 Protokoll:Ethernet Hardware Adresse 00:0E:0C:A9:F3:C4
inet6 Adresse: fe80::20e:cff:fea9:f3c4/64 Gültigkeitsbereich:Verbindung
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:462010 errors:0 dropped:0 overruns:0 frame:0
TX packets:1023 errors:0 dropped:0 overruns:0 carrier:0
Kollisionen:0 Sendewarteschlangenlänge:1000
RX bytes:631897629 (602.6 MiB) TX bytes:161159 (157.3 KiB)
Basisadresse:0xbc00 Speicher:ff500000-ff520000
eth2 Protokoll:Ethernet Hardware Adresse 00:0E:0C:A9:F4:23
inet6 Adresse: fe80::20e:cff:fea9:f423/64 Gültigkeitsbereich:Verbindung
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1055 errors:0 dropped:0 overruns:0 frame:0
TX packets:461995 errors:0 dropped:0 overruns:0 carrier:0
Kollisionen:7 Sendewarteschlangenlänge:1000
RX bytes:166253 (162.3 KiB) TX bytes:631891861 (602.6 MiB)
Basisadresse:0xb800 Speicher:ff560000-ff580000
Ausgabe von brctl show:
bridge name bridge id STP enabled interfaces
br 8000.000e0ca9f3c4 no eth1
eth2
Vielen Dank und Grüße
Tobias
|
| ||
| RE: IP-SNAT über Eth-Bridge | Ralf ( ---.dip.t-dialin.net) | 19 Oct 2006 05:52 |
Hallo Tobias,
Teste das ganze bitte noch einmal, aber stelle sicher, dass vorher die Connection Tracking Table leer ist oder zumindest keine passende Verbindung enthält. Sobald nämlich bereits eine Verbindung in der conntrack Table drin steht, die auf das zu nattende Paket passt, wird die NAT-Tabelle nicht erneut durchlaufen. Änderungen in der NAT-Tabelle gelten nur für ganz neue Verbindungen.
Achtung: Verbindungen bleiben dort auch noch wenige Minuten nach ihrer Beendigung drin. Bei UDP 180 Sekunden!
Gruß,
Ralf | | RE: RE: IP-SNAT über Eth-Bridge | TKr ( ---.t-online.net) | 19 Oct 2006 11:51 |
Hallo,
und vielen Dank für die Antwort.
Ich hätte noch ein paar Fragen:
* Wie kann ich die Einträge der Connection Tracking Table anzeigen lassen?
* Oder fast noch wichitger: Wie kann ich die Einträge der Connection Tracking Table zurücksetzen?
* Ich habe von einer Netfilter Extension NOTRACK gelesen. Kann ich durch diese einen Datenstrom vom Connection Tracking ausnehmen?
Danke und Gruß
Tobias | | RE: RE: RE: IP-SNAT über Eth-Bridge | TKr ( ---.t-online.net) | 19 Oct 2006 11:53 |
Den letzten Punkt kann ich mir wohl doch selbst beantworten (http://www.kfki.hu/~kadlec/sw/netfilter/notrack1.html):
# And don't try to conntrack multicast either...
iptables -t prestate -A PREROUTING -s 224.0.0.1 -j NOTRACK
Gut möglich, dass das mein Problem lösen könnte. Bleibt einzig die Frage, ob das Target NOTRACK mit SNAT zusammen spielt. | | RE: RE: RE: RE: IP-SNAT über Eth-Bridge | TKr ( ---.t-online.net) | 19 Oct 2006 11:55 |
Und noch eine Frage, die sich selbst zu beantworten scheint:
- you loose the full NAT support including all the protocol
Das ist natürlich eher ungünstig für meinen Fall. |
[ Zurück ] Um ein neues Thema hinzu zu fügen müssen sie eingeloggt sein.
|
 |

|
|
Welche Distribution verwenden Sie?
|
|
|
 |