dhcpcd (Español)

dhcpcd es un cliente DHCP y DHCPv6. Actualmente es el cliente DHCP de código abierto que más características tiene, vea su página para una lista completa de características.

Nota: dhcpcd de Roy Marples (DHCP client daemon) no es lo mismo que dhcpd de Internet Systems Consortium (DHCP (server) daemon).

Esta traducción de dhcpcd fue revisada el 2020-12-06. Si existen cambios puede actualizarla o avisar al equipo de traducción.

Instalación

Instale el paquete dhcpcd.

dhcpcd-uiAUR es una interfaz GTK del demonio dhcpcd, y opcionalmente WPA supplicant. Estas interfaces ofrecen un diálogo de configuración y la capacidad de introducir una contraseña para las redes inalámbricas.

es una versión parcheada del paquete dhcpcd-uiAUR. Esta utiliza AppIndicator en vez de GtkStatusIcon y compila con gtk3. Posee un icono nítido para la bandeja del sistema cuando se utiliza con KDE.

Iniciar

Para iniciar el demonio para todas las interfaces red, Inicia/Activa .

Para iniciar el demonio para solo una interfaz específica de red, Inicia/Activa , donde interfaz se puede encontrar con Configuración de red#Listar las interfaces de red.

Es recomendable utilizar la unidad de la plantilla, vea #dhcpcd y interfaces de red con systemd para más detalles. En cualquier caso se le asignará una dirección IP dinámica. Para establecer una dirección IP estática, vea #Perfil estático.

Configuración

La configuración principal se hace en . Vea dhcpcd.conf(5) para más detalles. Algunas de las opciones frecuentemente utilizadas están resaltadas abajo.

Ruta(s) estática DHCP

Si necesita añadir una ruta estática en el lado del cliente, añádelo a /etc/dhcpcd.exit-hook. En el ejemplo se observa un hook-script nuevo que añade una ruta estática a una subred VPN en via a la puerta de entrada de la maquina a :

Puedes añadir múltiples rutas en este archivo.

Identificador de cliente DHCP

El cliente DHCP puede identificarse de diferentes formas por el servidor:

  1. hostname (o el valor del nombre del host enviado por el cliente),
  2. por la dirección MAC del controlador de la interfaz de red con la que se está realizando la conexión, vinculado al
  3. ID de Asociación de Identidad (IAID), que es una capa de abstracción para diferenciar usos/casos y/o interfaces en un solo host,
  4. Identificador único de DHCP (DUID).

Para una descripción más extensa, vea RFC 3315.

Dependiendo de la configuración del servidor DHCP algunas opciones serán opcionales u obligatorias para solicitar una concesión de IP a DHCP.

Si la configuración por defecto de dhcpcd falla al obtener una IP, las siguientes opciones están disponibles para usarse en :

  • envia el nombre del host establecido en
  • clientid envia la dirección MAC como identificador
  • deriva el IAID para utilizarlo en el detector DHCP. Se tiene que utilizar en un block de la interfaz (iniciada por interface <interface>, vea ), pero normalmente se utiliza la siguiente opción:
  • El disparador utiliza una combinación de DUID y IAID como identificador.

El valor DUID esta establecido en . Para la eficiencia en la operación de concesión DHCP es importante que sea único para el sistema y se aplique a todas las interfaces de red iguales, mientras el IAID representa un identificador para cada interfaz del sistema (vea RFC 4361).

Tenga mucho cuidado en una red en funcionamiento con DNS dinámicos en asegurarse de que los tres IDs son únicos. Si se presenta valores duplicados DUID en el servidor DNS, por ejemplo, en el caso donde una máquina virtual ha sido clonada y el nombre del host y la MAC se han hecho únicos pero el DUID no se ha cambiado, cada cliente con el DUID duplicado requiere que el servidor elimine el predecesor del registro DNS.

Perfil estático

Los ajustes necesarios están explicados en Configuración de red. Normalmente incluye el nombre de la interfaz de red, dirección IP, dirección del router, y el nombre del servidor.

El perfil estático para dhcpcd se configura en , por ejemplo:

Es posible realizar configuraciones más complicadas, por ejemplo combinar con la opción . Vea dhcpcd.conf(5) para más información.

Volver al perfil anterior

Es posible configurar un perfil estático dentro de dhcpcd y regresar al perfil anterior cuando el requerimiento de DHCP falle. Esto es particularmente útil para máquinas sin monitor (en inglés), donde el perfil estático se puede utilizar como un perfil de "recuperación" para asegurarse de que siempre sea posible conectarse a la máquina.

