Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Zwei Netzwerke, eine Netzwerkkarte?

74 views
Skip to first unread message

Marcus Woletz

unread,
May 14, 2005, 7:51:34 PM5/14/05
to
Hallo Leute,

ich hoffe, ich bin hier richtig. Folgendes Problem:

PC mit einer Netzwerkkarte, Netzwerkadresse 192.168.0.0
(Netzmaske 255.255.255.0).

In das Netzwerk soll nun ein Teilnehmer mit der
Netzwerkadresse 192.168.178.0 (Maske 255.255.255.0)
eingefügt werden.

Nun habe das in Linux (nach langem Probieren und Doku lesen)
so realisiert, dass ich der Netzwerkkarte eine zweite IP
zugeteilt habe. Das ganze funktioniert auch. Allerdings bleiben
folgende Fragen:

1.) Ist das die korrekte (saubere) Lösung?
2.) Ist es überhaupt sauber, zwei Netzwerke auf
eine Netzwerkschnittstelle zu legen?
3.) Warum sind alle meine Versuche, das gewünschte
Verhalten über das setzen von statischen Routen
gescheitert?

Danke für Eure Mithilfe.

ciao
Marcus

Simon Krahnke

unread,
May 14, 2005, 8:52:03 PM5/14/05
to
* Marcus Woletz <mwoletz...@online.de> (01:51) schrieb:

> PC mit einer Netzwerkkarte, Netzwerkadresse 192.168.0.0
> (Netzmaske 255.255.255.0).
>
> In das Netzwerk soll nun ein Teilnehmer mit der
> Netzwerkadresse 192.168.178.0 (Maske 255.255.255.0)
> eingefügt werden.
>
> Nun habe das in Linux (nach langem Probieren und Doku lesen)
> so realisiert, dass ich der Netzwerkkarte eine zweite IP
> zugeteilt habe. Das ganze funktioniert auch. Allerdings bleiben
> folgende Fragen:

Du hast also auch 192.168.178.x/24 auf die Schnittstelle gelegt?

> 1.) Ist das die korrekte (saubere) Lösung?

Ja, wieso nicht, es sind halt zwei IP-Netze auf einem Ethernet.

> 2.) Ist es überhaupt sauber, zwei Netzwerke auf
> eine Netzwerkschnittstelle zu legen?

An sich sollte das okay sein. Kann natürlich sein, das irgendwelche
Ressourcen- oder Sicherheitsaspekte dagegen sprechen.

> 3.) Warum sind alle meine Versuche, das gewünschte
> Verhalten über das setzen von statischen Routen
> gescheitert?

Wie hätte das denn funktionieren sollen? Wohin soll die Route gehen?
Linux muss doch irgendwoher wissen, das es Pakete für 192.168.178.y auf
die Schnittstelle werfen sollen.

Du könntest natürlich auch beide Netze zu 192.168.0.0/16 machen, wenn du
das jedem Beteiligten klarmachen kannst.

mfg, simon .... l

Marcus Woletz

unread,
May 15, 2005, 9:32:33 AM5/15/05
to
Hallo Simon,

zuerst einmal vielen Dank für deine Antwort.

Simon Krahnke schrieb:
{...]


> Du hast also auch 192.168.178.x/24 auf die Schnittstelle gelegt?

Ja

[...]


>>3.) Warum sind alle meine Versuche, das gewünschte
>>Verhalten über das setzen von statischen Routen
>>gescheitert?
>
>
> Wie hätte das denn funktionieren sollen? Wohin soll die Route gehen?
> Linux muss doch irgendwoher wissen, das es Pakete für 192.168.178.y auf
> die Schnittstelle werfen sollen.

