Systemverwaltungshandbuch: IP Services

Troubleshooting DHCP Client Configuration Problems

Die Probleme, die bei der Konfiguration eines DHCP-Clients auftreten können, fallen in die folgenden Kategorien:

Kommunikationsprobleme mit dem DHCP-Server

In diesem Abschnitt werden Probleme beschrieben, die eventuell beim Hinzufügen von DHCP-Clients zum Netzwerk auftreten können.

Nachdem Sie die Client-Software aktiviert und das System neu gebootet haben, versucht der Client, den DHCP-Server zu erreichen, um seine Netzwerkkonfiguration zu beziehen. Kann der Client den Server nicht erreichen, werden eventuell Fehlermeldungen wie die Folgende angezeigt:


DHCP or BOOTP server not responding 

    Bevor Sie das Problem feststellen können, müssen Sie Diagnoseinformationen vom Client und Server sammeln. Dazu können Sie die folgenden Aufgaben ausführen:

  1. How to Run the DHCP Client in Debugging Mode

  2. How to Run the DHCP Server in Debugging Mode

  3. So verwenden Sie snoop zur Überwachung des DHCP-Netzwerkverkehrs

Diese Aufgaben können gleichzeitig oder getrennt voneinander ausgeführt werden.

Mit den gesammelten Informationen stellen Sie fest, ob das Problem beim Client, Server oder einem Relay-Agent liegt. Anschließend können Sie nach einer Lösung suchen.

ProcedureHow to Run the DHCP Client in Debugging Mode

Handelt es sich bei dem Client nicht um einen Oracle Solaris DHCP-Client, suchen Sie bitte in der Dokumentation Ihres Clients nach Informationen, wie der Client im Debugging-Modus ausgeführt wird.

Bei einem Oracle Solaris DHCP-Client führen Sie die folgenden Schritte aus.

  1. Melden Sie sich als Superuser beim DHCP-Clientsystem an.

  2. Brechen Sie den DHCP-Client-Daemon ab.


    # pkill -x dhcpagent
    
  3. Starten Sie den Daemon im Debugging-Modus neu.


    # /sbin/dhcpagent -d1 -f &
    

    Mit dem Schalter -d versetzen Sie den DHCP-Client in den Debugging-Modus mit der Ausführlichkeitsstufe 1. Der Schalter -f sorgt dafür, dass die Ausgabe an die Konsole und nicht an syslog gesendet wird.

  4. Konfigurieren Sie die Schnittstelle so, dass sie eine DHCP-Aushandlung beginnt.


    # ifconfig interface dhcp start
    

    Ersetzen Sie Schnittstelle durch den Namen der Netzwerkschnittstelle des Client, z. B. ge0.

    Wenn der Client-Daemon im Debugging-Modus ausgeführt wird, zeigt er während des Ausführens von DHCP-Anforderungen Meldungen auf dem Bildschirm an. Informationen zur Ausgabe des Clients im Debugging-Modus finden Sie unter Ausgabe eines DHCP-Client im Debugging-Modus.

ProcedureHow to Run the DHCP Server in Debugging Mode

  1. Melden Sie sich beim Serversystem als Superuser an.

  2. Stoppen Sie den DHCP-Server vorübergehend.


    # svcadm disable -t svc:/network/dhcp-server
    

    Sie können den Server auch mit DHCP Manager oder dem Befehl dhcpconfig stoppen.

  3. Starten Sie den Daemon im Debugging-Modus neu.


    # /usr/lib/inet/in.dhcpd -d -v
    

    Sie können auch eine der Befehlszeilenoptionen von in.dhcpd verwenden, die Sie normalerweise zum Ausführen des Daemon verwenden. Angenommen, Sie führen den Daemon als einen BOOTP-Relay-Agent aus, nehmen Sie die Option -r in den Befehl in.dhcpd -d -v auf.

    Wenn der Daemon im Debugging-Modus ausgeführt wird, zeigt er während der Bearbeitung von DHCP- oder BOOTP-Anforderungen auf dem Bildschirm an. Informationen zur Ausgabe des Servers im Debugging-Modus finden Sie unter Ausgabe eines DHCP-Servers im Debugging-Modus.

