Werbung

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

etho eth1 steuern

Dieses Thema im Forum "Netzwerkprogrammierung" wurde erstellt von Naish, 26. Juni 2017.

  1. Naish

    Naish Member

    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 ?
  2. coding-board

    coding-board Member

    Werbung
  3. -AB-

    -AB- Well-Known Member c-b Team

    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.
  4. Naish

    Naish Member

    Code (Text):
    Quelltext kopieren
    1. 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 ?
  5. -AB-

    -AB- Well-Known Member c-b Team

    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 (Text):
    Quelltext kopieren
    1. auto lo
    2. iface lo inet loopback
    3.  
    4. auto eth0
    5. iface eth0 inet dhcp # per default Adresse per DHCP beziehen
    6.  
    7. auto eth0:1 # virtuelles device anlegen
    8. allow-hotplug eth0:1
    9. iface eth0:1 inet static # statische config fürs virtuelle Interface
    10.     gateway 10.20.2.1
    11.     netmask 255.255.255.0
    12.     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 ;)
  6. Naish

    Naish Member

    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.
  7. -AB-

    -AB- Well-Known Member c-b Team

    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?
  8. Naish

    Naish Member

    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.
Die Seite wird geladen...