Meine Überlegung war folgende: wenn die Netzwerkschnittstelle z.B. die
IP-Adresse 192.168.0.50 hat, dann könnte ich doch theoretisch eine Route
von 192.168.0.50 (also die IP der Ethernetkarte) auf 192.168.178.0/24
einfügen. Nach meinem Verständnis müssten dann doch Pakete mit Ziel
des "fremden" Netzes über die Ethernetkarte geroutet werden.
Leider sind bisher alle Experimente mit einer solchen Route
fehlgeschlagen. Aber evtl. fehlt mir noch das tiefergehende Verständnis
über Routing, um zu verstehen, warum es so _nicht_ funktionert.
Denn selbst wenn ich eine Route einfüge, die besagt:
"das Netz 192.168.178.0/24 ist direkt mit dem Rechner verbunden",
nämlich über die einzige Netzwerkkarte, dann funktioniert das auch
nicht. Das "fremde" Gerät ist einfach nicht sichtbar. Gibt es also
tatsächlich keine Möglichkeit, das ganze über eine statische Route
zu erreichen? Wäre mir irgendwie deutlich angenehmer gewesen.


>
> Du könntest natürlich auch beide Netze zu 192.168.0.0/16 machen, wenn du
> das jedem Beteiligten klarmachen kannst.

Habe ich auch schon überlegt. Mal sehen...

>
> mfg, simon .... l


ciao
Marcus

Jens Hoffmann

unread,
May 15, 2005, 11:21:47 AM5/15/05
to
Marcus Woletz <mwoletz...@online.de> wrote:
> Das "fremde" Gerät ist einfach nicht sichtbar.

Schau mal anders rum. Woher soll das "fremde" Geraet wissen, wohin es
die Antwort schicken soll?

Gruss,
Jens

Simon Krahnke

unread,
May 15, 2005, 6:19:06 PM5/15/05
to
* Marcus Woletz <mwoletz...@online.de> (15:32) schrieb:

> Simon Krahnke schrieb:

>> Wie hätte das denn funktionieren sollen? Wohin soll die Route gehen?
>> Linux muss doch irgendwoher wissen, das es Pakete für 192.168.178.y auf
>> die Schnittstelle werfen sollen.
>
> Meine Überlegung war folgende: wenn die Netzwerkschnittstelle z.B. die
> IP-Adresse 192.168.0.50 hat, dann könnte ich doch theoretisch eine Route
> von 192.168.0.50 (also die IP der Ethernetkarte) auf 192.168.178.0/24
> einfügen.

Und woher weiß 192.168.0.50 dann, wohin das Paket soll?

Am Ende von indirekten Routen muss irgendwann mal eine direkte kommen,
und genau die setzt du doch mit der Zuweisung der IP-Adresse.

> Nach meinem Verständnis müssten dann doch Pakete mit Ziel
> des "fremden" Netzes über die Ethernetkarte geroutet werden.

Deine Ethernetkarte kann aber nicht routen, das kann nur dein Linux.

Natürlich könntest du z.B. »ip route add 192.168.178.0/24 dev eth0«
sagen. Das macht genau das, was du willst, und wird bei der IP-Zuweisung
auch implizit gemacht.

Dein anderer Rechner muss mit Absende-Adresse aber auch wieder etwas
anfangen können: Wenn er einfach meint in 192168.178.0/24 zu sein und
keine Route kennt, kann er mit 192.168.0.50 nichts anfangen. Du musst
deinen Linux-Router also auch in 192.168.178.0/24 packen.

mfg, simon .... l

Juergen P. Meier

unread,
May 16, 2005, 5:45:06 AM5/16/05
to
Marcus Woletz <mwoletz...@online.de>:

> Nun habe das in Linux (nach langem Probieren und Doku lesen)
> so realisiert, dass ich der Netzwerkkarte eine zweite IP
> zugeteilt habe. Das ganze funktioniert auch. Allerdings bleiben
> folgende Fragen:
>
> 1.) Ist das die korrekte (saubere) Lösung?

Ja.

> 2.) Ist es überhaupt sauber, zwei Netzwerke auf
> eine Netzwerkschnittstelle zu legen?

Ja.

> 3.) Warum sind alle meine Versuche, das gewünschte
> Verhalten über das setzen von statischen Routen
> gescheitert?

Du brauchst einen Router dafuer, der zwei "Beine" aka IP-Interfaces
in den jeweiligen Netzen hat, und dazwischen Pakete routet.

Dein Linux-Rechner koennte das, wenn er wie oben beschrieben, je eine
IP in den beiden Netzen (zwei Interfaces auf Layer-3) hat, und
ip_forwarding auf 1 gesetzt ist.