ProcedureSo verwenden Sie snoop zur Überwachung des DHCP-Netzwerkverkehrs

  1. Melden Sie sich als Superuser beim DHCP-Serversystem an.

  2. Starten Sie den Befehl snoop, um die Aufzeichnung des Netzwerkverkehrs über die Netzwerkschnittstelle des Servers zu beginnen.


    # /usr/sbin/snoop -d interface -o snoop-output-filename udp port 67 or udp port 68
    

    Sie können z. B. den folgenden Befehl verwenden:


    #  /usr/sbin/snoop -d hme0 -o /tmp/snoop.output udp port 67 or udp port 68
    

    snoop setzt die Überwachung der Schnittstelle fort, bis Sie snoop durch Drücken von Strg-C beenden, nachdem Sie die erforderlichen Informationen gesammelt haben.

  3. Booten Sie das Clientsystem, oder starten Sie den dhcpagent-Daemon auf dem Clientsystem neu.

    How to Run the DHCP Client in Debugging Mode beschreibt, wie dhcpagent neu gestartet wird.

  4. Geben Sie den Befehl snoop auf dem Serversystem ein, um die Ausgabedatei mit dem Inhalt der Netzwerkpakete anzuzeigen:


    # /usr/sbin/snoop -i snoop-output-filename -x0 -v
    

    Sie können z. B. den folgenden Befehl verwenden:

    # /usr/sbin/snoop -i /tmp/snoop.output -x0 -v
    
Siehe auch

Informationen zur Interpretation der Ausgabe finden Sie unter Ausgabe des DHCP-Befehls snoop.

Ausgabe eines DHCP-Client im Debugging-Modus

Das folgende Beispiel zeigt die normale Ausgabe, wenn ein DHCP-Client im Debugging-Modus eine DHCP-Anforderung gesendet und die Konfigurationsinformationen von einem DHCP-Server erhält.


Beispiel 17–1 Normale Ausgabe eines DHCP-Client im Debugging-Modus


/sbin/dhcpagent: debug: set_packet_filter: set filter 0x27fc8 (DHCP filter) 
/sbin/dhcpagent: debug: init_ifs: initted interface hme0 
/sbin/dhcpagent: debug: insert_ifs: hme0: sdumax 1500, optmax 1260, hwtype 1, hwlen 6 
/sbin/dhcpagent: debug: insert_ifs: inserted interface hme0 
/sbin/dhcpagent: debug: register_acknak: registered acknak id 5 
/sbin/dhcpagent: debug: unregister_acknak: unregistered acknak id 5 
/sbin/dhcpagent: debug: set_packet_filter: set filter 0x26018 (ARP reply filter)
/sbin/dhcpagent: info: setting IP netmask on hme0 to 255.255.192.0 
/sbin/dhcpagent: info: setting IP address on hme0 to 10.23.3.233 
/sbin/dhcpagent: info: setting broadcast address on hme0 to 10.23.63.255 
/sbin/dhcpagent: info: added default router 10.23.0.1 on hme0 
/sbin/dhcpagent: debug: set_packet_filter: set filter 0x28054 (blackhole filter) 
/sbin/dhcpagent: debug: configure_if: bound ifsp->if_sock_ip_fd 
/sbin/dhcpagent: info: hme0 acquired lease, expires Tue Aug 10 16:18:33 2006 
/sbin/dhcpagent: info: hme0 begins renewal at Tue Aug 10 15:49:44 2006 
/sbin/dhcpagent: info: hme0 begins rebinding at Tue Aug 10 16:11:03 2006

Kann der Client den DHCP-Server nicht erreichen, wird eventuell eine Ausgabe im Debugging-Modus angezeigt, die der im folgenden Beispiel ähnelt.


Beispiel 17–2 Ausgabe eines DHCP-Client in Debugging-Modus, die auf ein Problem hindeutet


/sbin/dhcpagent: debug: set_packet_filter: set filter 0x27fc8 (DHCP filter)
/sbin/dhcpagent: debug: init_ifs: initted interface hme0 
/sbin/dhcpagent: debug: select_best: no valid OFFER/BOOTP reply
/sbin/dhcpagent: debug: select_best: no valid OFFER/BOOTP reply
/sbin/dhcpagent: debug: select_best: no valid OFFER/BOOTP reply
 

Wenn diese Meldung angezeigt wird, hat die Client-Anforderung den Server nicht erreicht oder der Server kann keine Antwort an den Client senden. Führen Sie den Befehl snoop gemäß der Beschreibung unter So verwenden Sie snoop zur Überwachung des DHCP-Netzwerkverkehrs auf dem Server aus, um festzustellen, ob Pakete vom Client den Server erreicht haben.

Ausgabe eines DHCP-Servers im Debugging-Modus

