BeagleBoard-xM - Feste IP-Adresse vergeben statt Zuweisung per DHCP **Update**

Das BeagleBoard-xM (BBxM) hat eine LAN- bzw. Ethernet-Schnittstelle bereits installiert. Das mit dem BBxM gelieferte Angstrom-Linux enthält den "networkmanager", der dafür sorgt, dass dieser Schnittstelle (bei angeschlossenem LAN-Kabel) von einem (soweit vorhanden) DHCP-Server bzw. -Dienst eine IP-Adresse zugewiesen wird. Nun ist es so, dass bei jedem Neustart des BBxM sich die MAC-Adresse der Ethernet-Schnittstelle ändert und die DHCP-Server dadurch dem BBxM eine neue (sprich: andere als vorher) IP-Adresse zuweisen. Besser und / oder komfortabler ist es, wenn das BBxM eine feste IP-Adresse des LANs zugewiesen bekommt, vor allem, wenn es ohne Monitor und Tastatur irgendwo im Netzwerk eingebunden ist.

Basis für die Vergabe einer festen IP-Adresse ist die Datei /etc/network/interfaces.

Diese ist mit einem Text-Editor Ihrer Wahl von

# Ethernet/RNDIS gadget (g_ether) or LAN9514
auto usb0
iface usb0 inet dhcp

auf

# Ethernet/RNDIS gadget (g_ether) or LAN9514
auto usb0
iface usb0 inet static
    address     192.168.XYZ.ZYX
    netmask     255.255.255.0
    gateway     192.168.XYZ.YZX

zu ändern. Bitte ersetzen Sie die Platzhalter "XYZ", "ZYX" und "YZX" mit Werten, die für Ihr LAN gültig sind. Danach habe ich das System neu gestartet und es schien auch (zunächst) alles klar zu sein.

Jetzt muss auch nicht mehr jedes Mal (wegen geänderter IP-Adresse des BBxM) die SSH-Sitzung bestätigt / erlaubt werden.

Doch halt... lokal klappt alles, aber es gibt Fehler bei Verbindungen ins Internet, so z.B. bei


# opkg update

Downloading http://feeds.angstrom-distribution.org/feeds/unstable/ipk/glibc/ \
                   armv7a/base/Packages.gz.
wget: bad address 'feeds.angstrom-distribution.org'
Downloading http://feeds.angstrom-distribution.org/feeds/unstable/ipk/glibc/ \
                   armv7a/machine/beagleboard/Packages.gz.
wget: bad address 'feeds.angstrom-distribution.org'
.
.
.
Collected errors:
 * opkg_download: Failed to download http://feeds.angstrom-distribution.org/ \
   feeds/unstable/ipk/glibc/armv7a/base/Packages.gz, wget returned 1.
 * opkg_download: Failed to download http://feeds.angstrom-distribution.org/ \
   feeds/unstable/ipk/glibc/armv7a/machine/beagleboard/Packages.gz, wget returned 1.
 * opkg_download: Failed to download http://feeds.angstrom-distribution.org/ \
   feeds/unstable/ipk/glibc/armv7a/debug/Packages.gz, wget returned 1.
.
.
.

Ursache ist die fehlende Namensauflösung (DNS), da durch den noch aktiven "networkmanager" bei einem System-Neustart die "nameserver"-Einträge in der Datei /etc/resolv.conf nach konfigurieren der festen IP-Adresse gelöscht worden sind. Als noch die IP-Adress-Vergabe per DHCP vorgenommen wurde, kamen der / die DNS-Server von dem DHCP-Server. Nun aber nicht mehr.

Ein Eintrag der DNS-Server in die /etc/resolv.conf bringt (allein) nichts, da durch den immer aktiven "networkmanager" die Einträge beim nächsten Neustart des BBxM wieder gelöscht werden. Also ist die Datei /etc/network/interfaces noch in dem Abschnitt wie oben zu erweitern, so dass dies jetzt so aussieht:

# Ethernet/RNDIS gadget (g_ether) or LAN9514
auto usb0
iface usb0 inet static
    address     192.168.XYZ.ZYX
    netmask     255.255.255.0
    gateway     192.168.XYZ.YZX
    dns-nameservers AAA.BBB.CCC.DDD EEE.FFF.GGG.HHH

Ersetzen Sie bitte "AAA.BBB.CCC.DDD EEE.FFF.GGG.HHH" mit den IP-Adressen der für Sie gültigen DNS-Server (bitte das Leerzeichen zwischen den beiden IP-Adressen nicht vergessen).

Und schon klappt es wieder mit der Namensauflösung und dem Internet ... (auch nach einem Neustart ...).

Alternativ könnte man sicherlich auch den "networkmanager" auf inaktiv schalten, dann bleiben evtl. Änderungen in der /etc/resolv.conf erhalten. Da ich aber im Bedarfsfall auf den "networkmanager" zurück greifen will / muss (evtl. weiteres Netzwerk-Device, W-LAN per USB-Stick usw.), schien mir dies keine zielführende Möglichkeit.

Als 2. Alternative besteht die Möglichkeit, eine MAC-Adresse (Media-Access-Control) fest vorzugeben (der Vollständigkeit halber erwähnt). Die Datei /etc/network/interfaces sähe dann im entsprechenden Abschnitt z.B. so aus:

auto usb0
iface usb0 inet dhcp
  hwaddress ether 02:1f:47:2a:3b:34

Die "02" am Anfang steht wohl für lokale Adressen, sollte also nicht verändert werden, der Rest ist wahlfrei.

Hierdurch bleibt die Vergabe der IP-Adresse im lokalen Netz Angelegenheit des DHCP-Dienstes bzw. -Servers. Ich persönlich favorisiere feste IP-Adressen für feste Dienste im LAN. Spätestens beim Wechsel des Rechners (z.B. auch ihr DSL-Router) findet eine Neuvergabe der IP-Adressen statt. Und dann geht die Sucherei wieder von vorne los...