bridge-utils und iptables?
bridge-utils und iptables?
Hallo,
hat jemand von euch schonmal die bridge-utils auf nem Rechner zusammen mit iptables benutzt? iptables macht bei mir das routing (dsl<->lan/wlan) wie auch das filtering...
Die bridge funzt soweit (offensichtlich) ganz gut, soll heissen, beide interfaces (lan/wlan) können einzeln ihren Dienst tun, also z.B. ihre jeweiligen Segmente über den router ins Netz bringen. Aber leider kann ich keinen Rechner im jeweils anderen Segment erreichen!
Muss ich bei den iptables-Regeln noch etwas beachten? Ich habe zur Zeit "nur" die zwei einzelnen interfaces durch das bidge-device ersetzt. Da eine bridge transparent ist, sollte das doch reichen, oder?
Bye, Para
hat jemand von euch schonmal die bridge-utils auf nem Rechner zusammen mit iptables benutzt? iptables macht bei mir das routing (dsl<->lan/wlan) wie auch das filtering...
Die bridge funzt soweit (offensichtlich) ganz gut, soll heissen, beide interfaces (lan/wlan) können einzeln ihren Dienst tun, also z.B. ihre jeweiligen Segmente über den router ins Netz bringen. Aber leider kann ich keinen Rechner im jeweils anderen Segment erreichen!
Muss ich bei den iptables-Regeln noch etwas beachten? Ich habe zur Zeit "nur" die zwei einzelnen interfaces durch das bidge-device ersetzt. Da eine bridge transparent ist, sollte das doch reichen, oder?
Bye, Para
- pdreker
- Beiträge: 8298
- Registriert: 29.07.2002 21:53:30
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Nürnberg
Wenn Du den Traffic kontrollieren willst, der gebridget wird, dann brauchst Du ebtables, da iptables sich nicht mit dem Bridging zurechtfindet.
Patrick
Patrick
Definitely not a bot...
Jabber: pdreker@debianforum.de
Jabber: pdreker@debianforum.de
Hab ich auch schon von gelesen, allerdings will ich den traffic nicht wirklich kontrollieren... Mir reicht es ja schon, wenn sich beide Segmente irgendwie unterhalten können! Zur Zeit kommt nichts im jeweils anderen an, und ich befürchte iptables könnte da ne rolle spielen... Ist das so, oder läuft die bridge software erstmal unabhängig - obwohl sie auf dem selben rechner arbeitet? Wie gesagt, von den Segmenten zum bridge Rechner bzw. router klappt wunderbar...
Para
Para
- pdreker
- Beiträge: 8298
- Registriert: 29.07.2002 21:53:30
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Nürnberg
Hmm, da bewegst Du Dich wahrscheinlich auf wenig ausgetretenen Pfaden... Soll heissen: Router und Bridge auf der gleichen Maschine ist eine relativ ungewöhnliche Config...
Normalerweise würde ich sagen, wenn Du 3 Netzwerkkarten im Rechner hast, sollte das gehen, aber ich habe es nie ausprobiert...
Versuch doch einfach 'mal die iptables Firewall abzuschalten (alles auf ACCEPT und keine Regeln). geht es dann? Anderenfalls: Brauchst Du die Bridge wirklich, oder kannst Du das Netz umkonstruieren, so dass alles im gleichen Subnetz ist (KISS: Keep it simple, stupid...)
Patrick
Normalerweise würde ich sagen, wenn Du 3 Netzwerkkarten im Rechner hast, sollte das gehen, aber ich habe es nie ausprobiert...
Versuch doch einfach 'mal die iptables Firewall abzuschalten (alles auf ACCEPT und keine Regeln). geht es dann? Anderenfalls: Brauchst Du die Bridge wirklich, oder kannst Du das Netz umkonstruieren, so dass alles im gleichen Subnetz ist (KISS: Keep it simple, stupid...)
Patrick
Definitely not a bot...
Jabber: pdreker@debianforum.de
Jabber: pdreker@debianforum.de
Das iptables testen hatte ich mir schon vorgenommen... Auf die bridge verzichte ich natürlich gern! Aber:
- wie soll die IP config dann aussehen?
- ist es möglich den beiden internen interfaces dieselbe IP zu geben? Physikalisch sind sie ja getrennt (LAN,WLAN)...
- Falls nicht, ist es ratsam diesen interfaces unterschiedliche IPs zu geben?
- wenn das IP Problem gelöst ist, bist du sicher das die beide Seiten des Netzes erreichbar sind? Der PC in dem beide Karten stecken, müsste ja trotzdem die Rolle eines Hubs für diese beiden Karten spielen, nicht wahr? Lässt sich der Einsatz einer bridge also überhaupt vermeiden?
Fragezeichen, Para
- wie soll die IP config dann aussehen?
- ist es möglich den beiden internen interfaces dieselbe IP zu geben? Physikalisch sind sie ja getrennt (LAN,WLAN)...
- Falls nicht, ist es ratsam diesen interfaces unterschiedliche IPs zu geben?
- wenn das IP Problem gelöst ist, bist du sicher das die beide Seiten des Netzes erreichbar sind? Der PC in dem beide Karten stecken, müsste ja trotzdem die Rolle eines Hubs für diese beiden Karten spielen, nicht wahr? Lässt sich der Einsatz einer bridge also überhaupt vermeiden?
Fragezeichen, Para
- pdreker
- Beiträge: 8298
- Registriert: 29.07.2002 21:53:30
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Nürnberg
Die notwendige Netzwerkkonstruktion hängt sehr stark davon ab, wie die bestehende Config aussieht...
Welche Geräte sollen denn wie mit eineander verschaltet werden?
Patrick
Welche Geräte sollen denn wie mit eineander verschaltet werden?
Patrick
Definitely not a bot...
Jabber: pdreker@debianforum.de
Jabber: pdreker@debianforum.de
Alsoooo, zum besseren Verständnis mal ein Bildchen:
- LAN (inkl. Router) und WLAN haben identische subnets
- die Verbindungen LAN<->WAN und WLAN<->WAN funzen prima
- eth1 und eth2 sind per bridge zusammengefasst zu br0 (router nur eine interne IP)
- iptables sorgt für routing und firewall (kennt für intern nur br0)
- snat, dnat und forwarding für LAN und WLAN klappt (s.o.)
Gesucht ist nun LAN<->WLAN
Idee? Para
- LAN (inkl. Router) und WLAN haben identische subnets
- die Verbindungen LAN<->WAN und WLAN<->WAN funzen prima
- eth1 und eth2 sind per bridge zusammengefasst zu br0 (router nur eine interne IP)
- iptables sorgt für routing und firewall (kennt für intern nur br0)
- snat, dnat und forwarding für LAN und WLAN klappt (s.o.)
Gesucht ist nun LAN<->WLAN
Idee? Para
- pdreker
- Beiträge: 8298
- Registriert: 29.07.2002 21:53:30
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Nürnberg
Hmm... als einfachste Lösung fällt mir da folgendes ein: Verpass einem der internen Netze einfach ein anderes Subnetz (oder teile das bestehende Subnetz einfach in 2 (also /25 statt /24 Netmask). Die Routen auf dem Router sollten dann automatisch passend eingestellt werden (von /etc/network/interfaces). Wenn man jetzt auf den Clients den Router als Gateway einträgt sollte das schon gehen... Und alles ohne Bridge...
Patrick
Patrick
Definitely not a bot...
Jabber: pdreker@debianforum.de
Jabber: pdreker@debianforum.de
Noch einfacher geht es vielleicht mit proxy-arp, dann braucht man auch keine bridge:pdreker hat geschrieben:Verpass einem der internen Netze einfach ein anderes Subnetz (oder teile das bestehende Subnetz einfach in 2 (also /25 statt /24 Netmask).
Code: Alles auswählen
for file in /proc/sys/net/ipv4/conf/eth[12]/proxy_arp;
do
echo 1 > $file
done
- pdreker
- Beiträge: 8298
- Registriert: 29.07.2002 21:53:30
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Nürnberg
Proxy ARP ist ein Verbreichen an allen Netzwerkkonzepten, die je erfunden wurden.
Patrick
Patrick
Definitely not a bot...
Jabber: pdreker@debianforum.de
Jabber: pdreker@debianforum.de
- pdreker
- Beiträge: 8298
- Registriert: 29.07.2002 21:53:30
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Nürnberg
Wenn Du eine Erklärung haben willst dann frag danach. Die Tatsache, dass das warum Dich interessiert, spricht *für* Dich, aber dass Du mich scheinbar ganz locker auf eine Stufe mit Leuten stellst, die 1000e Unschuldige zu Tode gefoltert und bei lebendigem Leibe verbrannt haben *pisst* *mich* *echt* *an*.bollin hat geschrieben:Oh, hatte ich die heilige Inquisition beleidigt? Zum Glück hat sie alle mit tollen Argumenten vom wahren Gott überzeugt
So, nachdem das gesagt ist:
Warum sollte man einen Hack (und ProxyARP *ist* ein Hack... oder eigentlich ein Workaround) verwenden, wenn man einfach einen stinknormalen Router aufsetzen kann? Eine Bridge (2-Port Switch) ist übrigens eigentlich nichts anderes als sauberes, standardisiertes und automatisiertes ProxyARP. Mit ProxyARP kann man das Problem lösen, kein Einwand, aber bei Problemen ist ProxyARP wesentlich schlechter zu debuggen, als eine "Standardlösung". Und wieder einmal: K.I.S.S. ist das A&O im Netzwerk. Insbesondere, wenn damit *nicht* sein Geld verdient...
Zu dem "Verbrechen": ProxyARP verletzt die End-to-End Voraussetzung (genau so wie NAT), allerdings gibt es für NAT meistens keine Alternative (es sei denn man hat für zu Hause direkt 3 oder 4 routebare IP Adressen), während man ProxyARP *fast immer* umgehen kann. End-to-End ist eine der fundamentalsten Annahmen, die in IP vorhanden sind, und wenn man das Netz aufbauen kann, ohne diese zu verletzen, dann sollte man das IMVSO auch tun. Vor allem, wenn man ohnehin Kontrolle über das gesamte Netz hat, und es kein zwingendes Argument gibt, dass man die bestehenden IPs unbedingt beibehalten muss.
Patrick
Definitely not a bot...
Jabber: pdreker@debianforum.de
Jabber: pdreker@debianforum.de
Falls para Fundamentalisten sowenig mag wie ich, sollte er sich vielleicht auch mal den Abschnitt http://lartc.org/howto/lartc.bridging.proxy-arp.html
im Linux Advanced Routing & Traffic Control HOWTO durchlesen.
im Linux Advanced Routing & Traffic Control HOWTO durchlesen.
TorstenAn advantage ...
Another advantage ...
- pdreker
- Beiträge: 8298
- Registriert: 29.07.2002 21:53:30
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Nürnberg
Man braucht zur Lösung des Problems gar kein "Advanced Routing"... KISS.
Patrick
Patrick
Definitely not a bot...
Jabber: pdreker@debianforum.de
Jabber: pdreker@debianforum.de
Wow, erstmal danke für EURE Hilfe Immer ruhig bleiben... Ich bevorzuge allerdings auch die "saubere" Variante - vor allem weil ich sie verstehe! ProxyARP ist mir bisher nicht untergekommen
@Patrick: so (zwei subnets) hatte ich mein Netz vorher ohne bridge aufgebaut! Muss ich wohl nochmal so aufsetzen und diesmal das routing anpassen... Als gateway war der Router damals sowieso eingetragen, damit die subnets auch ins WAN kommen. Wenn ich nun die subnets miteinander verbinden will, muss ich dabei eigentlich auch iptables (ausser für's filtern) nutzen oder "reicht" der route-Befehl?
Pragmatiker, Para
@Patrick: so (zwei subnets) hatte ich mein Netz vorher ohne bridge aufgebaut! Muss ich wohl nochmal so aufsetzen und diesmal das routing anpassen... Als gateway war der Router damals sowieso eingetragen, damit die subnets auch ins WAN kommen. Wenn ich nun die subnets miteinander verbinden will, muss ich dabei eigentlich auch iptables (ausser für's filtern) nutzen oder "reicht" der route-Befehl?
Pragmatiker, Para
- pdreker
- Beiträge: 8298
- Registriert: 29.07.2002 21:53:30
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Nürnberg
Route sollte reichen... Eigentlich (!) sollte das aber schon automatisch eingerichtet werden, wenn Du die Netzwerkkarten in /etc/network/interface richtig konfiguriert hast. Wenn nicht, lies Dir einfach 'mal die man Page zu "interfaces" durch. Da kann man bei einem Interface einen Befehl angeben, der ausgeführt werden soll, wenn das Interface aktiviert wurde (post-up oder so ähnlich). Doret kannst Du dann den entsprechenden Route Befehl eintragen...
Patrick
Patrick
Definitely not a bot...
Jabber: pdreker@debianforum.de
Jabber: pdreker@debianforum.de
Ich bin zwar nicht der Patrick ...
Was sagt "cat /proc/sys/net/ipv4/ip_forward" ?
Da sollte eine 1 bei rauskommen weil LAN/WLAN -> WAN ja offensichtlich funktioniert.
Und wenn das so ist, dann sollte es eigentlich jetzt schon funktionieren.
Falls nicht, mach mal ein traceroute von einem LAN-Rechner zu einem WLAN Rechner und benutze die IP Addresse und keine Namen. Und fuer diesen Test nichts mit iptables filtern. Also alles auf accept.
Wenn es dann immernoch nicht geht dann ueberpruefe die Subnetmasken.
Gruss
arzie
Was sagt "cat /proc/sys/net/ipv4/ip_forward" ?
Da sollte eine 1 bei rauskommen weil LAN/WLAN -> WAN ja offensichtlich funktioniert.
Und wenn das so ist, dann sollte es eigentlich jetzt schon funktionieren.
Falls nicht, mach mal ein traceroute von einem LAN-Rechner zu einem WLAN Rechner und benutze die IP Addresse und keine Namen. Und fuer diesen Test nichts mit iptables filtern. Also alles auf accept.
Wenn es dann immernoch nicht geht dann ueberpruefe die Subnetmasken.
Gruss
arzie
Damit sagt man dem Kernel das er die FORWARD queue, in der Du dann Filtern kannst, fuettern soll.para hat geschrieben: @arzie: IP forwarding is natürlich an, aber das reicht wohl nich Wofür ist das eigentlich, wenn man bei iptables ohnehin eine FORWARD queue hat?
Para
Oder besser, das Pakete die nicht an den eigenen Host addressiert sind verarbeitet werden sollen.
arzie
Na endlich!
Letztenendes habe ich wieder alles so wie früher (ohne bridge) in zwei subnets aufgeteilt, was mir eh besser gefällt... Was ich damals nur nicht gemacht hatte, war zwei passende policies in mein routing-script einzufügen Ich denke ich habe zu der Zeit was von den bridge-tools gelesen und die einfache Variante seit dem Moment nicht weiter verfolgt - dabei hatte ich die Lösung immer vor Augen:
@Patrick: die route war natürlich auch früher immer schon richtig, nur weil iptables bei mir per default alles dropped, klappte es natürlich nicht
Danke an alle, Para
Code: Alles auswählen
iptables -A FORWARD -i eth1 -o eth2 -j ACCEPT
iptables -A FORWARD -i eth2 -o eth1 -j ACCEPT
Danke an alle, Para
Kaum macht man(n)'s richtig, funktioniert's auch!
Running Lenny on: 2.6.20.7
Running Lenny on: 2.6.20.7