Die normale Ausgabe eines Servers im Debugging-Modus zeigt zunächst die Server-Konfigurationsinformationen an, denen nach dem Starten des Daemon Informationen zu den Netzwerkschnittstellen folgen. Nachdem der Daemon gestartet ist, zeigt die Ausgabe im Debugging-Modus Informationen zu Anforderungen an, die der Daemon verarbeitet. Beispiel 17–3 zeigt die Ausgabe eines DHCP-Servers im Debugging-Modus, der gerade gestartet wurde. Der Server verlängert das Leasing für einen Client, der eine Adresse verwendet, die einem anderen DHCP-Server gehört, der aber nicht antwortet.


Beispiel 17–3 Normale Ausgabe eines DHCP-Servers im Debugging-Modus


Daemon Version: 3.1  
Maximum relay hops: 4  
Transaction logging to console enabled.  
Run mode is: DHCP Server Mode.  
Datastore: nisplus  
Path: org_dir.dhcp.test..:dhcp.test..:$ 
DHCP offer TTL: 10  
Ethers compatibility enabled.  
BOOTP compatibility enabled.  
ICMP validation timeout: 1000 milliseconds, Attempts: 2.  
Monitor (0005/hme0) started...  
Thread Id: 0005 - Monitoring Interface: hme0 *****  
MTU: 1500      Type: DLPI  
Broadcast: 10.21.255.255 
Netmask: 255.255.0.0  
Address: 10.21.0.2  
Monitor (0006/nf0) started...  
Thread Id: 0006 - Monitoring Interface: nf0 *****  
MTU: 4352      Type: DLPI  
Broadcast: 10.22.255.255  
Netmask: 255.255.0.0  
Address: 10.22.0.1  
Monitor (0007/qfe0) started...  
Thread Id: 0007 - Monitoring Interface: qfe0 *****  
MTU: 1500      Type: DLPI   
Broadcast: 10.23.63.255  
Netmask: 255.255.192.0  
Address: 10.23.0.1  
Read 33 entries from DHCP macro database on Tue Aug 10 15:10:27 2006 
Datagram received on network device: qfe0  
Client: 0800201DBA3A is requesting verification of address owned by 10.21.0.4 
Datagram received on network device: qfe0  
Client: 0800201DBA3A is requesting verification of address owned by 10.21.0.4  
Datagram received on network device: qfe0  
Client: 0800201DBA3A is requesting verification of address owned by 10.21.0.4  
Datagram received on network device: qfe0  
Client: 0800201DBA3A maps to IP: 10.23.3.233  
Unicasting datagram to 10.23.3.233 address.  
Adding ARP entry: 10.23.3.233 == 0800201DBA3A  
DHCP EXTEND 0934312543 0934316143 10.23.3.233 10.21.0.2 
          0800201DBA3A SUNW.Ultra-5_10 0800201DBA3A

Beispiel 17–4 zeigte die Ausgabe eines DHCP-Daemon im Debugging-Modus, der als BOOTP-Relay-Agent gestartet wurde. Der Agent leitet Anforderungen von einem Client an einen DHCP-Server weiter, und leitet die Antworten des Servers an den Client.


Beispiel 17–4 Normale Ausgabe eines BOOTP-Relays im Debugging-Modus


Relay destination: 10.21.0.4 (blue-servr2)     network: 10.21.0.0  
Daemon Version: 3.1  
Maximum relay hops: 4  
Transaction logging to console enabled.  
Run mode is: Relay Agent Mode.  
Monitor (0005/hme0) started...  
Thread Id: 0005 - Monitoring Interface: hme0 *****  
MTU: 1500      Type: DLPI  
Broadcast: 10.21.255.255  
Netmask: 255.255.0.0  
Address: 10.21.0.2  
Monitor (0006/nf0) started...  
Thread Id: 0006 - Monitoring Interface: nf0 *****  
MTU: 4352      Type: DLPI  
Broadcast: 10.22.255.255  
Netmask: 255.255.0.0  
Address: 10.22.0.1  
Monitor (0007/qfe0) started...  
Thread Id: 0007 - Monitoring Interface: qfe0 *****  
MTU: 1500      Type: DLPI  
Broadcast: 10.23.63.255  
Netmask: 255.255.192.0  
Address: 10.23.0.1  
Relaying request 0800201DBA3A to 10.21.0.4, server port.  
BOOTP RELAY-SRVR 0934297685 0000000000 0.0.0.0 10.21.0.4 0800201DBA3A 
N/A 0800201DBA3A  
Packet received from relay agent: 10.23.0.1  
Relaying reply to client 0800201DBA3A  
Unicasting datagram to 10.23.3.233 address.  
Adding ARP entry: 10.23.3.233 == 0800201DBA3A  
BOOTP RELAY-CLNT 0934297688 0000000000 10.23.0.1 10.23.3.233 0800201DBA3A 
N/A 0800201DBA3A  
Relaying request 0800201DBA3A to 10.21.0.4, server port.  
BOOTP RELAY-SRVR 0934297689 0000000000 0.0.0.0 10.21.0.4 0800201DBA3A 
N/A 0800201DBA3A  
Packet received from relay agent: 10.23.0.1  
Relaying reply to client 0800201DBA3A  
Unicasting datagram to 10.23.3.233 address.  
Adding ARP entry: 10.23.3.233 == 0800201DBA3A 
 