El siguiente ejemplo configura un perfil con como dirección IP, como puerta y nombre de servidor, y hace que este perfil sea un respaldo para la interfaz .

Hooks

dhcpcd ejecuta todos los scripts que encuentra en /usr/lib/dhcpcd/dhcpcd-hooks/ en un orden léxico. Vea dhcpcd.conf(5) y dhcpcd-run-hooks(8) para más información.

10-wpa_supplicant

Activar este hook creando un enlace simbólico que asegura que siempre se utilice la versión actual, incluso después de actualizaciones:

# ln -s /usr/share/dhcpcd/hooks/10-wpa_supplicant /usr/lib/dhcpcd/dhcpcd-hooks/

El hook , si esta activado, ejecuta automáticamente WPA supplicant (Español) en las interfaces de red inalámbricas. Se inicia solo si:

  • Ningún proceso wpa_supplicant esta escuchando a esa interfaz.
  • existe un archivo de configuración wpa_supplicant. dhcpcd comprueba
/etc/wpa_supplicant/wpa_supplicant-interface.conf
/etc/wpa_supplicant/wpa_supplicant.conf
/etc/wpa_supplicant-interface.conf
/etc/wpa_supplicant.conf

por defecto, y en ese orden, pero se puede configurar un parche personalizado añadiendo en .

Si wpa_supplicant maneja conexiones inalámbricas por si mismo, el hook puede crear eventos de conexiones no deseadas. Por ejemplo, si para wpa_supplicant el hook puede iniciar la interfaz otra vez. Incluso si utiliza netctl-auto (en inglés), wpa_supplicant se inicia automáticamente con por la configuración, por lo tanto iniciarlo otra vez desde el hook no es necesario y puede causar errores en el arranque al analizar el archivo , que solo contiene valores ficticios en la versión por defecto.

Para desactivar el hook elimine el link simbólico que añadiste o añade en .

Consejos y trucos

Acelerar DHCP deshabilitando la exploración ARP

Dhcpcd contiene una implementación como recomendación del estándar DHCP (RFC2131 sección 2.2) para comprobar vía ARP si la dirección IP asignada no esta realmente ocupada. Esto puede no ser útil en las redes domésticas, por lo tanto se puede ahorrar alrededor de 5 segundos en cada conexión añadiendo la siguiente linea a :

noarp

Esto es equivalente si le pasa --noarp a , y desactiva la prueba ARP descrita, aumentando la velocidad de la conexiones a redes con DHCP.

Quitar el arrendamiento antiguo de DHCP

El archivo , donde es el nombre de la interfaz que tiene el arrendamiento, contiene la respuesta enviada por el servidor DHCP del actual arrendamiento de DHCP. Para una interfaz inalámbrica, el nombre del archivo es /var/lib/dhcpcd/interfaz-ssid.lease, donde es el nombre de la red inalámbrica. Se usa para determinar el último arrendamiento del servidor, y su atributo se usa para determinar cuando se ha resuelto. La última información de arrendamiento se usa para pedir la misma dirección IP previamente retenida en la red, si está disponible. Si no quiere eso, simplemente elimine este archivo.

