¿Qué es "rfc3442-classless-static-routes" en /etc/dhcp/dhclient.conf

10

Estoy tratando de depurar DHCP en mi computadora portátil (estoy usando dhcpingy dhcdumppara ver qué devuelve el servidor DHCP). Siguiente es mi /etc/dhcp/dhclient.conf.

option rfc3442-classless-static-routes code 121 = array of unsigned integer 8;

send host-name = gethostname();

request subnet-mask, broadcast-address, time-offset, routers,
domain-name-servers, interface-mtu,
rfc3442-classless-static-routes;

Creo que tengo una idea de lo que significan todas estas opciones, excepto rfc3442-classless-static-routes. Además, no veo nada relacionado con rfc3442-classless-static-routeslas respuestas de DHCP.

¿Cuál es el significado rfc3442-classless-static-routesy en qué situación lo utilizaría?

(la documentación no tiene ningún sentido)

Thomas Keller
fuente

Respuestas:

19

La especificación DHCP original (RFC 2131 y 2132 ) define una opción (33) que permite al administrador del servicio DHCP emitir rutas estáticas al cliente si es necesario.

Desafortunadamente, ese diseño original es defectuoso en estos días, ya que asume direcciones de red con clase , que rara vez se usa.

La rfc3442-classless-static-routesopción le permite usar direcciones de red sin clase (o CIDR) en su lugar.

CIDR requiere que se especifique explícitamente una máscara de subred, pero la opción 33 de DHCP original no tiene espacio para esto. Por lo tanto, esta opción (como se define en RFC 3442) simplemente habilita una nueva opción de reemplazo de DHCP (opción 121) que define rutas estáticas utilizando la notación CIDR.

Básicamente, si necesita emitir rutas estáticas a sus dispositivos usando DHCP y estas rutas estáticas usan CIDR, entonces debe habilitar esta opción.

Se pueden usar rutas estáticas si ha dividido una red en varias redes más pequeñas y necesita informar a cada enrutador sobre cómo el tráfico pasa de uno a otro sin usar uno de los muchos protocolos de enrutamiento dinámico disponibles. Básicamente configura cada enrutador con una declaración que dice "para llegar a la red abcd, enviar tráfico a través de fghi" .

Si la ruta que configuró en el enrutador es con clase, entonces no necesita habilitar esta opción. Sin embargo, si las rutas son CIDR, deberá habilitar esta opción. Afortunadamente, muchas redes de hogar / cafetería usan la 192.168.0.0red con una subred de 255.255.255.0(o /24), que es una verdadera red de clase C, por lo tanto, puede evitar esta opción.

Por otro lado, algunas redes de hogar / cafetería se ejecutan en la 10.0.0.0red. Esta es una red de clase A por defecto. Si está dividiendo esto en muchas 10.0.x.0subredes, por ejemplo, todas estas serán redes CIDR, lo que significa que deberá habilitar esta opción.

Lo anterior solo es cierto si también necesita emitir esta información de enrutamiento a sus hosts a través de DHCP. El diseño de su red define si necesita emitir esta información de enrutamiento estático a sus hosts. Me arriesgaría a suponer que una red básica de hogar / cafetería no la necesita, ya que las rutas estáticas generalmente se definen en los enrutadores.

La configuración que tiene arriba simplemente define una nueva opción (hay muchas opciones predefinidas que dhclientya comprende) como la opción 121 que consiste en una matriz de 8 enteros sin signo. Luego configura el cliente para solicitar esta opción si está configurado en el servidor DHCP.

Si el servidor DHCP devuelve un valor para esta opción, un dhclientscript de enlace de salida ( /etc/dhclient/dhclient-exit-hooks.d/rfc3442-classless-routes) lee el valor y configura la tabla de enrutamiento en consecuencia.

garethTheRed
fuente
bellamente explicado
Ted Feng el