etho eth1 steuern

Naish

Well-Known Member
#1
Hallo, Wie kann ich bewerkstelligen, dass falls ein Netzwerk "10.20.2.x" vefügbar ist die statische Konfiguration von eth0 verwendet wird und falls dieses Netzwerk nicht vorhanden, dass eine dynamische IP bezogen wird ?
Mein /etc/network/interfaces sieht so aus:

iface lo inet loopback
auto eth0
iface eth0 static
gateway 10.20.2.1
netmask 255.255.255.0
address 10.20.2.245

Das funktioniert so lange bis ich den Linux-Rechner an ein anderes Netzwerk anschliesse, dann wir automatisch immer ein neuer eth? erzeugt und dieser wird dann auch verwendet. d.h. es wird dann eine dynamische ip bezogen (z.B. eth3) obwohl ein Netzwerk 10.20... vorhanden ist und obwohl unter eth0 die statische Konf steht ?
 

-AB-

Well-Known Member
c-b Team
c-b Experte
#2
Was meinst du denn damit, dass "das Netz verfügbar" ist?

Andersrum ists vermutlich leichter - sehen, ob man per DHCP eine IP kriegt, wenn nicht, statische Konfiguration.
 

Naish

Well-Known Member
#3
Code:
Andersrum ists vermutlich leichter - sehen, ob man per DHCP eine IP kriegt, wenn nicht, statische Konfiguration.
Und wie würdest Du das umsetzen ? Kann ich das mit der Datei /etc/network/interfaces machen, oder brauchts mehr ?
 

-AB-

Well-Known Member
c-b Team
c-b Experte
#4
Script schreiben wär nicht allzu schwer, am einfachsten wärs aber vielleicht, dir ein weiteres, virtuelles Interface anzulegen, und dem eine feste IP zuzuweisen, also in etwa:

/etc/network/interfaces
Code:
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp # per default Adresse per DHCP beziehen

auto eth0:1 # virtuelles device anlegen
allow-hotplug eth0:1
iface eth0:1 inet static # statische config fürs virtuelle Interface
    gateway 10.20.2.1
    netmask 255.255.255.0
    address 10.20.2.245
So wären halt beide aktiv, ob per DHCP verbunden oder nicht. Bloß pingen kannst du logischerweise nicht in ein Netz, was nicht da ist.

Probiers mal aus und schau, ob du routing-Probleme hast, dann sehen wir weiter ;)
 

Naish

Well-Known Member
#5
Das funktioniert, jedoch habe ich nachher 2 ip Adressen, eine dynamische 10.20.2.80 und 10.20.2.245. Beide kann ich pingen.
Leider löst dies mein Problem nicht, denn wenn ich an ein 192.180.. Netz anschliesse, dann bekomme ich eine Adresse 192.168.1.80 (aus dhcp) und eine Adresse 10.20.2.245 (Obwohl kein 10.20...er Netz verfügbar ist). In meiner Software kann ich nicht herausfinden, ob die 10.20.2.245 Adresse wirklich aktiv ist.
 

-AB-

Well-Known Member
c-b Team
c-b Experte
#6
und eine Adresse 10.20.2.245 (Obwohl kein 10.20...er Netz verfügbar ist)
Da haben wir die Frage von oben wieder.
Ein "Netz" kann nicht "verfügbar" sein - wenn du eine statische IP zuweist, bekommst du die, egal, ob irgendwelche andern Rechner vorhanden sind.

Was willst du mit der statischen IP denn erreichen?
 

Naish

Well-Known Member
#7
Muss aus kompatibilitätsgründen eine statische IP verwenden. Der Linuxrechner ist ein embedded system, welcher seine eigene IP Adresse am Bildschirm anzeigt. Aber das Problem ist eben, dass meine Software (bei statischer IP) nicht erkennen kann, ob diese wirklich "geroutet" d.h. aktiv ist. Ich würde gerne am Bildschirm anzeigen, ob der Rechner online ist oder nicht. Und falls eben kein 10.20..er Netzwerk verfügbar sein sollte, dass dieser Rechner an irgend ein anderes DHCP Netzwerk angeschlossen werden könnte und damit der Zugriff (für Einstellungen etc.) trotzdem möglich wäre.
 
Oben