Hi,
ich betriebe einen Rechner mit Debian drauf (was ein Zufall,-)), in dem Rechner sind zwei Netzwerkkarten drin. An ETH0 ist ein Router zum Internet dran, an ETH1 ein Switch für das LAN.
Frage dazu, was ich nicht verstehe ist, daß der Rechner erst Routet (damit meine ich von einem anderem Rechner im LAN einen Rechner im Internet bzw. 'hinter' ETH0 anzusprechen), wenn ich Masquerading einschalte (mache ich mit "iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE"). Wieso tut der das erst dann, obwohl ich doch schon vorher IP Forward erlaubt habe?
Gruß und danke schonmal
nopes
PS: Ja, die 1 steht drin im proc System und ja ich habe es in /etc/network/... erlaubt.
MASQUERADING
- mistersixt
- Beiträge: 6601
- Registriert: 24.09.2003 14:33:25
- Lizenz eigener Beiträge: GNU Free Documentation License
Weil du garantiert im eth1-Netzwerk "private" IP-Adressen vergeben hast, als Hintergrundinformation:
Damit man lokale Netze ohne Internetanbindung mit TCP/IP betreiben kann, ohne IP-Nummern beantragen zu müssen und um auch einzelne Rechnerverbindungen testen zu können, gibt es einen ausgesuchten Nummernkreis, der von keinen Router nach außen gegeben wird. Diese "privaten" Adressen sind im RFC 1597 festgelegt. Es gibt ein Class-A-Netz, 16 Class-B-Netze und 255 Class-C-Netze:
Private IP-Adressen
Class-A-Netz: 10.0.0.0 - 10.255.255.255
Class-B-Netze: 172.16.0.0 - 172.31.255.255
Class-C-Netze: 192.168.0.0 - 192.168.255.255
Dein eth0-Interface hat mit Sicherheit eine offizielle Internet-Adresse, das Masquerading setzt nun die privaten IP-Adressen, die von eth1 angeschwirrt kommen, um auf die offizielle Deines eth0-Interfaces und werden so ins grosse Netz geleitet. Wenn Antwortpakete zum eth0-Interface zurückkommen, "weiss" Dein Linux-Rechner, für welche private IP dieses Paket eigentlich gedacht war und schickt sie über eth1 wieder an Deinen Rechner im LAN.
Ist es etwas klarer geworden? Ich hoffe...
Gruss, mistersixt.
Damit man lokale Netze ohne Internetanbindung mit TCP/IP betreiben kann, ohne IP-Nummern beantragen zu müssen und um auch einzelne Rechnerverbindungen testen zu können, gibt es einen ausgesuchten Nummernkreis, der von keinen Router nach außen gegeben wird. Diese "privaten" Adressen sind im RFC 1597 festgelegt. Es gibt ein Class-A-Netz, 16 Class-B-Netze und 255 Class-C-Netze:
Private IP-Adressen
Class-A-Netz: 10.0.0.0 - 10.255.255.255
Class-B-Netze: 172.16.0.0 - 172.31.255.255
Class-C-Netze: 192.168.0.0 - 192.168.255.255
Dein eth0-Interface hat mit Sicherheit eine offizielle Internet-Adresse, das Masquerading setzt nun die privaten IP-Adressen, die von eth1 angeschwirrt kommen, um auf die offizielle Deines eth0-Interfaces und werden so ins grosse Netz geleitet. Wenn Antwortpakete zum eth0-Interface zurückkommen, "weiss" Dein Linux-Rechner, für welche private IP dieses Paket eigentlich gedacht war und schickt sie über eth1 wieder an Deinen Rechner im LAN.
Ist es etwas klarer geworden? Ich hoffe...
Gruss, mistersixt.
Du wirst wahrscheinlich den Router und eth0 in einem anderen Subnetz betreiben wie den Rest des Netzwerks?! In diesem Fall hast du wahrscheinlich keine Rückroute auf dem Cisco Router gesetzt. Dieser weiss daher nicht wohin er die Pakete zurückschicken soll und verschickt sie über sein Standardgateway.
Hi,
also erstmal die Config:
Netze:
192.168.0.0/24 dmz.local
192.164.2.0/24 milkyway.local
Debian Rechner:
eth0: 192.168.0.2 sol.dmz.local
eth1: 192.168.2.1 sol.milkyway.local (default Gateway für die Clients)
Cisco:
eth0: 192.168.0.1 rtr01.dmz.local (default Gateway für sol)
bri0: ppp
Und ja ist richtig das der Cisco alles über bri0 also ins Internet Routet, so daß Packete die in das Netz milkyway.local sollen dort nicht ankommen. Man könnte allerdings eine Statische Route bestimmen, um diese Problem zu lösen.
Hatte ich auch eingestellte, der einzige Unterschied war, daß ich so vom Cisco in das zweite Netz (milkyway.local) gekommen bin. Um aber mit einem Client bis zum und hinter den Router zu kommen, mußte ich aber wieder maskieren.
Die Route ist auch wieder gelöscht, da Teilnehmer im Netz milkyway.local von außen nicht erreichbar seien dürfen/sollen. Außerdem hätte es dem Router eh nicht viel genutzt, da sol keine neuen Verbindungen von außen (eth0) annimmt.
Aber was anderes, ich habe neulich gelesen, daß jedes Linux den Befehl routed kennen würde. Damit sol man RIP (Router Information Protocol) verwenden können, fand ich eigentlich recht spannend.
Leider kennt mein Debian diesen Befehl nicht, und ich finde auch kein Packet. Ist routed jetzt veraltet und ersetzt worden?
Danke schonmal
also erstmal die Config:
Netze:
192.168.0.0/24 dmz.local
192.164.2.0/24 milkyway.local
Debian Rechner:
eth0: 192.168.0.2 sol.dmz.local
eth1: 192.168.2.1 sol.milkyway.local (default Gateway für die Clients)
Cisco:
eth0: 192.168.0.1 rtr01.dmz.local (default Gateway für sol)
bri0: ppp
Und ja ist richtig das der Cisco alles über bri0 also ins Internet Routet, so daß Packete die in das Netz milkyway.local sollen dort nicht ankommen. Man könnte allerdings eine Statische Route bestimmen, um diese Problem zu lösen.
Hatte ich auch eingestellte, der einzige Unterschied war, daß ich so vom Cisco in das zweite Netz (milkyway.local) gekommen bin. Um aber mit einem Client bis zum und hinter den Router zu kommen, mußte ich aber wieder maskieren.
Die Route ist auch wieder gelöscht, da Teilnehmer im Netz milkyway.local von außen nicht erreichbar seien dürfen/sollen. Außerdem hätte es dem Router eh nicht viel genutzt, da sol keine neuen Verbindungen von außen (eth0) annimmt.
Aber was anderes, ich habe neulich gelesen, daß jedes Linux den Befehl routed kennen würde. Damit sol man RIP (Router Information Protocol) verwenden können, fand ich eigentlich recht spannend.
Leider kennt mein Debian diesen Befehl nicht, und ich finde auch kein Packet. Ist routed jetzt veraltet und ersetzt worden?
Danke schonmal
Gruß
nopes
nopes
Hi,
danke erstmal werde mir das "Pferd" gleich mal vornehmen, sieht ja viel versprechenden aus und doch der Cisco nimmt Packete, das Routing ansich geht ja auch.
RIP intressiert mich eigentlich nur zum Ausprobieren, will halt wissen wie ich das bei einem Debian Rechner verwenden kann.
Vorteil wäre, daß der Cisco bzw. die Router sich automatisch bei bringen welche Routen es so im LAN gibt. Bei mir sollte der Cisco dann also raffen, daß ein weiters Netz über eth0 erreichbar ist. Zugegeben bei einem kleinen LAN, wie bei mir, gibt es da nicht so viel, man kann es also leicht zu Fuß machen. Spannend wird es aber, wenn man viele Netze hat und/oder wie ich zur Faulheit neigt .
danke erstmal werde mir das "Pferd" gleich mal vornehmen, sieht ja viel versprechenden aus und doch der Cisco nimmt Packete, das Routing ansich geht ja auch.
RIP intressiert mich eigentlich nur zum Ausprobieren, will halt wissen wie ich das bei einem Debian Rechner verwenden kann.
Vorteil wäre, daß der Cisco bzw. die Router sich automatisch bei bringen welche Routen es so im LAN gibt. Bei mir sollte der Cisco dann also raffen, daß ein weiters Netz über eth0 erreichbar ist. Zugegeben bei einem kleinen LAN, wie bei mir, gibt es da nicht so viel, man kann es also leicht zu Fuß machen. Spannend wird es aber, wenn man viele Netze hat und/oder wie ich zur Faulheit neigt .
Gruß
nopes
nopes