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:
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.
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.
Asígnese los privilegios de superusuario en el sistema del cliente DHCP.
Finalice el daemon del cliente DHCP.
# pkill -x dhcpagent |
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.
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.
Conviértase en superusuario en el sistema del servidor.
Detenga temporalmente el servidor DHCP.
# svcadm disable -t svc:/network/dhcp-server |
También puede utilizar DHCP Manager o dhcpconfig para detener el servidor.
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.
Asígnese los privilegios de superusuario en el sistema del servidor DHCP.
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.
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.
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
ConsulteSalida de snoop en DHCP para obtener información de interpretación de la salida.
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.
/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.
/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.
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.
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.
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.
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.
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. |