Die DHCP-Verbindung legt das Standard-Gateway nicht automatisch fest

Die DHCP-Verbindung legt das Standard-Gateway nicht automatisch fest

Ich habe gerade eine Neuinstallation von Ubuntu 16.04 (Xenial) durchgeführt. Ich habe die Konfiguration so vorgenommen, /etc/network/interfacesdass die WLAN-Schnittstelle automatisch über DHCP gestartet wird:

auto lo
iface lo inet loopback

auto wlp2s0
iface wlp2s0 inet dhcp
  wpa-ssid SSID
  wpa-psk "password"

Das funktioniert so ungefähr: Die IP ist normal konfiguriert, aber das Standard-Gateway ist nicht eingestellt. Nach dem Booten muss ich es immer route add default gw 192.168.1.1manuell ausführen. Irgendeine Idee, was möglicherweise falsch sein könnte? Ich könnte schwören, dass dieses Setup auf älteren Versionen einwandfrei funktioniert hat ...

Antwort1

Ich habe dasselbe Problem unter Ubuntu Server 16.04. Nach der Fehlerbehebung liegt mein Problem daran, dass mein DHCP-Server auch eine Classless Static Route (DHCP-Option 121, rfc3442-classless-static-routesin ISC DHCP) von einem Microsoft DHCP-Server (Windows Server 2008 R2) bereitstellt.

Wenn dem DHCP-Client mindestens eine klassenlose statische Route bereitgestellt wird, ignoriert dieser die Router-Einstellung und legt /sbin/dhclient-scriptdaher keine Standardroute fest.

# if we have $new_rfc3442_classless_static_routes then we have to
# ignore $new_routers entirely

Meine „Lösung“ besteht darin, eine weitere klassenlose statische Route zum Windows DHCP-Server hinzuzufügen. Also:

  • Ziel: 0.0.0.0
  • Netzwerkmaske: 0.0.0.0
  • Router: 192.168.1.1

(nach dem Hinzufügen wird die Netzwerkmaske automatisch auf 255.255.255.255 geändert)

Ich habe eine kurze DHCP-Lease-Ablaufzeit (15 Minuten) und habe seit dem Hinzufügen der neuen Route keine Beschwerden von anderen Linux- oder Windows-Benutzern im Netzwerk erhalten. Ich gehe also davon aus, dass die Änderung keine größeren Probleme verursachen sollte.

Da ich zu neu bin, um Kommentare abzugeben:

  • @t11z Meine Leasingakte ist /var/lib/dhcp/dhclient.ens32.leasesvorhanden option routersund gültig.
  • @Jos Obwohl Ihr Vorschlag eine Problemumgehung darstellt, macht er die Verwendung von DHCP zur Bereitstellung von Netzwerkeinstellungen sinnlos. Wenn sich die IP-Adresse des Standardgateways in Zukunft ändert, müssen betroffene Computer manuell aktualisiert werden.

Antwort2

Ich konfiguriere einen Raspberry Pi als Router und bin auf dasselbe Problem gestoßen. Ich habe es behoben, indem ich die Datei /etc/dhcpcd.conf bearbeitet habe.

Öffnen Sie die Datei und suchen Sie nach der Zeile:

# A list of options to request from the DHCP server.
option domain_name_servers, domain_name, domain_search, host_name
option classless_static_routes

Ich habe einfach "Option classless_static_routes" auskommentiert

# A list of options to request from the DHCP server.
option domain_name_servers, domain_name, domain_search, host_name
# option classless_static_routes

Ich bekomme jetzt eine automatische Standardroute vom DHCP-Server festgelegt.

Ein ähnlicher Versuch könnte mit dhclient unternommen werden, indem die Datei /etc/dhcp/dhclient.conf bearbeitet und nach dieser Zeile gesucht wird:

request subnet-mask, broadcast-address, time-offset, routers,
        domain-name, domain-name-servers, domain-search, host-name,
        dhcp6.name-servers, dhcp6.domain-search,
        netbios-name-servers, netbios-scope, interface-mtu,
        rfc3442-classless-static-routes, ntp-servers;

und Entfernen der Anforderung für rfc3442-classless-static-routes.

verwandte Informationen