MASQUERADING

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
Benutzeravatar
nopes
Beiträge: 22
Registriert: 19.08.2003 12:38:44
Wohnort: Kempen

MASQUERADING

Beitrag von nopes » 25.06.2004 12:51:12

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.

Benutzeravatar
mistersixt
Beiträge: 6601
Registriert: 24.09.2003 14:33:25
Lizenz eigener Beiträge: GNU Free Documentation License

Beitrag von mistersixt » 25.06.2004 16:34:50

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.

Benutzeravatar
nopes
Beiträge: 22
Registriert: 19.08.2003 12:38:44
Wohnort: Kempen

Beitrag von nopes » 25.06.2004 18:08:59

Hi
danke erstmal und ja ist jetzt klar.

An eth0 ist allerdings auch eine private IP Adresse, da eth0 ja ein einem "richtigen" Router (Cisco 801 ISDN) hängt.

Ich wollte nämlich eigentlich eine art zwei Stufenschutz oder so...
Gruß
nopes

delumax
Beiträge: 63
Registriert: 14.06.2004 08:25:51

Beitrag von delumax » 26.06.2004 11:47:39

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.

Benutzeravatar
nopes
Beiträge: 22
Registriert: 19.08.2003 12:38:44
Wohnort: Kempen

Beitrag von nopes » 26.06.2004 14:53:59

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
Gruß
nopes

delumax
Beiträge: 63
Registriert: 14.06.2004 08:25:51

Beitrag von delumax » 26.06.2004 17:22:49

Könnte es sein das der Cisco Router keine Pakete aus fremden Netzen auf eth0 annimmt?! Du brauchst definitiv kein RIP. Wenn es dich trotzdem interessiert schau mal nach zebra.

Benutzeravatar
nopes
Beiträge: 22
Registriert: 19.08.2003 12:38:44
Wohnort: Kempen

Beitrag von nopes » 27.06.2004 02:15:05

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 :wink:.
Gruß
nopes

delumax
Beiträge: 63
Registriert: 14.06.2004 08:25:51

Beitrag von delumax » 28.06.2004 20:02:25

..der Cisco nimmt Packete, das Routing ansich geht ja auch.
Bisher hast du gesagt das du bis eth0 vom Cisco nur per Masquerading kommst?! Durch das Masquerading ist das Paket ja nicht aus einem fremden Netz..

Antworten