Bridge oder Router

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
mowses
Beiträge: 106
Registriert: 09.05.2003 15:33:01

Bridge oder Router

Beitrag von mowses » 08.05.2007 11:29:04

Hallo

Aus meinem Titel könnt ihr vielleicht schon entnehmen, dass ich im Grunde nicht so recht weiss was ich brauche. Ich habe einen PC auf dem debian etch und ein 2.6.20.1 Kernel (selbst gebacken) läuft. Nun möchte ich diese debian Box nutzen um meinen Laptop (Win XP) ins Internet zu bringen. Die Debian Box wiederum hängt über WLAN an einem WLAN Router:

WLAN Router <--> eth2 Debian Box eth0 <--> Laptop (Windows XP, Ethernet)

Ich habe es eignetlich schon soweit hinbekommen, dass ich von meinem Laptop bei ausgeschalteten WLAN gewisse Server im Internet anpingen kann. Allerdings klappt das nicht bei jedem und ich hab ehrlich gesagt keine Ahnung warum nicht. Auf der debian box habe ich zu diesem Zwecke einen DNS Server (bind9) installiert.

Im Grunde müsste es doch aber möglich sein, dass die DNS Anfragen vom Laptop einfach über die debian box an den WLAN Router geleitet werden...

In diesem von mir gewünschten Fall ist meine debian Box doch dann eine Bridge und kein router, oder? Und wie stelle ich es an, dass einfach alles was ins Internet gehen soll von eth0 an eth2 weitergereicht wird. Meine ersten Versuche liefen mit iptables ab was wohl schon mal der richtige weg zu sein scheint.

Ich bewege mich auf diesem Gebiet mit gefährlichem Halbwissen und bitte daher um eure Hilfe.

EDIT: Sobald ich zu Hause bin kann ich euch schon mal das iptables Script bzw. die Regeln posten welche ich bisher nutze. Bis dahin könnt ihr vielleicht schon mal mein Grundlegendes Verständniss ein wenig auffrischen. ;-)
Zuletzt geändert von mowses am 09.05.2007 21:51:02, insgesamt 1-mal geändert.

instinctless
Beiträge: 110
Registriert: 23.03.2007 11:42:46
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: nähe Hannover
Kontaktdaten:

Beitrag von instinctless » 08.05.2007 13:11:47

ne bridge wäre von vorteil.
ansonsten wird dir sicher
http://www.jwiesemann.de/linux/hautuh.html
weiterhelfen

mowses
Beiträge: 106
Registriert: 09.05.2003 15:33:01

Beitrag von mowses » 09.05.2007 21:57:29

Die Anleitung habe ich mir mal angeschaut. Allerdings ist die ja für ipchains und nicht iptables. Daher ist sie ziemlich alt und gerade in dem Bereich scheint sich ja einiges getan zu haben.

Ich habe nun diesen Thread mit dem Hinweis auf die bridge-utils doku gefunden. Mein Problem ist nur, dass ich an dem Rechner keinen Monitor dran habe. Wenn ich mich also mit den Setting vertue hab ich im Zweifel keinen Zugriff mehr...

Ist denn für meinen Fall eine einfache Bridge ausreichen, oder muss ich da noch mehr machen?

Benutzeravatar
DynaBlaster
Beiträge: 958
Registriert: 25.03.2004 18:18:57
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: DF0://dynablaster.adf

Beitrag von DynaBlaster » 10.05.2007 01:02:52

Ich würde das ganze über "normales" Routing machen. Das liegt aber daran, dass ich meine Grundlagen bezüglich Bridging auch eher im Bereich gefährliches Halbwissen ansiedeln würde. Nach meinem Verständnis funktioniert eine Bridge im Grunde wie ein "normaler" Switch/Hub - einfach alle Protokolle/Pakete von allen "gebridgten" Geräten werden unverändert an alle "gebridgten" Geräte weitergegeben - quasi vervielfacht. Wie in dem Fall die Pakete den Kernel passieern und wie dort entsprechende iptables-Regeln aussehen müssten, weiss ich nicht, für "normales" Routing sollte das hier reichen, um das Laptop ins Internet zu bringen.

Code: Alles auswählen

echo "1" > /proc/sys/net/ipv4/ip_forward
Im Konfigurations-Interface des WLAN-Routers musst du dann nur noch eine statische Route eintragen, die dem Router mitteilt, dass er das zweite Netz (von eth0 des Debian-PC und dem Laptop) über die IP von eth2 (des Laptop) erreicht. Das bedeutet, dass Netz 1 (WLAN) z.B. 192.168.0.0/24 und Netz 2 (Ethernet) 192.168.1.0/24 sein könnten - auf jeden Fall müssen es unterschiedliche Netze sein. Sollte der WLAN-Router statische Routen nicht unterstützen, kannst du den Traffic vom Laptop durch den Debian-PC maskieren lassen

Code: Alles auswählen

iptables -t nat -A POSTROUTING -i eth0 -o eth2 -j MASQERADE
alternativ bei statischer IP des WLAN-INTERFACES des Debian-Rechners

Code: Alles auswählen

iptables -t nat -A POSTROUTING -i eth0 -o eth2 -j SNAT --to IP von eth2
Sollte die Default-Policy der FORWARD-CHAIN durch ein Script auf Drop gesetzt worden sein, helfen diese Zeilen weiter:

Code: Alles auswählen

iptables -A FORWARD -i eth0 -o eth2 -j ACCEPT
iptables -A FORWARD -i eth2 -o eth0 -j ACCEPT

mowses
Beiträge: 106
Registriert: 09.05.2003 15:33:01

Beitrag von mowses » 10.05.2007 07:37:27

Wow!

Vielen Dank. Jetzt wo du das mit dem unveränderten weiterreichen der Pakete bei Bridges noch mal erwähnst fällt mir ein, dass ich sowas schon mal irgendwie gelesen hatte. Das soll auch zu Problemen führen, da Router die einen MAC-Filter drin haben dann die Pakete abweisen würden.

Einstellungen am Router vorzunehmen fällt leider aus.

Daher werde ich heute Nachmittag wenn ich zu Haus bin mal die von dir vorgeschlagenen iptables-Regeln versuchen.

Noch mal vielen Dank für deine ausführliche Antwort.

Benutzeravatar
DynaBlaster
Beiträge: 958
Registriert: 25.03.2004 18:18:57
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: DF0://dynablaster.adf

Beitrag von DynaBlaster » 10.05.2007 11:28:01

Kleiner Nachtrag:

Ich gehe davon aus, dass auf dem Debian-Rechner kein DHCP- und/oder DNS-Server läuft. In dem Fall musst du dem Laptop eine statische IP-Adresse zuweisen. Als Standard-Gateway trägst du die eth0-IP des Debian-Rechners ein. Damit die DNS-Auflösung klappt, musst du die IP-Adresse des WLAN-Routers verwenden oder die eines öffentlichen DNS-Services wie z.B. OpenDNS --> 208.67.222.222 bzw. 208.67.220.220.

Siehe auch: http://www.opendns.com/start/windows_xp.php

mowses
Beiträge: 106
Registriert: 09.05.2003 15:33:01

Beitrag von mowses » 10.05.2007 13:32:11

DynaBlaster hat geschrieben:Kleiner Nachtrag:

Ich gehe davon aus, dass auf dem Debian-Rechner kein DHCP- und/oder DNS-Server läuft. In dem Fall musst du dem Laptop eine statische IP-Adresse zuweisen. Als Standard-Gateway trägst du die eth0-IP des Debian-Rechners ein. Damit die DNS-Auflösung klappt, musst du die IP-Adresse des WLAN-Routers verwenden oder die eines öffentlichen DNS-Services wie z.B. OpenDNS --> 208.67.222.222 bzw. 208.67.220.220.

Siehe auch: http://www.opendns.com/start/windows_xp.php
Das mit statischer IP und Debian Box als Gateway hatte ich eh vor. einzig die Frage nach dem DNS Server war mir noch nicht so ganz klar. als erstes hatte ich versucht einen DNS server von T-Online auf dem Laptop einzutragen. Das klappte aber nicht so ganz. Was natürlich daran liegen könnte, dass ich nicht über T-Online drin bin. Danach habe ich dann auf der Debian box einen Nameserver eingerichtet. Ich werde es aber noch mal ohne den Nameserver auf der Debian Box und mit dem Router oder einem openDNS Server versuchen.

Wieder mal vielen Dank für deine Hilfe. Aber jetzt gib mir doch endlich mal Zeit das zu Hause alles zu probiern. Ich werde hier ja schon ganz ungeduldig. ;-)

EDIT: Das mit dem OpenDNS ist auf jeden Fall mal ein Versuch wert denke ich! :-) Abgesehen davon erklären die auch, wie man bind so konfiguriert, dass er die Anfragen an OpenDNS weiterreicht. Das wäre dann auch noch einen Versuch wert. Man so viel zu testen und so wenig Zeit. :-(

mowses
Beiträge: 106
Registriert: 09.05.2003 15:33:01

Beitrag von mowses » 10.05.2007 18:12:28

Ja Spitze! Auch wenn du mich an einer Stelle schon hast selber denken lassen klappt es!

Code: Alles auswählen

iptables -t nat -A POSTROUTING -o eth2 -j MASQUERADE
iptables -A FORWARD -i eth0 -o eth2 -j ACCEPT
iptables -A FORWARD -i eth2 -o eth0 -j ACCEPT
Führte mich zum Ziel. In der ersten Rule erlaubte das POSTROUTING kein Inputdevide. Daher habe ich eth0 gestrichen. Im MASQUERADE hattest du das "u" vergessen. Nun da ich auf meinem Laptop den openDNS Server eingetragen habe komme ich mit meinem Laptop ins Internet. :-) Also alles bestens. Da kann man mal sehen wie wenige Zeilen einen zum Ziel führen können.

Vielen Dank!

Benutzeravatar
DynaBlaster
Beiträge: 958
Registriert: 25.03.2004 18:18:57
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: DF0://dynablaster.adf

Beitrag von DynaBlaster » 10.05.2007 18:24:04

Okay,

das in der POSTROUTING-CHAIN kein INPUT-Interface angegeben werden darf, macht ja auch irgendwie Sinn, schließlich ist das Paket bereits geroutet worden - deswegen ja auch POSTROUTING.

Nobody is perfect, und ich schon mal gar nicht :lol:

Freut mich, dass es funktioniert,

David

Antworten