zwei rechner - eine dose

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
Benutzeravatar
michas
Beiträge: 380
Registriert: 12.08.2002 20:35:09
Wohnort: München

zwei rechner - eine dose

Beitrag von michas » 09.01.2004 23:24:08

Hallo,

Ich habe hier zwei Rechner, zwei (offizielle) IP-Adressen aber nur eine Dose (hinter der sich der Switch mit dem restlichen Netzwerk befindet).
nun sollte es doch möglich sein, Rechner A direkt an Die Dose zu hängen, und Rechner B an die zweite Netzwerk-Karte von Rechner A.

Wie sage ich jetzt aber Rechner A, dass er alles was von Rechner B kommt direkt Richtung Dose weiterschieben soll? (bzw. alles was für Rechner B ist an diesen schickt.)

(da B eine eigene IP-Adresse hat braucht A wirklich kein nat oder so zu machen.)

Irgendeine Idee? (oder gerne auch gute Doku.)

Benutzeravatar
Neroz999
Beiträge: 215
Registriert: 12.01.2003 22:20:24
Wohnort: Bay. Monte Carlo = München

Beitrag von Neroz999 » 09.01.2004 23:54:55

:google:


guter tipp !

-----------------------------------------------

http://www.emmes-world.de/linux/DE-Debi ... iGuide.pdf
Der Spiegel (32/2001)
Gott für jeden, Linus Torvalds ist vor allem sympathisch, weil er nicht Bill Gates ist.

Benutzeravatar
michas
Beiträge: 380
Registriert: 12.08.2002 20:35:09
Wohnort: München

Beitrag von michas » 09.01.2004 23:58:02

Na danke, soweit war ich auch schon. :roll:
Welche Stichworte würdest du denn vorschlagen?

Benutzeravatar
pdreker
Beiträge: 8298
Registriert: 29.07.2002 21:53:30
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Nürnberg

Beitrag von pdreker » 10.01.2004 00:53:36

