Linux Schulungen: http://www.opensource-training.de  
 
Foren > Firewalling mit Linux > IP-SNAT über Eth-Bridge
Navigation
Schulungen
Foren
  Allgemeines Forum
  Intrusion Detection
  VPN mit Linux
  Firewalling mit Linux
  SELinux/AppArmor
SELinux/AppArmor Buch
IDS-Buch
VPN-Buch
Firewall-Buch
Nachrichten
Vorträge/Tutorials
Artikel
Linux-Magazin Artikel
Anmelden / Daten ändern
Messen
Impressum
Serverspiegel
Zertifizierungen
GPG Public Key

Flavours
English
German

Search

Visitors
Besucher 746075
Ansichten 4159
Online 0


IP-SNAT über Eth-Bridge

Springe zu
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-BridgeRalf ( ---.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-BridgeTKr ( ---.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-BridgeTKr ( ---.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-BridgeTKr ( ---.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.


Umfrage

Welche Distribution verwenden Sie?

 A) Fedora Core
 B) SuSE
 C) Debian
 D) Mandriva
 E) Red Hat Enterprise Linux
 F) SuSE Enterprise Linux
 G) Slackware
 H) Ubuntu
 I) Gentoo
 J) Andere


Latest News
17 Oct 2008: Neue Schulung: Netzwerküberwachung mit Nagio...
17 Oct 2008: Neue Schulung: Virtualisierung mit KVM
24 Sep 2008: Business-Online Messe in Münster
24 Sep 2008: Eröffnungskonferenz am 25. September 2008
28 Aug 2008: Zertifizierung nach LPIC-3
Weitere News...

Login
eMail


Passwort



© 2002-2005 Ralf Spenneberg, OpenSource Security, Germany