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


10

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

Penso que tenho uma ideia do significado de todas essas opções, exceto rfc3442-classless-static-routes. Além disso, não vejo nada relacionado às rfc3442-classless-static-routesrespostas do DHCP.

Qual é o significado rfc3442-classless-static-routese em que situação eu o utilizaria?

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

Respostas:


19

A especificação DHCP original (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 tem falhas nos dias de hoje, pois assume endereços de rede com classe , que raramente são usados.

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

O CIDR exige que uma máscara de sub-rede seja declarada explicitamente, mas a opção DHCP original 33 não tem espaço para isso. Portanto, essa opção (conforme definida na RFC 3442) simplesmente habilita uma opção 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 DHCP e essas rotas estáticas usarem CIDR, será necessário habilitar esta opção.

É possível usar rotas estáticas se você dividir uma rede em várias redes menores e precisar informar cada roteador sobre como o tráfego passa 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 com o efeito "para acessar a rede abcd, enviar tráfego através do fghi" .

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

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

O acima exposto só é verdadeiro se você também precisar emitir essas informações de roteamento para seus hosts via DHCP. A necessidade de emitir essas informações de roteamento estático para seus hosts é definida pelo design da sua rede. Eu arriscaria adivinhar que uma rede básica de casa / café não precisa dela, pois as rotas estáticas geralmente são definidas nos roteadores.

A configuração que você tem acima simplesmente define uma nova opção (existem muitas opções predefinidas que dhclientjá entendem) como a opção 121, que consiste em uma matriz de 8 números inteiros não assinados. Em seguida, configura o cliente para solicitar esta opção se estiver definida no servidor DHCP.

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


lindamente explicado.
Ted Feng
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.