DHCP und Statische IP auf dem selben Interface abschalten?!

Hallo zusammen,

wir haben auf Anraten einer unserer Softwarehersteller ein Update von OpenSuse 12.x auf 13.2 gefahren, Hardware DELL Server. Update hat soweit auch wunderbar funktioniert, der darauf befindliche Apache Server läuft auch wunderbar wieder und ist aus meinem LAN erreichbar.

Allerdings sammelt sich seit dem Update in meinem DHCP (Windows) ein dauerhafter Eintrag (heißt, selbst wenn ich ich manuell rauslösche, kommt er wieder), der denselben FQDN wie meine OpenSuse Maschine hat. Die MAC-Adresse, die der DHCP angibt, entspricht auch der ETH0 Schnittstelle des Servers, allerdings ist da als statische IP die ursprüngliche IP des Servers vergeben. Siehe ifconfig (IPs zensiert, als inet Adresse steht dort die StaticIP, die er auch vor dem Update schon hatte, inet6 Adresse wird bei uns intern nicht verwendet)


root@SERVER:~> /sbin/ifconfig -a
eth0      Link encap:Ethernet  Hardware Adresse 90:B1:1C:0B:E6:28
          inet Adresse:X.X.X.X Bcast: X.X.X.X Maske:255.255.224.0
          inet6 Adresse: X::X:X:X:X/64 Gültigkeitsbereich:Verbindung
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:23523436 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1124146 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 Sendewarteschlangenlänge:1000
          RX bytes:4043854888 (3856.5 Mb)  TX bytes:655729042 (625.3 Mb)

eth1      Link encap:Ethernet  Hardware Adresse 90:B1:1C:0B:E6:29
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 Sendewarteschlangenlänge:1000
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

lo        Link encap:Lokale Schleife
          inet Adresse:127.0.0.1  Maske:255.0.0.0
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:11049 errors:0 dropped:0 overruns:0 frame:0
          TX packets:11049 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 Sendewarteschlangenlänge:0
          RX bytes:45743673 (43.6 Mb)  TX bytes:45743673 (43.6 Mb)


Egal ob ich die Statische oder die DHCP-Adresse im Browser aufrufe, beidesmal meldet mir der Apache “It works”, gebe ich /Unterseite an, komm ich auch auf meine darauf konfigurierten Websiten. der iDRAC (Fernwartung DELL Server) kann es eigentlich nicht sein, weil der a) einen separaten Netzwerkport nutzt und b) eine eigene Website darstellt, eben zum Konfigurieren des Servers.

Ich hab schon im Internet und auch hier im Forum gesucht (auch im englischsprachigen), aber ich finde leider immer nur Einträge von Leuten, die eben genau das wollen: DHCP und StaticIP auf einem Interface, ich wills ja genau umgekehrt

Bin leider Bunte-Bildchen-WindowsAdmin :wink: und kenn mich mit Linuxsystemen so gar nicht aus.

Danke im Vorraus für jeden erdenklichen Tip!

Hm, ich bin mir nicht sicher ob ich das richtig verstehe… Der betreffende Rechner hat also die statische und eine dynamische Adresse? ifconfig zeigt aber nur die statische an?

An sich schließen sich DHCP und statische IP gegenseitig aus: entweder man verwendet DHCP und bekommt die IP-Adresse von einem DHCP-Server zugewiesen (z.B. Gateway oder Router), oder man setzt eine statische IP-Adresse.
Beides geht nicht, die Schnittstelle kann normalerweise ja auch nur eine Adresse haben.

Allerdings schreibst du:

wir haben auf Anraten einer unserer Softwarehersteller ein Update von OpenSuse 12.x auf 13.2 gefahren

Ein Update von 12.x auf 13.2 wird nicht wirklich unterstützt und kann zu Problemen führen, man sollte zur Sicherheit immer nur auf die nächste Version upgraden.
Im speziellen wurde in 13.1 (wenn ich mich recht erinnere, könnte aber auch schon 12.3 gewesen sein…) die Art geändert, wie zwischen NetworkManager und ifup/wicked umgeschaltet wird.
Eine Version zu überspringen kann dazu führen, dass diese Konfiguration nicht korrekt migriert wird und nach dem Upgrade beide Dienste laufen.
Da beide unterschiedliche Einstellungen verwenden, kann es sein, das einer einen DHCP-Client startet, obwohl man eine statische IP-Adresse zugewiesen hat (im anderen Dienst). Ich kann mich jedenfalls an andere Threads erinnern wo genau das das Problem war.

Um das zu überprüfen, poste bitte die Ausgaben der folgenden Kommandos:

systemctl status network
systemctl status wicked
systemctl status NetworkManager
ps aux|grep dhc

Andererseits sollte ifconfig dann auch die dynamische Adresse anzeigen, denke ich, aber das ist das einzige was mir spontan einfällt.
Ohne DHCP-Client sollte kein Eintrag im DHCP-Server für den Rechner neu angelegt werden.

Könnte aber auch sein, dass irgendwie zwei Konfigurationen für die selbe Schnittstelle existieren (auch das kann ein Upgrade-Problem sein durch die Umbenennung von Schnittstellen). Also bitte auch folgendes:

ls -l /etc/sysconfig/network

Kenn ich auch so, allerdings kann ich wie gesagt die StaticIP und die DHCPIP per Ping erreichen, beide antworten mit der eth0-MAC und ich bekomm bei beiden im Webbrowser (It Works!) bzw. eben die Apache-Website

