Ich habe ein System mit zwei Netzwerkkarten. Dieses Gerät und einige zugehörige Geräte werden verschoben und an verschiedene LANs angeschlossen, oder manchmal wird die Einwahl verwendet.
eth0:
- 10.x.x.x address space
- no internet gateway
- only a few devices
eth1 (when used):
- 172.16.x.x or 192.168.x.x or other address spaces
- access to the gateway from LAN to internet
ppp0 (when used):
- internet access through dialup using KPPP
Ich verwende ifconfig, um Schnittstellen nach oben oder unten zu bringen (außer mit ppp0, das von KPPP verwaltet wird).
Wenn ich eth1 zuerst aufrufe, erhält es eine Adresse von seinem DHCP und erhält das Gateway. Dies wird dem Routing hinzugefügt, sodass es keine Probleme gibt, das LAN und das Internet zu erreichen.
Wenn ich eth0 zuerst oder zweitens aufrufe, erhält es seine Adresse und setzt das Standard-Gateway auf innerhalb seines Adressraums (im Bereich 10.xxx). Wenn ich zuerst eth0 und dann eth1 aufrufe, bleibt das Standard-Gateway weiterhin im Bereich 10.xxx.
Egal was ich mache, eth0 überschreibt eth1 und "beansprucht" das Gateway im Routing.
Gibt es eine Möglichkeit, entweder zu verhindern, dass eth0 das Gateway beansprucht, oder sicherzustellen, dass eth1 (falls es als 2. aufgerufen wird) sein Gateway verwendet? Oder kann ich irgendwie eine Rangfolge priorisieren, bei der das Gateway der Schnittstelle gegenüber den anderen verwendet werden soll?
Grundsätzlich möchte ich sicherstellen, dass das Standard-Adressraum-Gateway von eth1 verwendet wird, wenn es aktiv ist. Wenn nicht, wird das Standard-Gateway von ppp0 verwendet. Ich möchte verhindern können, dass eth0 jemals das Standard-Gateway hat.
ifconfig
jede Art von DHCP-Interaktion verursachen würde. In der Regelifup
wird dies durch Starten erledigtdhclient
. Werden Ihre eth * -Schnittstellen möglicherweise beispielsweise durch den Systemstartprozess/etc/init.d/network
oder durch NetworkManager aufgerufen?