Wie konfiguriere ich Interface Ortsabhängig?

Hallo,

Folgende Situation:
Ich habe einen Laptop mit Kubuntu 9.04 den ich sowohl bei der Arbeit als auch zu hause benutze. Wenn ich den Laptop in der Firma per Kabel ans Netz anschließe bekomme ich per DHCP eine IP. Wenn ich zu hause den Laptop per crossover Kabel an einen anderen PC anschließe gibt es keinen DHCP-Server und ich muss die IP manuell vergeben.
Das heißt jedes mal wenn ich den Laptop von dem einen Ort an den anderen schaffe muss ich die Datei /etc/network/interfaces ändern.

Ich hätte es gern, dass der Laptop folgendes macht: Versuche IP über DHCP zu beziehen, wenn das fehl schlägt benutze folgende Einstellungen.

Ich hab hier mal die interfaces Datei bei der ich jedes mal einfach die Auskommentierungen ändere.

The loopback network interface

auto lo
iface lo inet loopback

The primary network interface

auto eth0
iface eth0 inet dhcp
#iface eth0 inet static
#address 192.168.7.20
#netmask 255.255.255.0
#network 192.168.7.0
#broadcast 192.168.7.255

Ich hab hier mal die interfaces Datei

Mit der kommst du m. W. an dieser Stelle nicht weiter. Für verschiedene Netze habe ich verschiedene Scripte, die im Netzwerkmenu eingebunden sind und die verschiedenen Einstellungen vornehmen. Da muss im Zweifel ja ein bisschen mehr geändert werden, als nur die IP-Adresse.

In deinem Fall würde ein einfaches Script reichen, das versucht, per dhcp eine Adresse beziehen und dann, wenn keine ipv4-Adresse zugewiesen wurde, die nötigen Parameter fest setzt, z. B. so;

#!/bin/bash

dhclient eth0

found=`ifconfig eth0|grep 'inet Adresse:'`

if ["$found" = '']; then
 ifconfig eth0 dies.ist.eine.ip-adresse
 route add -net 0.0.0.0 gw dies.ist.ein.gateway
 echo nameserver dies.ist.ein.nameserver \> /etc/resolv.conf
 exit
fi

Das Script könntest du dann automatisch beim Rechnerstart (init), oder beim einstecken des Netzwerkkabels (udev) starten.

HTH

kommt unter udev, genau das hab ich gesucht

Hi,

Das Script könntest du dann automatisch beim Rechnerstart
(init), oder beim einstecken des Netzwerkkabels (udev)
starten.

Ich hab dafuer immer ifplugd genommen. Gibt es ein udev-Event, wenn das Netzwerkkabel gezogen wird? Wie saehe denn eine passende Regel aus?

Gruss vom Frank.

Gibt es ein
udev-Event, wenn das Netzwerkkabel gezogen wird? Wie saehe
denn eine passende Regel aus?

Davon gehe ich aus, in Ubuntu sind m. W. solche Regeln eingebaut. Selbst habe ich diesbezügl. noch nichts gebastelt.

Gruß

Ich hab hier mal die interfaces Datei

Mit der kommst du m. W. an dieser Stelle nicht weiter. Für
verschiedene Netze habe ich verschiedene Scripte, die im
Netzwerkmenu eingebunden sind und die verschiedenen
Einstellungen vornehmen. Da muss im Zweifel ja ein bisschen
mehr geändert werden, als nur die IP-Adresse.

Ich habe da früher „whereami“ oder „guessnet“ genommen. Aber da gibt es noch anderes in der Richtung …

Sebastian