Normalerweise wird man bei einer Remote-Login-Maschine relativ selten auf die Idee kommen, aus der Remote-Shell heraus die IP-Konfiguration zu aendern. Warum auch, offensichtlich funktioniert sie ja. Ich kam in die Verlegenheit, einen Teil dieser Konfiguration aendern zu muessen, bei dem ich eigentlich nicht davon ausging, dass er einen nennenswerten Einfluss haben kann. Hatte er aber. Verheerenden sogar, falls man die Maschine nicht auf der Konsole erreicht (oder einen Reboot durchfuehren kann).

Gesetzt den Fall, man hat eine IP-Konfiguration wie die hier:

[root@glas /usr/home/ad001]# ifconfig em0
em0: flags=8843 metric 0 mtu 1500
        options=19b
        ether 00:16:41:e3:20:4b
        inet 192.168.0.15 netmask 0xffffff00 broadcast 192.168.0.255
        media: Ethernet autoselect (100baseTX )
        status: active
und eine eingetragene Default-Gateway wie untenstehende:
[root@glas /usr/home/ad001]# netstat -nr
Routing tables

Internet:
Destination        Gateway            Flags    Refs      Use  Netif Expire
default            192.168.0.1        UGS         0        0    em0
127.0.0.1          link#3             UH          0     5643    lo0
192.168.0.0/24     link#1             U           2        9    em0
192.168.0.15       link#3             UHS         0        0    lo0

Internet6:
Destination                       Gateway                       Flags      Netif Expire
::1                               ::1                           UH          lo0
fe80::%lo0/64                     link#3                        U           lo0
ff01:3::/32                       fe80::1%lo0                   U           lo0
ff02::%lo0/32                     fe80::1%lo0                   U           lo0
Dann kann alles funktionieren.
Nun faellt aber beispielsweise auf, dass einige Rechner mit einer mit Adresse aus dem 192.168.0.0/16 Netz jenseits der Default-Gateway liegen -- diese koennen von dieser Maschine aus nicht erreicht werden, denn ihrer IP-Konfiguration nach wuerde sie nicht annehmen, dass sie dafuer die Gateway nutzen muss. Also muss die Netzwerkmaske angepasst werden:
[root@glas /usr/home/ad001]# ifconfig em0 192.168.0.15 netmask 255.255.255.240 up
... und wer diesen Schritt per SSH-Verbindung durchgefuehrt hat, kann die Maschine mit einiger Wahrscheinlichkeit direkt danach nicht mehr erreichen. Schaut man lokal nach, was passiert ist, dann faellt auf...
[root@glas /usr/home/ad001]# netstat -nr
Routing tables

Internet:
Destination        Gateway            Flags    Refs      Use  Netif Expire
127.0.0.1          link#3             UH          0     5643    lo0
192.168.0.0/28     link#1             U           0        0    em0
192.168.0.15       link#3             UHS         0        0    lo0

Internet6:
Destination                       Gateway                       Flags      Netif Expire
::1                               ::1                           UH          lo0
fe80::%lo0/64                     link#3                        U           lo0
ff01:3::/32                       fe80::1%lo0                   U           lo0
ff02::%lo0/32                     fe80::1%lo0                   U           lo0
...dass die Default-Route weg ist. Obwohl sie innerhalb des (nun enger) spezifizierten Netzes lag... wie ich selbst festellen durfte eine nette Falle... Um dies zu umgehen, reicht schon, die Kommandozeile um den route-Befehl zu erweitern.
[root@glas /usr/home/ad001]# ifconfig em0 192.168.0.15 netmask 255.255.255.240 ; route add default 192.168.0.1
Eigentlich ganz einfach.
Muss man nur wissen.

Stichworte:


Impressum