Si el servidor DHCP aún le asigna la misma dirección IP, puede deberse a que está configurado para mantener la asignación estable y reconoce el requerimiento del id del cliente DHCP o DUID (vea #Identificador de cliente DHCP). Puedes probarlo parando dhcpcd y eliminando o renombrando . Dhcpcd generará uno nuevo en la siguiente ejecución.

Tenga en cuenta que el DUID está destinado a ser un identificador persistente sobre los reinicios e interfaces. Si estás transfiriendo el sistema a un nuevo ordenador, preservar este archivo debería hacer que el ordenador se parezca al antiguo.

Diferentes IPs cuando se hace un arranque múltiple

Si está haciendo un arraque dual Arch y OS X o Windows y quiere que cada uno reciba direcciones IP distintas, puedes ejercer control sobre el arrendamiento de IPs especificando un DUID diferente para cada sistema operativo.

En Windows (en XP) el DUID debería estar guardado en

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters\Dhcpv6DUID 

registro clave.

En OS X es directamente accesible en .

Si está utilizando un servidor dnsmasq DHCP, los DUIDs diferentes pueden utilizar las reglas apropiadas en su cpnfiguración.

/etc/resolv.conf

Si resolvconf está disponible en la información DNS se enviará a él, si no dhcpcd sobrescribirá automáticamente .

La sobreescritura de se puede parar desactivando el hook /usr/lib/dhcpcd/dhcpcd-hooks/20-resolv.conf. Para hacerlo añada lo siguiente a la última sección de :

nohook resolv.conf

Alternativamente, puede crear un archivo llamado conteniendo sus servidores DNS. Dhcpcd antepone este archivo al comienzo de .

O puede configurar dhcpcd para utilizar el mismo servidor DNS siempre. Para hacer esto, añade la siguiente linea al final de su , donde es una lista deparada por espacios de las direcciones IP DNS.

static domain_name_servers=dns-server-ip-addresses

Por ejemplo, para establecer el servidor DNS de Google:

static domain_name_servers=8.8.8.8 8.8.4.4

Solución de problemas

ID del cliente

Si está en una red con DHCPv4 If you are on a network with DHCPv4 que filtra las IDs de los clientes basados en direcciones MAC, necesita cambiar la siguiente linea:

A:

Si no, puede no obtener ningún arrendamiento desde que el servidor DHCP no lea su ID del cliente estilo-DHCPv6 correctamente. Vea RFC 4361 para más información.

Comprobar un problema de DHCP soltando primero la IP

Puede ocurrir un problema cuando DHCP obtiene una asignación IP incorrecta, como que dos routers están enlazados juntos a una VPN. El router que está conectado a través de la VPN puede haber asignado una dirección IP. Para arreglarlo, como root, suelte la dirección IP:

# dhcpcd -k

Luego pida una nueva:

# dhcpcd

Puede que tengas que ejecutar estos dos comandos varias veces.

Problemas con routers no obedientes

Para algunos routers (desobedientes), no podrá conectarse apropiadamente a no haya ser que comentes la linea

require dhcp_server_identifier

en . Esto no debería causarle problemas a no ser que tenga múltiples servidores DHCP en su red (no es típico); vea esta página para más información.

dhcpcd y interfaces de red con systemd

dhcpcd.service puede activarse sin especificar una interfaz. Esto puede, sin embargo, crear una condición en el arranque intentando aplicar un nombre predictivo de la interfaz de red con system-udev:

error changing net interface name wlan0 to wlp4s0: Device or resource busy" 

Para evitarlo, habilita dhcpcd por interfaz que debería enlazar como se ha descrito en #Iniciar. La plantilla de abajo, sin embargo, no soporta la conexión en caliente de una conexión por cable y fallará si el cable de red no está conectado. Para tratar el fallo, vea #Tiempo de espera.

También es posible utilizar o en dhcpcd.conf(5) para parar dhcpcd vinculando a los nombres del kernel, por ejemplo

denyinterfaces wlan* eth*

Tiempo de espera

Si dhcpcd opera en una única interfaz y falla al obtener el arrendamiento (lease time) después de 30 segundos (por ejemplo cuando el servidor no está preparado o el cable no está conectado), saldrá con un error.

Para hacer que dhcpcd espere indefinidamente por una vez, edite la unidad y establece la opción a 0:

Para hacer que espere indefinidamente, deja que la unidad se reinicie después de salir:

Problemas conocidos

dhcpcd@.service causa un inicio lento

Por defecto espera hasta obtener una dirección IP antes de pasar a segundo plano vía parámetro para dhcpcd. Si la unidad está habilitada, puede causar que en el arranque espere a obtener una dirección IP antes de continuar. Para arreglarlo, crea un archivo de inserción para la unidad con lo siguiente:

Vea también .

Véase también

gollark: dr stwt qe62 '6]
gollark: At the same time or not?
gollark: If it's in green anyway.
gollark: Ah, it looks very hackery, you see.
gollark: processor : 0vendor_id : AuthenticAMDcpu family : 23model : 1model name : AMD Ryzen 3 1200 Quad-Core Processorstepping : 1microcode : 0x800111ccpu MHz : 3410.279cache size : 512 KBphysical id : 0siblings : 4core id : 0cpu cores : 4apicid : 0initial apicid : 0fpu : yesfpu_exception : yescpuid level : 13wp : yesflags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid aperfmperf pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb hw_pstate sme ssbd sev vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf xsaveerptr arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload vgif overflow_recov succor smcabugs : sysret_ss_attrs null_seg spectre_v1 spectre_v2 spec_store_bypassbogomips : 6989.20TLB size : 2560 4K pagesclflush size : 64cache_alignment : 64address sizes : 43 bits physical, 48 bits virtualpower management: ts ttp tm hwpstate eff_freq_ro [13] [14]
This article is issued from Archlinux. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.