Ich hab das Upgrade leider nicht selbst gemacht, sondern der Kollege, der jetzt aber nicht versteht, warum ich mich als Netzwerkadmin über die DHCP-Adresse aufrege, sein Apache geht doch, der User kommt drauf :\ Daher ist alles, was das Upgrade per Se betrifft, an mir vorbei gegangen. Auch, ob das unterstützt wäre oder nicht, weiß nur, dass man uns erst einen komplett neuen Server aufdrängen wollte, obwohl der gerade mal 2 Jahre alt ist und noch topaktuell.

Anbei der Output

root@SERVER:~> systemctl status wicked
wicked.service - wicked managed network interfaces
   Loaded: loaded (/usr/lib/systemd/system/wicked.service; enabled)
   Active: active (exited) since Fr 2015-07-31 14:53:52 CEST; 6 days ago
  Process: 1233 ExecStart=/usr/sbin/wicked --systemd ifup all (code=exited, status=0/SUCCESS)
 Main PID: 1233 (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/wicked.service

root@SERVER:~> systemctl status network
wicked.service - wicked managed network interfaces
   Loaded: loaded (/usr/lib/systemd/system/wicked.service; enabled)
   Active: active (exited) since Fr 2015-07-31 14:53:52 CEST; 6 days ago
  Process: 1233 ExecStart=/usr/sbin/wicked --systemd ifup all (code=exited, status=0/SUCCESS)
 Main PID: 1233 (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/wicked.service



root@SERVER:~> systemctl status NetworkManager
NetworkManager.service - Network Manager
   Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; enabled)
   Active: active (running) since Fr 2015-07-31 14:53:46 CEST; 6 days ago
 Main PID: 1209 (NetworkManager)
   CGroup: /system.slice/NetworkManager.service
           ├─1209 /usr/sbin/NetworkManager --no-daemon
           └─1403 /sbin/dhclient -d -sf /usr/lib/nm-dhcp-helper -pf /var/run/dhclient-eth0.pid -l...

root@SERVER:~> ps aux|grep dhc
root      1207  0.0  0.0  29400  2388 ?        SLs  Jul31   0:00 /usr/lib/wicked/bin/wickedd-dhcp4 --systemd --foreground
root      1208  0.0  0.0  29416  2524 ?        SLs  Jul31   0:00 /usr/lib/wicked/bin/wickedd-dhcp6 --systemd --foreground
root      1403  0.0  0.0  14740  2096 ?        S    Jul31   0:00 /sbin/dhclient -d -sf /usr/lib/nm-dhcp-helper -pf /var/run/dhclient-eth0.pid -lf /var/lib/NetworkManager/dhclient-de29d843-53be-4160-9d27-a8fcc75d634c-eth0.lease -cf /var/lib/NetworkManager/dhclient-eth0.conf eth0
csmed    17543  0.0  0.0  10544  1616 pts/0    S+   09:30   0:00 grep --color=auto dhc

root@SERVER:~> ls -l /etc/sysconfig/network
insgesamt 84
-rw-r--r-- 1 root root 13220 31. Jul 14:38 config
-rw-r--r-- 1 root root  9798 31. Jul 14:47 dhcp
-rw------- 1 root root   190 31. Jul 14:38 ifcfg-eth0
-rw------- 1 root root   173  6. Jul 11:57 ifcfg-lo
-rw-r--r-- 1 root root 21738  9. Jun 15:30 ifcfg.template
drwxr-xr-x 2 root root  4096 31. Jul 14:47 if-down.d
drwxr-xr-x 2 root root  4096 31. Jul 14:47 if-up.d
drwx------ 2 root root  4096 25. Sep 2014  providers
-rw-r--r-- 1 root root   533 17. Mär 08:19 routes
-rw-r--r-- 1 root root   533 17. Mär 08:19 routes.YaST2save
drwxr-xr-x 2 root root  4096 31. Jul 14:47 scripts


An sich sollts ja schon gehen, es wird halt nicht unbedingt speziell getestet, und kann vereinzelt zu Problemen führen, vor allem eben bei eventuellen Migrationen von Konfigdateien.

Anbei der Output

root@SERVER:~> systemctl status wicked
wicked.service - wicked managed network interfaces
   Loaded: loaded (/usr/lib/systemd/system/wicked.service; enabled)
   Active: active (exited) since Fr 2015-07-31 14:53:52 CEST; 6 days ago
  Process: 1233 ExecStart=/usr/sbin/wicked --systemd ifup all (code=exited, status=0/SUCCESS)
 Main PID: 1233 (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/wicked.service
...
root@SERVER:~> systemctl status NetworkManager
NetworkManager.service - Network Manager
   Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; enabled)
   Active: active (running) since Fr 2015-07-31 14:53:46 CEST; 6 days ago
 Main PID: 1209 (NetworkManager)
   CGroup: /system.slice/NetworkManager.service
           ├─1209 /usr/sbin/NetworkManager --no-daemon
           └─1403 /sbin/dhclient -d -sf /usr/lib/nm-dhcp-helper -pf /var/run/dhclient-eth0.pid -l...

Wie vermutet: es sind sowohl wicked als auch NetworkManager aktiv, und NetworkManager hat einen DHCP-Client (dhclient) gestartet um eine dynamische IP-Adresse zu bekommen.
Ein Deaktivieren von NetworkManager sollte reichen, das network.service ist ja korrekt auf wicked gesetzt und ich denke die statische Adresse ist in YaST eingestellt (sonst würde NetworkManager ja keinen DHCP-Client starten).

sudo systemctl disable NetworkManager

Dann Neustarten, oder NetworkManager stoppen:

sudo systemctl stop NetworkManager

Alternativ sollte auch ein Wechsel zu NetworkManager (mit OK akzeptieren) und zurück zu wicked in YaST das Problem beheben.

Die Schnittstellenkonfigs scheinen ok zu sein, ich seh da nur eine für eth0…