Guía de administración del sistema: servicios IP

Problemas de comunicación con el servidor DHCP

En esta sección se describen los problemas que se pueden presentar al agregar clientes DHCP a la red.

Después de activar el software cliente y reiniciar el sistema, el cliente intentará conectar con el servidor DHCP para obtener su configuración de red. Si el cliente no puede acceder al servidor, es posible que se muestren mensajes de error similares a los siguientes:


DHCP or BOOTP server not responding 

    Antes de poder determinar el problema, deberá reunir información de diagnóstico del cliente y del servidor. Para recopilar esta información, efectúe las siguientes tareas:

  1. Cómo ejejcutar el cliente DHCP en modo de depuración

  2. Cómo ejecutar el servidor DHCP en modo de depuración

  3. Cómo utilizar snoop para supervisar el tráfico DHCP en la red

Puede llevar a cabo estos procesos de forma independiente o simultánea.

La información recogida puede ayudarle a determinar si el problema es del cliente, del servidor o de un agente de reenvío. Esto le permitirá hallar una solución.

ProcedureCómo ejejcutar el cliente DHCP en modo de depuración

Si no es un cliente DHCP de Oracle Solaris, consulte la documentación del cliente para obtener información sobre cómo ejecutarlo en modo de depuración.

Si tiene un cliente DHCP de Oracle Solaris, siga estos pasos.

  1. Asígnese los privilegios de superusuario en el sistema del cliente DHCP.

  2. Finalice el daemon del cliente DHCP.


    # pkill -x dhcpagent
    
  3. Reinicie el daemon en modo de depuración.


    # /sbin/dhcpagent -d1 -f &
    

    La opción -d pone el cliente DHCP en modo de depuración con detalle de nivel 1. La opción -f hace que la salida se envíe a la consola en lugar de a syslog.

  4. Configure la interfaz para que inicie la negociación DHCP.


    # ifconfig interface dhcp start
    

    Sustituya interfaz por el nombre de la interfaz de red del cliente, por ejemplo ge0.

    Cuando se ejcuta en modo de depuración, el daemon del cliente muestra mensajes en pantalla mientras atiende las solicitudes de DHCP. Consulte Salida del cliente DHCP en modo de depuración para obtener información sobre la salida del cliente en dicho modo.

ProcedureCómo ejecutar el servidor DHCP en modo de depuración

  1. Conviértase en superusuario en el sistema del servidor.

  2. Detenga temporalmente el servidor DHCP.


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

    También puede utilizar DHCP Manager o dhcpconfig para detener el servidor.

  3. Reinicie el daemon en modo de depuración.


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

    Deberá utilizar también las opciones de línea de comandos de in.dhcpd que utiliza normalmente al ejecutar el daemon. Por ejemplo, si ejecuta el daemon como agente de reenvío BOOTP, incluya la opción -r en el comando in.dhcpd -d -v.

    Cuando se ejecuta en modo de depuración, el daemon muestra mensajes en pantalla mientras procesa las solicitudes de DHCP o BOOTP. Consulte Salida del servidor DHCP en modo de depuración para obtener información sobre la depuración del servidor.

ProcedureCómo utilizar snoop para supervisar el tráfico DHCP en la red

  1. Asígnese los privilegios de superusuario en el sistema del servidor DHCP.

  2. Inicie snoop para empezar a rastrear el tráfico de red que pasa por la interfaz de red del servidor.


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

    Por ejemplo, escriba el comando siguiente:


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

    snoop sigue supervisando la interfaz hasta que detenga snoop pulsando Control-C cuando ya tenga la información que necesita.

  3. Inicie el sistema cliente o reinicie dhcpagent en él.

    En Cómo ejejcutar el cliente DHCP en modo de depuración se indca cómo reiniciar dhcpagent.

  4. En el sistema servidor, utilice snoop para mostrar el archivo de salida con el contenido de los paquetes de red:


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

    Por ejemplo, escriba el comando siguiente:

    # /usr/sbin/snoop -i /tmp/snoop.output -x0 -v
    
Véase también

ConsulteSalida de snoop en DHCP para obtener información de interpretación de la salida.

Salida del cliente DHCP en modo de depuración

En el ejemplo siguiente se muestra una salida normal cuando un cliente DHCP en modo de depuración envía su solicitud DHCP y recibe su información de configuración de un servidor DHCP.


Ejemplo 17–1 Salida normal del cliente DHCP en modo de depuración


/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

Si el cliente no puede acceder al servidor DHCP, es posible que la salida del modo de depuración sea similar a este ejemplo.


Ejemplo 17–2 Salida del cliente DHCP en modo de depuración que indica que hay algún problema


/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
 

Si se muestra este mensaje, la solicitud del cliente no ha llegado al servidor o el servidor no puede enviar una respuesta al cliente. Ejecute snoop en el servidor según se describe en Cómo utilizar snoop para supervisar el tráfico DHCP en la red para determinar si los paquetes del cliente han llegado al servidor.

Salida del servidor DHCP en modo de depuración

