De acordo com esta resposta...
https://unix.stackexchange.com/a/457577/61742
... Eu posso usar a seguinte configuração para usar rotas enviadas do meu servidor DHCP no meu cliente DHCP colocando no arquivo /etc/dhclient.conf
ou /etc/dhcp3/dhclient.conf
a seguinte configuração...
option classless-static-routes code 121 = array of { ip-address, ip-address };
Mas no CentOS 7 esse arquivo não existe, mas os seguintes arquivos...
[root@localhost ~]# ps -eaf | grep dhcli
root 780 650 0 15:02 ? 00:00:00 /sbin/dhclient -d -q -sf /usr/libexec/nm-dhcp-helper -pf /var/run/dhclient-enp0s8.pid -lf /var/lib/NetworkManager/dhclient-00cb8299-feb9-55b6-a378-3fdc720e0bc6-enp0s8.lease -cf /var/lib/NetworkManager/dhclient-enp0s8.conf enp0s8
root 783 650 0 15:02 ? 00:00:00 /sbin/dhclient -d -q -sf /usr/libexec/nm-dhcp-helper -pf /var/run/dhclient-enp0s17.pid -lf /var/lib/NetworkManager/dhclient-8512e951-6012-c639-73b1-5b4d7b469f7f-enp0s17.lease -cf /var/lib/NetworkManager/dhclient-enp0s17.conf enp0s17
root 2218 1152 0 15:36 pts/0 00:00:00 grep --color=auto dhcli
NOTA: Observe o valor do parâmetro "-cf" (arquivos: /var/lib/NetworkManager/dhclient-enp0s8.conf
e /var/lib/NetworkManager/dhclient-enp0s17.conf
).
Minha pergunta é: Qual é a maneira correta de usar "rotas estáticas sem classe" (código 121) em um cliente DHCP do CentOS 7?
Obrigado!
MAIS:
Esta é a configuração do meu ISC KEA DHCP (DHCPv4)...
cat /usr/local/etc/kea/kea-dhcp4.conf
[...]
"option-def": [{
"name": "rfc3442-classless-static-routes",
"code": 121,
"space": "dhcp4",
"type": "record",
"record-types": "uint8,uint8,uint8,ipv4-address"
}
],
"option-data": [{
"name": "rfc3442-classless-static-routes",
"data": "10,1,4, 10.1.6.4"
}]
[...]
O objetivo é que as solicitações para 10.1.4.0/24 sejam roteadas para o ip 10.1.6.4/32 em meus clientes DHCP.
NOTA: É a mesma coisa que eu obteria com o comando ip route add 10.1.4.0/24 dev enp0s8 via 10.1.6.4
em cada um dos meus clientes DHCP.
Cópia sem vergonha desta resposta :
Na verdade, esta resposta é um complemento para a resposta de @Isaac e algumas armadilhas - podem parecer um pouco óbvias, mas não para mim - sobre o problema apresentado.
Em primeiro lugar, embora haja algum padrão dentro do universo apresentado, é necessário entender uma correlação entre o que está configurado no Servidor DHCP e o que se espera no Cliente DHCP. Praticamente, parâmetros como "option-def" -> "name" podem variar entre "rfc3442-classless-static-routes" e "classless-static-routes", "option-def" -> "record-types" entre " uint8, uint8, uint8, ipv4-address" e "uint8, uint8, uint8, uint8, uint8, uint8, uint8, uint8", e assim por diante... Ou seja, depende do que o cliente DHCP espera do "outro lado" basicamente.
No caso do CentOS 7 o que é apontado no thread https://unix.stackexchange.com/a/459963/61742 já está configurado por padrão, então só é necessário configurar no ISC KEA DHCP (DHCPv4) (meu caso) o que o CentOS 7 espera do "outro lado".
Por fim, a configuração fica assim...
... já que o CentOS 7 está configurado como...
ALGUNS ESCLARECIMENTOS:
"record-types" é uma máscara, ou seja, o que está em cada posição do array informado em "date" que como esperado no CentOS 7 é um "array de unsigned integer 8" (uint8).
"data" funciona de acordo com o exemplo a seguir: se eu quiser o seguinte roteamento
10.1.4.0/24 via 10.1.6.4
eu informarei"24,10,1,4,10,1,6,4"
. Observe que o zero10.1.4.0/24
deve ser omitido, pois é uma máscara para 3 octetos (/24).DICA: O parâmetro "option-data" pode ser colocado em vários locais em "subnet4" (arquivo "/usr/local/etc/kea/kea-dhcp4.conf") e isso dependerá de como você deseja distribuir sua configuração para roteamento.
Agradecimentos especiais a @Isaac , @Rui F Ribeiro e @AB !