Das eigentliche Problem ist: Du willst keinen Router, sondern im Prinzip eine Bridge (oder ProxyARP, wenn man's mag). Anderenfalls müsste ja alle anderen Rechner im Netz wissen, dass sie, um Rechner A zu erreichen, ihre Pakete an Rechner B schicken müssten. Mit einer Bridge geht das Transparent.

Aber 'mal ganz ehrlich: Kauf Dir doch einfach einen billigen 4 Port 100MBit Switch. Kostet echt nicht die Welt und ist um Lichtjahre einfacher... eBay oder der Kistenschieber Deines Vertrauens helfen Dir sicherlich gerne weiter...

Patrick
Definitely not a bot...
Jabber: pdreker@debianforum.de

Benutzeravatar
michas
Beiträge: 380
Registriert: 12.08.2002 20:35:09
Wohnort: München

Beitrag von michas » 10.01.2004 02:17:24

Hi Patrick,

Bisher hatte ich einfach nen tinyproxy auf dem einen Rechner installiert und zwischen den beiden Rechner ein privates Netzwerk aufgebaut. Das geht zum Installieren übers Netz und ein bischen "surfen" ganz gut, aber zum sinnvoll arbeiten (z.b. ssh) ist es doch etwas umständlich. Da ich aber eh noch ne zweite IP-Adresse verwenden kann, hatte ich eben überlegt ihn etwas direkter mit ins Netz zu hängen.

Gut, auf ARP-Ebene werden es auf jeden Fall wohl zwei Netze bleiben, aber auf IP-Ebene müsste man die doch ganz gut zusammenbekommen:

Rechner A hat B als Gateway, schickt also alle Pakete dorthin.
B liefert Pakete ganz normal aus, wie wenn sie von ihm selbst stammen. (An der Stelle bin ich mir nicht ganz sicher, was ich dazu noch aktivieren muss. (Hat das was mit IP-Forwarding zu tun?))

In der anderen Richtung, müsste B einfach nur auch ARP-Requests für A beantworten.¹
Dann bekommt er wieder die Pakete und liefert sie entsprechend aus.
(¹Da gibts doch bestimmt auch ne Möglichkeit für, oder?)

Als nächster Schritt könnte B dann auch noch ein bischen Firewall für A spielen.

Switch is hier moment wirklich nicht.
Auserdem löst es das problem nicht sondern umgeht es.:wink:
Ok, vielleicht ist die Aufgabe etwas "akademisch" aber mir geht es u.a. auch darum bei den ganzen Netzwerk-Innereien (und deren Umsetzung unter Linux) etwas besser durchzublicken.

Deshalb wird brauchbare Doku auch gerne angenommen.

Benutzeravatar
Bert
Beiträge: 3751
Registriert: 16.07.2002 14:06:52
Wohnort: Dresden
Kontaktdaten:

Beitrag von Bert » 10.01.2004 11:41:41

Warum baust Du dann nicht einfach B als Router aus und machst NAT für A? Wenn Du A nicht von außen erreichen mußt ist das wahrscheinllich die einfachste Variante.
Programmer: A biological machine designed to convert caffeine into code.
xmpp:bert@debianforum.de

Pinky75
Beiträge: 17
Registriert: 10.01.2004 11:30:19

Beitrag von Pinky75 » 10.01.2004 12:02:41

Du brauchst nur einen einzigen Befehl ausführen auf Rechner A

route add IP_VON_B ethX (X sollte die Netzwerkkarte sein, die zu Rechner A geht).

Fertig!

Benutzeravatar
pdreker
Beiträge: 8298
Registriert: 29.07.2002 21:53:30
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Nürnberg

Beitrag von pdreker » 10.01.2004 20:16:36

Pinky75 hat geschrieben:Du brauchst nur einen einzigen Befehl ausführen auf Rechner A
route add IP_VON_B ethX (X sollte die Netzwerkkarte sein, die zu Rechner A geht).
Fertig!
Tschuldigung, aber das ist Schwampf... :-?

@michas: Proxy-ARP löst genau das Problem, dass die Netze auf ARP Ebene nicht verbunden sind. Rechner B ("Router") beantwortet dann automatisch die ARP Requests für und von Rechner A. Erfordert aber etwas Bastelei.

Wirf 'mal einen Blick ins "Advanced-Routing-HOWTO", da wird sowas erklärt...

Patrick
Definitely not a bot...
Jabber: pdreker@debianforum.de

Pinky75
Beiträge: 17
Registriert: 10.01.2004 11:30:19

Beitrag von Pinky75 » 10.01.2004 20:31:20

pdreker hat geschrieben:
Pinky75 hat geschrieben:Du brauchst nur einen einzigen Befehl ausführen auf Rechner A
route add IP_VON_B ethX (X sollte die Netzwerkkarte sein, die zu Rechner A geht).
Fertig!
Tschuldigung, aber das ist Schwampf... :-?
Nun, ich nehme deine Kritik gerne zur Kenntnis, aber ob meine Lösung funktioniert oder nicht, hängt von der Art ab, wie der Router des ISPs konfiguriert ist. Meine Lösung mag zwar nicht funktionieren, wenn die IP über ARP aufgelöst wird, aber wenn im Router als Gateway die IP von Rechner A angegeben ist, ist meine Lösung mit Abstand die einfachste und funktionierende Lösung.

Benutzeravatar
pdreker
Beiträge: 8298
Registriert: 29.07.2002 21:53:30
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Nürnberg

Beitrag von pdreker » 10.01.2004 20:43:44

Na gut...

Rechner B ist der Router, Rechner A hängt dahinter, Rechner X hängt im Netzwerk auf "der anderen Seite" von Rechner A. Wie soll Rechner X Rechner B erreichen? Alle Rechner im Netzwerk haben eine Route: localnet -> eth0, alles andere ans Gateway schicken. Rechner A ist aber einfach nicht im Ethernet sichtbar, ARP Requests timen also ohne sonstige Konfig einfach aus, und man bekommt auf IP Ebene "No Route to host" oder "Destination Unreachable".

Route setzen + IP Forwarding + Proxy ARP funktioniert. Kernel Bridging funktioniert auch. Nur die Route alleine reicht nicht, weil der ganze Rest des Netzwerks nicht weiss wo Rechner A zu finden ist. Was natürlich nicht ausschliesst, dass es (IMO allerdings sehr spezielle) Netzwerkkonstellationen gibt, bei denen das geht. Im Allgemeinen geht es nicht.

Ich bleibe dabei: nur die Route zu setzen ist falsch (und damit Schwampf). Aber michas kann das ja 'mal testen.

Mir zu unterstellen ich hätte von IP und Co. keine Ahnung ist auch ganz schön weit aus dem Fenster gelehnt... Aber egal.

Patrick (Netzwerk-/Systemadministrator für ca. 80 Maschinen)
Definitely not a bot...
Jabber: pdreker@debianforum.de

Pinky75
Beiträge: 17
Registriert: 10.01.2004 11:30:19

Beitrag von Pinky75 » 10.01.2004 21:01:58

Ich gebe zu, dass meine Lösung des Problems an gewisse Randbedingungen geknüpft ist. Ich möchte allerdings anmerken, dass der Einsatz eines ARP-Proxies nur notwendig ist, wenn die IP über ARP aufgelöst wird. Das ist nicht der Fall, wenn der Rechner X (in deinem Beispiel) Rechner A als Gateway zu Rechner B eingestellt hat. Somit wäre der ARP-Proxy ein "mit Kanonen auf Spatzen schießen", denn warum einen zusätzlichen Daemon, wenn man mit Bordmitteln weiterkommt? (wer installiert schon Winword um autoexec.bat zu editieren?) :!:

Falls meine Annahme allerdings nicht richtig ist (dazu wäre es einmal wichtig, diese Randbedingung vom Urheber dieses Threads zu erfahren), dann gebe ich dir Recht.

Schön, dass du 80 Rechner administrierst. :wink:

Benutzeravatar
pdreker
Beiträge: 8298
Registriert: 29.07.2002 21:53:30
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Nürnberg

Beitrag von pdreker » 10.01.2004 21:04:13

Pinky75 hat geschrieben:Schön, dass du 80 Rechner administrierst. :wink:
Ich wollte erst "Co-Admin / Moderator" schreiben, aber das qualifiziert ja nun für gar nix... ;-) Gönn' mir doch meine "Schw*nzverlängerung" ;-)

