IP Forwarding (IP V4) / Bridging ?
Jan 'RedBully' Seiffert
redbully at cc.fh-luh.de
Thu May 15 03:08:43 CEST 2008
Stefan U. Hegner wrote:
> Hi Flo,
>
> Florian Lohoff schrieb:
>> Du hast ein verstaendnissproblem. Du kannst entweder Ethernet Bridging
>> machen d.h bridge-utils installieren und mit brctl eine bridge bauen und
>> entsprechend die physikalischen interface darin aufnehmen. Dann verhaelt
>> sich dein Rechner wie ein Switch.
>>
>> Oder: Du machst routing d.h. IP Forwarding - Dafuer muessen die
>> interfaces unterschiedliche ip addressen haben und in deiner
>> routingtabelle entsprechende eintraege sein (ab 2.4er kernel default).
>> Dann musst du ip_forward anmachen wie du oben schon geschrieben hast
>> und auf den entsprechenden clients die kiste als "default" route
>> eintragen.
>>
> OK. Das klärt für mich Vieles. Was ich will ist IP-Forwarding.
Vielleicht.
Mit Bridgeing geht das auch...
>> Dann ist im routing was kaputt
>>
>> Wenn der aufbau:
>>
>> A <----> B <----> C
>>
> Fast: Ich habe so was wie:
>
> A (Client) <----> B (Server) <----> C (Router) <----> Internet
> A' <----------+ +-> Printer1/2
> A" <----------+ +-> TK-Anlage
> +-> AccessPoint
>
>> ist - dann muss A eine default route auf B haben, B muss 2 routen fuer
>> die netze nach A und C haben - und C eine defaultroute auf B.
>>
> Ich habe hier:
> A --defaultroute--> B
> B --defaultroute--> C
> C --defaultroute--> Internet
> Die anderen Geräte im B-C Netz habe IMHO keine Defaultroute.
>
> Müssen Geräte im B-C Netz eine Defaultroute nach B haben, damit ich von
> A auf sie zugreifen kann (http, telnet, ssh, ipp, etc.)? Das wäre mir neu.
Huh??
Nugut, die Geraete brauchen nicht eine Defaultroute damit das klappt,
aber sie brauchen eine Route zum Ziel. PUNKT.
Und das auf BEIDEN Seiten, sonst kann keine Zwei-Wege-Kommunikation
stattfinden (Also TCP, UDP koennte so gehen, wenngleich
ICMP-Fehlermeldungen den Sender dann nicht erreichen, was zu luestigen
Fehlern fuehrt, ach und UDP Antworten gehen dann auch nicht).
Wenn die nicht vorhanden ist, dann nehmen sie die Defaultroute nach dem
Motto "Hier, du Router, kuemmer du dich darum dass das hier ans Ziel
kommt, vielleicht weisst du ja, wo es lang muss".
Das beobachetet man im kleinen ja in seinem Heimnetz:
- Linklocal (also am gleichen Kabel) ist meist eine Route der Art
192.168.x.0/24 eingerichtet, was soviel heist wie "Alle IPs im 192.168.x
Netz haegen direkt an der Leitung"
- Dann ist da noch die Defaultroute, sie wird fuer alles andere
genommen, sprich "das Internet".
Eine Adresse wie 192.168.x+1.y wuerde so auch an den Defaultrouter
weitergegeben werden, genauso wie 193.99.144.80 .
Das Problem aber auch der Vorteil an den "Privaten Internetadressen"
(192.168., 168.???, 172.???., 10.) ist, das sie nicht geroutet werden.
Du kannst also zusaetzliche Routen einrichten, damit sich Sender und
Empfaenger finden (die auch ueber einen (mehr oder weniger speziellen)
Router gehen koennen) oder du kannst die Defaultroute dazu Missbrauchen.
Ganz zum Schluss liegt die Magie dann darin, wie man seinen (dafuer
designierten) Router einstellt: man iptables, man route, /etc/sysctl.conf
>> Dann testen ob B sowohl A und C erreichen kann - wenn dem so ist testen
>> ob A und C jeweils B (in ihrem subnetz erreichen koennen).
> positiv.
>
> Nur der Ping von A --> C (oder zu anderen Geräten im BC-Netz) geht
> nicht. Und das verstehe ich nicht. Ein Ping von C --> A ist hier nicht
> erwünscht / beabsichtigt.
>
return -ELOGIC;
Sie muessen sich Daten zusenden koennen, sonst nix Kommunikation.
Und A --> C wird wird wohl funktionieren (Clients reichen es an
Defaultroute), nur entweder es verlaesst den Router nie wieder (kein
routeing von privaten Addressen), oder der Empfaenger weiss nicht, wo er
hin Antworten soll. Also C --> A ist br0ken. Und das MUSST du aendern.
Ob man dann auf dem Router wieder filtert, steht auf einem anderen
Blatt: man iptables
>> Wenn das alles so ist kann nur das forwarding in B kaputt sein.
>>
> Das war ja meine Eingangsvermutung, dass da was nicht stimmt. Die Frage
> ist nur, was?
Dein Setup
Deine Ansicht wie das funktioniert ;-(
>>> Bin ich mal wieder blind auf den Ohren oder warum klappt das nicht?
>>>
>> Verstaendnissproblem gepart mit unsystematischem debugging ;)
>>
> Hey Flo, allein schon wegen solch schöner philosophischer Äußerungen,
> sollte ich mir schnell noch ein Pfund Probleme einfallen lassen, die ich
> posten kann. - Das muntert im unsystematischen-Debugging-Frust ungemein
> auf. - Und dass ich da unsystematisch bin, dafür bin ich ja bald berühmt ;-)
>
> Gruß
>
> Stefan.
>
>
Gruss
Jan
--
"Da koennen sie waehlen wie sie wollen.
Die sagen das ist Demokratie,
ich glaube das ist wie Scheisse am Schuh..."
Volker Pispers
More information about the Linux
mailing list