Falls ein Problem mit DHCP vorliegt, kann die Ausgabe im Debugging-Modus Anzeigewarnungen oder Fehlermeldungen enthalten. Suchen Sie mithilfe der folgenden Fehlermeldungsliste eines DHCP-Servers nach Lösungen.


ICMP ECHO-Antwort an OFFER-Kandidat: IP-Adresse disabling

Grund:

Bevor der DHCP-Server dem Client eine IP-Adresse anbietet, sendet er einen ping-Befehl an die Adresse, um sicherzustellen, dass sie noch nicht verwendet wird. Wenn ein Client antwortet, wird die Adresse bereits verwendet.

Lösung:

Stellen Sie sicher, dass die von Ihnen konfigurierten Adressen noch nicht verwendet werden. Dazu können Sie den ping-Befehl verwenden. Weitere Informationen finden Sie in der Manpage ping(1M).


Keine weiteren IP-Adressen im Netzwerk Netzwerkadresse.

Grund:

In der DHCP-Netzwerktabelle, die dem Clientnetzwerk zugeordnet ist, stehen keine weiteren IP-Adressen mehr zur Verfügung.

Lösung:

Weitere Adressen können Sie mit DHCP Manager oder dem Befehl pntadm erstellen. Wenn der DHCP-Daemon mehrere Teilnetze überwacht, achten Sie darauf, dass die zusätzlichen Adressen für das Teilnetz gelten, indem sich der Client befindet. Weitere Informationen finden Sie unter Hinzufügen von IP-Adressen zum DHCP-Service.


Keine weiteren IP-Adressen für das Netzwerk Netzwerkadresse, wenn Sie den DHCP-Daemon im BOOTP-Kompatibilitätsmodus ausführen.

Grund:

BOOTP verwendet keine Leasing-Zeit, daher sucht der DHCP-Server nach freien Adressen mit gesetztem BOOTP-Flag, um BOOTP-Clients zuzuordnen.

Lösung:

Verwenden Sie DHCP Manager zum Zuordnen von BOOTP-Adressen. Lesen Sie dazu Unterstützen von BOOTP-Clients mit dem DHCP-Service (Übersicht der Schritte).


Anforderung für den Zugriff auf nicht existierende Netzwerkdatenbank: Datenbankname im Datenspeicher: Datenspeicher.

Grund:

Während der Konfiguration des DHCP-Servers wurde für ein Teilnetz keine DHCP-Netzwerktabelle erstellt.

Lösung:

Erstellen Sie die DHCP-Netzwerktabelle und neue IP-Adressen mit DHCP Manager oder dem Befehl pntadm. Lesen Sie dazu Hinzufügen von DHCP-Netzwerken.


Es ist keine Tabellenname dhcp-Netzwerktabelle für das Netzwerk des DHCP-Client vorhanden.

Grund:

Während der Konfiguration des DHCP-Servers wurde für ein Teilnetz keine DHCP-Netzwerktabelle erstellt.

Lösung:

Erstellen Sie die DHCP-Netzwerktabelle und neue IP-Adressen mit DHCP Manager oder dem Befehl pntadm. Lesen Sie dazu Hinzufügen von DHCP-Netzwerken.


Client verwendet nicht-RFC1048 BOOTP-Cookie.

Grund:

Ein Gerät im Netzwerk versucht, auf eine nicht unterstützte Implementierung von BOOTP zuzugreifen.

Lösung:

Ignorieren Sie diese Meldung, es sei denn, Sie müssen dieses Gerät konfigurieren. Wenn das Gerät unterstützt werden soll, finden Sie weitere Informationen unter Unterstützen von BOOTP-Clients mit dem DHCP-Service (Übersicht der Schritte).

Ausgabe des DHCP-Befehls snoop