Friede...

Patrick
Definitely not a bot...
Jabber: pdreker@debianforum.de

Pinky75
Beiträge: 17
Registriert: 10.01.2004 11:30:19

Beitrag von Pinky75 » 10.01.2004 21:06:05

Friede ...

Benutzeravatar
michas
Beiträge: 380
Registriert: 12.08.2002 20:35:09
Wohnort: München

Beitrag von michas » 10.01.2004 21:34:27

pdreker hat geschrieben:Proxy-ARP löst genau das Problem, dass die Netze auf ARP Ebene nicht verbunden sind. Rechner B ("Router") beantwortet dann automatisch die ARP Requests für und von Rechner A. Erfordert aber etwas Bastelei.

Wirf 'mal einen Blick ins "Advanced-Routing-HOWTO", da wird sowas erklärt...
Hey, spitze! Das scheint tatsächlich das zu sein, was ich gesucht hab. Danke.
Und soo schlüm scheint die Bastelei auch nich zu sein. :)

Noch ne kleine Frage dazu:
Ungefähr so sieht ja jetzt meine Konstruktion aus:

Code: Alles auswählen

 A (10.1) ----- (10.2) B (10.3) ----- (10.4) Gateway --- Internet
Sehe ich das richtig, das ich jetzt 3 IP-Adressen aus meinen Netzwerk für die zwei Rechner brauch?
Könnte ich eigentlich dem lokalen Interface von B nicht auch die IP-Adresse 10.4 anstatt 10.2 zuweisen? (In jedem Segment wären die IPs ja noch eindeutig, und 10.2 hat in obigen Bild eigentlich keine sinnvolle Funktion..)
Fällt dir spontan was ein, was dagegensprechen würde?

dankende Grüße
- michas

Benutzeravatar
pdreker
Beiträge: 8298
Registriert: 29.07.2002 21:53:30
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Nürnberg

Beitrag von pdreker » 10.01.2004 22:53:11

So wie ich das einschätze, brauchst Du eine zusätzliche IP, ich habe es aber nicht ausprobiert. Die doppelte Vergabe der IPs ist nicht möglich, weil die ARP Requests dann nicht mehr eindeutig beatwortet werden können.

Aber ganz ehrlich: absulutely untested. Ausprobieren...

Patrick
Definitely not a bot...
Jabber: pdreker@debianforum.de

Benutzeravatar
michas
Beiträge: 380
Registriert: 12.08.2002 20:35:09
Wohnort: München

Beitrag von michas » 11.01.2004 01:14:07

Hey, die ganze Theorie funktioniert ja sogar in der Praxis. ;)
Läuft tatsächlich alles problemlos. *freu*
(Ich hab den beiden Interfaces übrigens einfach die gleiche IP zugewiesen.)

Die Konfiguration beschränkt sich auch wirklich nur auf zwei Zeilen, die die entsprechenden Optionen im Kernel aktivieren.

Wo bringt man die denn jetzt am einfachsten unter, wenn man das gleich beim Starten aktiviert haben möchte?

Ein eigenes rc-Script, als ifupdown-script oder gibts da nen eigenen Platz für sowas?

Antworten