En OpenWrt, el servidor DHCP/DNS dnsmasq
utiliza dos tipos de declaraciones en su archivo de configuración (/etc/config/dhcp
): option
y list
. Ambos se utilizan para definir parámetros de configuración, pero tienen propósitos diferentes debido a cómo manejan los valores asociados. A continuación, te explico las diferencias y por qué existen ambas opciones.
option: Para un solo valor
- Propósito: La declaración option se utiliza cuando un parámetro solo puede tener un único valor.
- Ejemplo:
option hostname 'mydevice'
- Especificar una dirección IP estática para un dispositivo:
option ip '192.168.1.10'
- Funcionamiento interno: Cuando dnsmasq procesa esta configuración, interpreta option como un campo con un único valor. Si intentas asignar varios valores a un
opti
on
, solo se tomará el último valor especificado.
list: Para múltiples valores
- Propósito: La declaración list se utiliza cuando un parámetro puede aceptar múltiples valores. Cada valor se añade como un elemento independiente en una lista.
- Ejemplo:
list dhcp_option '3,192.168.1.1'
list dhcp_option '6,8.8.8.8,8.8.4.4'
Aquí, se están definiendo dos opciones DHCP:
- 3,192.168.1.1: Configura la puerta de enlace predeterminada.
- 6,8.8.8.8,8.8.4.4: Configura los servidores DNS (Google Public DNS).
- Casos comunes:
- Asignar varias opciones DHCP personalizadas:
list dhcp_option '26,1492' # MTU para PPPoE
list dhcp_option '42,192.168.1.1' # Servidor NTP
- Definir múltiples servidores DNS:
list server '8.8.8.8'
list server '8.8.4.4'
- Funcionamiento interno: dnsmasq interpreta cada entrada de list como un elemento independiente. Todos los valores se agregan a una lista interna, lo que permite que coexistan múltiples configuraciones para el mismo parámetro.
Diferencias clave entre option y list
CARACTERÍSTICA | OPTION | LIST |
Número de valores | Un solo valor | Múltiples valores |
Ejemplo de uso | option domain 'example.com' | list dhcp_option '3,192.168.1.1' |
Comportamiento | Sobrescribe valores previos | Agrega valores a una lista |
Cuándo usarlo | Cuando el parámetro es único | Cuando el parámetro admite múltiples valores |
Be the first to comment