Aus der Ausgabe des Befehls snoop sollte hervorgehen, dass Datenpakete zwischen DHCP-Clientsystem und DHCP-Serversystem ausgetauscht wurden. In jedem Paket wird und die IP-Adresse jedes Systems angegeben. Ebenfalls enthalten sind die IP-Adressen für Router oder Relay-Agents im Pfad des Pakets. Wenn die Systeme keine Datenpakete austauschen, ist das Clientsystem eventuell nicht in der Lage, das Serversystem zu kontaktieren. Das Problem liegt dann auf einen niedrigen Ebene.

Um die Ausgabe des Befehls snoop zu bewerten, müssen Sie das erwartete Verhalten kennen. Beispielsweise müssen Sie wissen, ob die Anforderung über einen BOOTP-Relay-Agent erfolgt. Außerdem müssen Sie die MAC-Adressen und die IP-Adresse der am Datenaustausch beteiligten Systeme kennen, so dass Sie feststellen können, ob die angezeigten Werte korrekt sind. Falls mehrere Netzwerkschnittstellen vorhanden sind, müssen Sie auch die Adressen dieser Netzwerkschnittstellen kennen.

Das folgende Beispiel zeigt eine normale Ausgabe des Befehls snoop für eine DHCP-Bestätigungsnachricht, die vom DHCP-Server auf blue-servr2 an einen Client mit der MAC-Adresse 8:0:20:8e:f3:7e gesendet wurde. In dieser Nachricht weist der Server dem Client die IP-Adresse 192.168.252.6 und den Hostnamen white-6 zu. Darüber hinaus enthält die Meldung verschiedene standardmäßige Netzwerkoptionen und einige Hersteller-spezifische Optionen für den Client.


Beispiel 17–5 Beispielausgabe des Befehls snoop für ein Paket


ETHER:  ----- Ether Header ----- 
ETHER:   
ETHER:  Packet 26 arrived at 14:43:19.14 
ETHER:  Packet size = 540 bytes 
ETHER:  Destination = 8:0:20:8e:f3:7e, Sun 
ETHER:  Source      = 8:0:20:1e:31:c1, Sun 
ETHER:  Ethertype = 0800 (IP) 
ETHER:  
IP:   ----- IP Header ----- 
IP:    
IP:   Version = 4 
IP:   Header length = 20 bytes 
IP:   Type of service = 0x00 
IP:         xxx. .... = 0 (precedence) 
IP:         ...0 .... = normal delay 
IP:         .... 0... = normal throughput 
IP:         .... .0.. = normal reliability 
IP:   Total length = 526 bytes 
IP:   Identification = 64667 
IP:   Flags = 0x4 IP:         .1.. .... = do not fragment 
IP:         ..0. .... = last fragment 
IP:   Fragment offset = 0 bytes 
IP:   Time to live = 254 seconds/hops 
IP:   Protocol = 17 (UDP) 
IP:   Header checksum = 157a 
IP:   Source address = 10.21.0.4, blue-servr2 
IP:   Destination address = 192.168.252.6, white-6 
IP:   No options 
IP:   UDP:  ----- UDP Header ----- 
UDP:   
UDP:  Source port = 67 
UDP:  Destination port = 68 (BOOTPC) 
UDP:  Length = 506  
UDP:  Checksum = 5D4C  
UDP:  
DHCP: ----- Dynamic Host Configuration Protocol ----- 
DHCP:  
DHCP: Hardware address type (htype) =  1 (Ethernet (10Mb)) 
DHCP: Hardware address length (hlen) = 6 octets 
DHCP: Relay agent hops = 0 
DHCP: Transaction ID = 0x2e210f17 
DHCP: Time since boot = 0 seconds 
DHCP: Flags = 0x0000 
DHCP: Client address (ciaddr) = 0.0.0.0 
DHCP: Your client address (yiaddr) = 192.168.252.6 
DHCP: Next server address (siaddr) = 10.21.0.2 
DHCP: Relay agent address (giaddr) = 0.0.0.0 
DHCP: Client hardware address (chaddr) = 08:00:20:11:E0:1B 
DHCP:  
DHCP: ----- (Options) field options ----- 
DHCP:  
DHCP: Message type = DHCPACK 
DHCP: DHCP Server Identifier = 10.21.0.4 
DHCP: Subnet Mask = 255.255.255.0 
DHCP: Router at = 192.168.252.1 
DHCP: Broadcast Address = 192.168.252.255 
DHCP: NISPLUS Domainname = dhcp.test 
DHCP: IP Address Lease Time = 3600 seconds 
DHCP: UTC Time Offset = -14400 seconds 
DHCP: RFC868 Time Servers at = 10.21.0.4 
DHCP: DNS Domain Name = sem.example.com 
DHCP: DNS Servers at = 10.21.0.1 
DHCP: Client Hostname = white-6 
DHCP: Vendor-specific Options (166 total octets): 
DHCP:   (02) 04 octets  0x8194AE1B (unprintable) 
DHCP:   (03) 08 octets  "pacific" 
DHCP:   (10) 04 octets  0x8194AE1B (unprintable) 
DHCP:   (11) 08 octets  "pacific" 
DHCP:   (15) 05 octets  "xterm" 
DHCP:   (04) 53 octets  "/export/s2/base.s2s/latest/Solaris_8/Tools/Boot" 
DHCP:   (12) 32 octets  "/export/s2/base.s2s/latest" 
DHCP:   (07) 27 octets  "/platform/sun4u/kernel/unix" 
DHCP:   (08) 07 octets  "EST5EDT" 
  0: 0800 208e f37e 0800 201e 31c1 0800 4500    .. .ó~.. .1...E.
 16: 020e fc9b 4000 fe11 157a ac15 0004 c0a8    ....@....z......           
 32: fc06 0043 0044 01fa 5d4c 0201 0600 2e21    ...C.D..]L.....!           
 48: 0f17 0000 0000 0000 0000 c0a8 fc06 ac15    ................           
 64: 0002 0000 0000 0800 2011 e01b 0000 0000    ........ .......           
 80: 0000 0000 0000 0000 0000 0000 0000 0000    ................           
 96: 0000 0000 0000 0000 0000 0000 0000 0000    ................          