Una salida normal del servidor en modo de depuración contiene información de configuración del servidor y, a continuación, información acerca de cada una de las interfaces de red a medida que el daemon se inicia. Tras el inicio del daemon, la salida del modo de depuración contiene información acerca de las solicitudes procesadas por el daemon. El Ejemplo 17–3 muestra la salida del modo de depuración de un servidor DHCP que se acaba de iniciar. El servidor amplía el permiso para un cliente que utiliza una dirección propiedad de otro servidor DHCP que no responde.


Ejemplo 17–3 Salida normal de un servidor DHCP en modo de depuración


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

El Ejemplo 17–4 muestra la salida del modo de depuración de un daemon DHCP que se inicia como agente de reenvío BOOTP. El agente reenvía solicitudes de un cliente a un servidor DHCP, y reenvía las respuestas del servidor al cliente.


Ejemplo 17–4 Salida normal de agente de reenvío BOOTP en modo de depuración


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 
 

Si hay algún problema con DHCP, la salida del modo de depuracuión puede contener advertencias o mensajes de error. Utilice la siguiente lista de mensajes de error del servidor DHCP para encontrar soluciones.


Respuesta de ICMP ECHO al candidato de OFFER: dirección_ip desactivando

Causa:

Antes de que el servidor DHCP ofrezca una dirección IP a un cliente, el servidor envía un ping a la dirección para comprobar que no se está utilizando. Si algún cliente responde, la dirección se está utilizando.

Solución:

Asegúrese de que las direcciones configuradas no se están utilizando. Puede utilizar para ello el comando ping. Para más información consulte la página de comando manping(1M).


No hay más direcciones IP en la red dirección_red.

Causa:

No hay direcciones IP disponibles en la tabla de red DHCP asociada con la red del cliente.

Solución:

Cree más direcciones IP mediante DHCP Manager o el comando pntadm. Si el daemon de DHCP está supervisando varias subredes, compruebe que las direcciones adicionales son para la subred en la que se encuentra el cliente. Para más información consulte Cómo agregar direcciones IP al servicio DHCP.


No hay mas direcciones IP para la red dirección_red cuando se ejcuta el daemon de DHCP en modo de compatibilidad con BOOTP.

Causa:

BOOTP no utiliza tiempos de permiso, de modo que el servidor DHCP busca direcciones libres con el indicador BOOTP activado para asignar a clientes BOOTP.

Solución:

Utilice DHCP Manager para asignar direcciones BOOTP. Para más información consulte Clientes BOOTP con el servicio DHCP (mapa de tareas).


Solicitud de acceso a base de datos por red inexistente: nombre_base_datos en almacén de datos: almacén_datos.

Causa:

Durante la configuración del servidor DHCP no se ha creado una tabla de red DHCP para una subred.

Solución:

Utilice DHCP Manager o el comando pntadm para crear la tabla de red DHCP y nuevas direcciones IP. Consulte Cómo agregar redes DHCP.


No existe la tabla de red DHCP nombre_tabla para la red del cliente DHCP.

Causa:

Durante la configuración del servidor DHCP no se ha creado una tabla de red DHCP para una subred.

Solución:

Utilice DHCP Manager o el comando pntadm para crear la tabla de red DHCP y nuevas direcciones IP. Consulte Cómo agregar redes DHCP.


El cliente utiliza una cookie de BOOTP no compatible con RFC1048.

Causa:

Un dispositivo de la red está intentando acceder a una implementación incompatible de BOOTP.

Solución:

Haga caso omiso de este mensaje a menos que tenga necesidad de configurar el dispositivo. Si quiere que el dispositivo sea compatible, consulte Clientes BOOTP con el servicio DHCP (mapa de tareas) para más información.

Salida de snoop en DHCP

En la salida de snoop podrá ver los paquetes intercambiados entre el sistema cliente DHCP y el sistema servidor DHCP. La dirección IP de cada sistema está indicada en el paquete. También se incluyen las direcciones IP de los enrutadores o agentes de reenvío que se encuentran en la ruta del paquete. Si los sistemas no intercambian paquetes, es posible que el sistema cliente no pueda ponerse en contacto con el sistema servidor. El problema se encuentra en un nivel inferior.

Para evaluar la salida de snoop deberá saber cuál es el comportamiento esperado. Deberá saber, por ejemplo, si la solicitud debe pasar por un agente de reenvío BOOTP. También deberá saber las direcciones MAC e IP de los sistemas implicados par poder determinar si se trata de los valores esperados. Si hay más de una interfaz de red, deberá conocer también las direcciones de las interfaces de red.

En el ejemplo siguiente se muestra una salida normal de snoop para un mensaje de reconocimiento (ACK) de DHCP enviado desde el servidor en blue-servr2 a un cliente cuya dirección MAC es 8:0:20:8e:f3:7e . En el mensaje, el servidor asigna al cliente la dirección IP 192.168.252.6 y el nombre de host white-6. El mensaje incluye también diversas opciones de red estándar y varias opciones de cliente específicas del proveedor.


Ejemplo 17–5 Ejemplo de salida de snoop para un paquete


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.