o que é “rfc3442-classless-static-routes” em /etc/dhcp/dhclient.conf

10

Estou tentando depurar o DHCP no meu laptop (estou usando dhcping e dhcdump para ver o que o servidor DHCP envia de volta). A seguir está minha /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;

Eu acho que tenho uma ideia do que todas essas opções significam, exceto rfc3442-classless-static-routes . Além disso, não vejo nada relacionado a rfc3442-classless-static-routes nas respostas do DHCP.

Qual é o significado de rfc3442-classless-static-routes e em que situação eu usaria isso?

(a documentação não faz sentido algum)

    
por Thomas Keller 23.03.2015 / 20:25

1 resposta

16

A especificação original do DHCP (RFC 2131 e 2132 ) define uma opção (33) que permite ao administrador do serviço DHCP emitir rotas estáticas para o cliente, se necessário.

Infelizmente, esse design original é defeituoso atualmente, pois pressupõe endereços de rede de classe , que raramente são usados.

A opção rfc3442-classless-static-routes permite que você use endereços de rede sem classe (ou CIDR).

O CIDR requer que uma máscara de sub-rede seja explicitamente declarada, mas a opção 33 original do DHCP não tem espaço para isso. Portanto, essa opção (conforme definido no RFC 3442) simplesmente habilita uma opção de DHCP de substituição mais recente (opção 121) que define rotas estáticas usando a notação CIDR.

Basicamente, se você precisar emitir rotas estáticas para seus dispositivos usando o DHCP e essas rotas estáticas usam o CIDR, será necessário ativar essa opção.

Uma rota estática pode ser usada se você dividir uma rede em várias redes menores e precisar informar a cada roteador como o tráfego vai de um para outro sem usar um dos muitos protocolos de roteamento dinâmico disponíveis. Você basicamente configura cada roteador com uma declaração para o efeito de "para chegar à rede a.b.c.d, enviar tráfego através de f.g.h.i" .

Se a rota configurada no roteador for classful, não será necessário ativar essa opção. No entanto, se as rotas forem CIDR, será necessário ativar essa opção. Felizmente, muitas redes de home / cafés usam a rede 192.168.0.0 com uma sub-rede de 255.255.255.0 (ou /24 ), que é uma verdadeira rede Class-C, portanto, você pode evitar essa opção.

Por outro lado, algumas redes de home / café são executadas na rede 10.0.0.0 . Esta é uma rede de classe A por padrão. Se você estiver dividindo isso em muitas sub-redes 10.0.x.0 , por exemplo, todas serão redes CIDR, o que significa que você precisará ativar essa opção.

O que precede só é verdadeiro se você também precisar enviar essas informações de roteamento para seus hosts via DHCP. O fato de você precisar emitir essas informações de roteamento estático para seus hosts é definido pelo design de sua rede. Eu arriscaria um palpite de que uma rede básica de casa / café não precisa dela, já que as rotas estáticas são geralmente definidas nos roteadores.

A configuração que você tem acima simplesmente define uma nova opção (existem muitas opções pré-definidas que dhclient já entende) como a opção 121 que consiste em uma matriz de 8 inteiros sem sinal. Em seguida, ele configura o cliente para solicitar essa opção, se estiver configurado no servidor DHCP.

Se o servidor DHCP retornar um valor para essa opção, um script de gancho dhclient exit ( /etc/dhclient/dhclient-exit-hooks.d/rfc3442-classless-routes ) lerá o valor e configurará a tabela de roteamento de acordo.

    
por 23.03.2015 / 22:08