112: 0000 0000 0000 0000 0000 0000 0000 0000    ................          
128: 0000 0000 0000 0000 0000 0000 0000 0000    ................          
144: 0000 0000 0000 0000 0000 0000 0000 0000    ................          
160: 0000 0000 0000 0000 0000 0000 0000 0000    ................          
176: 0000 0000 0000 0000 0000 0000 0000 0000    ................          
192: 0000 0000 0000 0000 0000 0000 0000 0000    ................          
208: 0000 0000 0000 0000 0000 0000 0000 0000    ................          
224: 0000 0000 0000 0000 0000 0000 0000 0000    ................          
240: 0000 0000 0000 0000 0000 0000 0000 0000    ................          
256: 0000 0000 0000 0000 0000 0000 0000 0000    ................          
272: 0000 0000 0000 6382 5363 3501 0536 04ac    ......c.Sc5..6..          
288: 1500 0401 04ff ffff 0003 04c0 a8fc 011c    ................          
304: 04c0 a8fc ff40 0964 6863 702e 7465 7374    .....@.dhcp.test          
320: 3304 0000 0e10 0204 ffff c7c0 0404 ac15    3...............          
336: 0004 0f10 736e 742e 6561 7374 2e73 756e    ....sem.example.          
352: 2e63 6f6d 0604 ac15 0001 0c07 7768 6974    com.........whit          
368: 652d 362b a602 0481 94ae 1b03 0861 746c    e-6+.........pac          
384: 616e 7469 630a 0481 94ae 1b0b 0861 746c    ific.........pac          
400: 616e 7469 630f 0578 7465 726d 0435 2f65    ific...xterm.5/e          
416: 7870 6f72 742f 7332 382f 6261 7365 2e73    xport/sx2/bcvf.s          
432: 3238 735f 776f 732f 6c61 7465 7374 2f53    2xs_btf/latest/S          
448: 6f6c 6172 6973 5f38 2f54 6f6f 6c73 2f42    olaris_x/Tools/B          
464: 6f6f 740c 202f 6578 706f 7274 2f73 3238    oot. /export/s2x          
480: 2f62 6173 652e 7332 3873 5f77 6f73 2f6c    /bcvf.s2xs_btf/l         
496: 6174 6573 7407 1b2f 706c 6174 666f 726d    atest../platform          
512: 2f73 756e 346d 2f6b 6572 6e65 6c2f 756e    /sun4u/kernel/un          
528: 6978 0807 4553 5435 4544 54ff              ix..EST5EDT.  

Problems With Inaccurate DHCP Configuration Information

Wenn ein DHCP-Client ungenaue Informationen in seinen Netzwerkkonfigurationsinformationen erhält, müssen Sie die DHCP-Serverdaten prüfen. Achten Sie dabei auf die Optionswerte in den Makros, die der DHCP-Server für diesen Client verarbeitet. Beispiele für ungenaue Informationen könnten ein falscher NIS-Domänenname oder eine falsche Router-IP-Adresse sein.

Die folgenden allgemeinen Richtlinien helfen Ihnen dabei, die Quelle der ungenauen Informationen festzustellen:

Probleme mit dem vom DHCP-Client angegebenen Hostnamen

In diesem Abschnitt werden Probleme beschrieben, die eventuell bei DHCP-Clients auftreten, die ihre eigenen Hostnamen bei DNS registrieren.

DHCP-Client fordert keinen Hostnamen an

Handelt es sich bei Ihrem Client nicht um einen Oracle Solaris DHCP-Client, suchen Sie in der Dokumentation für Ihren DHCP-Client nach Informationen, wie der Client so konfiguriert wird, dass er einen Hostnamen anfordert. Bei Oracle Solaris DHCP-Clients lesen Sie So konfigurieren Sie einen Oracle Solaris DHCPv4-Client zur Anforderung eines bestimmten Hostnamens.

DHCP-Client erhält den angeforderten Hostnamen nicht

In der folgenden Liste sind mögliche Probleme beschrieben, die dazu führen könnten, dass ein Client den angeforderten Hostnamen nicht erhält. Weiterhin werden Lösungsvorschläge angeboten.

Problem:

Client akzeptiert ein Angebot von einem DHCP-Server, der keine DNS-Aktualisierungen ausgibt.

Lösung:

Wenn dem Client zwei DHCP-Server zur Verfügung stehen, sollten beide Server so konfiguriert sein, dass sie DNS-Aktualisierungen bereitstellen können. Informationen zur Konfiguration von DHCP-Server und DNS-Server finden Sie unter Aktivieren von dynamischen DNS-Aktualisierungen durch einen DHCP-Server.

So können Sie feststellen, ob der DHCP-Server so konfiguriert ist, dass er DNS-Aktualisierungen bereitstellt:

  1. Ermitteln Sie die IP-Adresse des DHCP-Servers des Client. Geben Sie auf dem Clientsystem den Befehl snoop ein oder rufen Sie eine andere Anwendung zur Erfassung von Netzwerkpaketen auf. Lesen Sie So verwenden Sie snoop zur Überwachung des DHCP-Netzwerkverkehrs und führen Sie das Verfahren auf dem Client noch einmal durch. Suchen Sie in der Ausgabe des Befehls snoop nach dem Bezeichner des DHCP-Servers, um die IP-Adresse des Servers in Erfahrung zu bringen.

  2. Melden Sie sich beim DHCP-Serversystem an, um sicherzustellen, dass dieses System so konfiguriert ist, dass es DNS-Aktualisierungen durchführen kann. Melden Sie sich als Superuser an, und geben Sie den folgenden Befehl ein:

    dhcpconfig -P

    Wenn UPDATE_TIMEOUT als ein Serverparameter aufgeführt ist, wurde der DHCP-Server so konfiguriert, dass er DNS-Aktualisierungen durchführen kann.

  3. Prüfen Sie die /etc/named.conf-Datei auf dem DNS-Server. Suchen Sie nach dem Schlüsselwort allow-update im Bereich zone der entsprechenden Domäne. Wenn der Server DNS-Aktualisierungen durch den DHCP-Server gestattet, ist die IP-Adresse des DHCP-Servers für das Schlüsselwort allow-update enthalten.

Problem:

Client verwendet die Option FQDN, um den Hostnamen anzugeben. Oracle Solaris DHCP unterstützt die Option FQDN derzeit nicht, weil sie offiziell nicht zum DHCP-Protokoll gehört.

Lösung:

Geben Sie auf dem Server den Befehl snoop ein oder rufen Sie eine andere Anwendung zur Erfassung von Netzwerkpaketen auf. Lesen Sie dazu So verwenden Sie snoop zur Überwachung des DHCP-Netzwerkverkehrs. Suchen Sie in der Ausgabe des Befehls snoop nach der Option FQDN in einem Paket von Client.

Konfigurieren Sie den Client so, dass er den Hostnamen mit der Option Hostname angibt. Hostname hat den Optionscode 12. Anweisungen finden Sie in der Client-Dokumentation.

Bei einem Oracle Solaris-Client lesen Sie So konfigurieren Sie einen Oracle Solaris DHCPv4-Client zur Anforderung eines bestimmten Hostnamens

Problem:

Der DHCP-Server, der dem Client eine Adresse anbietet, kennt die DNS-Domäne des Clients nicht.

Lösung:

Prüfen Sie auf dem DHCP-Server, ob die Option DNSdmain einen gültigen Wert aufweist. Setzen Sie die Option DNSdmain in einem Makro, das für diesen Client verwendet wird, auf dem korrekten DNS-Domänennamen. DNSdmain ist im Allgemeinen im Netzwerkmakro enthalten. Informationen zum Ändern von Optionswerten in einem Makro finden Sie unter Ändern von DHCP-Makros.