Die anderen Hosts muessen dann die jeweilige IP des Linux-routers als
Gateway zum jeweils andreren Netz eingetragen haben.

Um unnoetige Last zu vermeiden empfiehlt es sich, ICMP Redirects zu
aktivieren (das der Linux-Router sie verschickt) und auf den clients
zu erlauben (das sie diese auch verarbeiten).

> Danke für Eure Mithilfe.

HTH,
Juergen
--
Juergen P. Meier - "This World is about to be Destroyed!"
end
If you think technology can solve your problems you don't understand
technology and you don't understand your problems. (Bruce Schneier)

Marcus Woletz

unread,
May 16, 2005, 7:32:58 AM5/16/05
to
Hallo Leute,

vielen Dank an alle, die mir geantwortet haben!
Ich werde nun bei der zweiten IP-Adresse
für die Netzwerkkarte bleiben.

Schönen Tag noch.

ciao
Marcus

Simon Krahnke

unread,
May 16, 2005, 8:39:09 AM5/16/05
to
* Juergen P. Meier <nospa...@jors.net> (11:45) schrieb:

> Um unnoetige Last zu vermeiden empfiehlt es sich, ICMP Redirects zu
> aktivieren (das der Linux-Router sie verschickt) und auf den clients
> zu erlauben (das sie diese auch verarbeiten).

Blöde Frage: Wie geht ersteres? Meine Recherche hatte dazu nicht
ergeben.

mfg, simon .... l

Holger Petersen

unread,
May 16, 2005, 12:35:32 PM5/16/05
to
Simon Krahnke <over...@gmx.li> writes:

Eventuell mit:

echo "1" > /proc/sys/net/ipv4/conf/eth0/send_redirects

Da in der Umgebung gibt es auch noch etliche weitere 'schöne'
Variable...

Gruss, Holger

Simon Krahnke

unread,
May 16, 2005, 8:45:15 PM5/16/05
to
* Holger Petersen <h...@kbbs.org> (18:35) schrieb:

> Eventuell mit:
>
> echo "1" > /proc/sys/net/ipv4/conf/eth0/send_redirects

Hm, das ist schon auf 1. Habe ich das richtig verstanden: Ein Redirect
wird gesendet wenn es eine Nicht-Default-Route über das Interface gibt,
über das das zu routende Paket hereinkam?

Mein Szenario: Netz mit DSL-Router und Linux-Rechner, der auch etwas zu
routen hat. Deswegen wird er per DHCP als Router verbreitet. Traffic in
Richtung Internet sollte aber gleich über den DSL-Router, und nicht erst
noch durch Linux durch. Das sollte doch mit Redirects gehen.

Dummerweise geht Internet auf dem Linux-Router natürlich über die
Default-Route. Genügt es zum Test noch eine Host-Route dazuzusetzen oder
muss die Defaultroute weg?

> Da in der Umgebung gibt es auch noch etliche weitere 'schöne'
> Variable...

Dieses conf-Verzeichnis war mir noch nie aufgefallen. :-(

mfg, simon .... l

Lutz Donnerhacke

unread,
May 17, 2005, 4:18:08 AM5/17/05
to
* Simon Krahnke wrote:
> Habe ich das richtig verstanden: Ein Redirect wird gesendet wenn es eine
> Nicht-Default-Route über das Interface gibt, über das das zu routende
> Paket hereinkam?

Nein. Ein ICMP-Redirect wird an den Layer2-Absender eines Layer3-Pakets
gesendet, wenn das Layer3-Routing in die gleiche gleichen Layer2-Wolke
zeigt, aus dem das Layer2-Frame kam.

(Die Layer Angaben sind optional, helfen hier aber dem Verständnis, da nicht
jeder die Fachberiffe und Frame, Paket und Routing auseinander halten kann.)

> Mein Szenario: Netz mit DSL-Router und Linux-Rechner, der auch etwas zu
> routen hat. Deswegen wird er per DHCP als Router verbreitet. Traffic in
> Richtung Internet sollte aber gleich über den DSL-Router, und nicht erst
> noch durch Linux durch. Das sollte doch mit Redirects gehen.

Ja.

0 new messages