Problem:

Der von einem Client angeforderte Hostname entspricht einer IP-Adresse, die nicht von diesem DHCP-Server verwaltet wird. Der Oracle Solaris DHCP-Server führt keine DNS-Aktualisierungen für IP-Adressen durch, die der Server nicht verwaltet.

Lösung:

Achten Sie im syslog auf eine der folgenden Meldungen vom DHCP-Server:

Konfigurieren Sie den Client so, dass er einen anderen Namen anfordert. Lesen Sie dazu So konfigurieren Sie einen Oracle Solaris DHCPv4-Client zur Anforderung eines bestimmten Hostnamens. Wählen Sie einen Namen, der eine von diesem DHCP-Server verwaltete Adresse zugeordnet ist. Die Adressenzuordnungen können Sie der Registerkarte „Adressen“ in DHCP Manager entnehmen. Alternativ wählen Sie eine Adresse, die keiner IP-Adresse zugeordnet ist.

Problem:

Der von einem Client angeforderte Hostname entspricht einer IP-Adresse, die derzeit nicht zur Verfügung steht. Die Adresse wird eventuell schon verwendet, ist in einem Leasing an einen anderen Client vergeben oder wird einem anderen Client angeboten.

Lösung:

Achten Sie im syslog auf die folgende Meldung vom the DHCP-Server: ICMP ECHO reply to OFFER candidate: n.n.n.n.

Konfigurieren Sie den Client so, dass er einen Namen wählt, der einer anderen IP-Adresse entspricht. Alternativ fordern Sie die Adresse von dem Client zurück, der die Adresse momentan verwendet.

Problem:

DNS-Server ist so konfiguriert, dass er keine Aktualisierungen vom DHCP-Server akzeptiert.

Lösung:

Prüfen Sie die /etc/named.conf-Datei auf dem DNS-Server. Suchen Sie nach der IP-Adresse des DHCP-Servers mit dem allow-update-Schlüsselwort im entsprechenden zone-Bereich für die Domäne des DHCP-Servers. Ist diese IP-Adresse nicht vorhanden, wurde der DNS-Server so konfiguriert, dass er keine Aktualisierungen vom DHCP-Server akzeptiert.

Informationen zur Konfiguration des DNS-Servers finden Sie unter So aktivieren Sie die dynamische DNS-Aktualisierung für DHCP-Clients.

Verfügt der DHCP-Server über mehrere Schnittstellen, müssen Sie den DNS-Server eventuell so konfigurieren, dass er Aktualisierungen von allen Adressen des DHCP-Servers akzeptiert. Aktivieren Sie das Debugging auf den DNS-Server, um festzustellen, ob die Aktualisierungen den DNS-Server erreichen. Wenn der DNS-Server Aktualisierungsanforderungen empfängt, prüfen Sie die Ausgabe im Debugging-Modus, um festzustellen, warum die Aktualisierungen nicht stattgefunden haben. Informationen zum DNS-Debugging-Modus finden Sie in der Manpage in.named.1M.

Problem:

DNS-Aktualisierungen wurden im zugewiesenen Zeitraum nicht vollständig abgeschlossen. DHCP-Server haben keine Hostnamen an Clients zurückgegeben, wenn die DNS-Aktualisierungen nicht im konfigurierten Zeitrahmen abgeschlossen wurden. Versuche zum Vervollständigen der DNS-Aktualisierungen werden jedoch fortgesetzt.

Lösung:

Geben Sie den Befehl nslookup ein, um festzustellen, ob die Aktualisierungen erfolgreich abgeschlossen wurden. Weitere Informationen finden Sie in der Manpage nslookup(1M).

Angenommen, die DNS-Domäne ist hills.example.org und die IP-Adresse des DNS-Servers lautet 10.76.178.11. Der Hostname, den der Client registrieren möchte, lautet cathedral. Mit dem folgenden Befehle können Sie feststellen, ob cathedral bei diesem DNS-Server registriert wurde :

nslookup cathedral.hills.example.org 10.76.178.11

Wenn die Aktualisierung erfolgreich abgeschlossen wurde, jedoch nicht in der zugewiesenen Zeit, müssen Sie den Timeout-Wert erhöhen. Lesen Sie dazu So aktivieren Sie die dynamische DNS-Aktualisierung für DHCP-Clients. In diesem Verfahren geben Sie in Sekunden an, wie lange auf eine Antwort vom DNS-Server gewartet werden soll, bevor eine Zeitüberschreitung eintritt.