Configure o DHCPD com endereço IP atribuído e gateway em diferentes sub-redes para KVM

Configure o DHCPD com endereço IP atribuído e gateway em diferentes sub-redes para KVM

Eu tenho um dedi com faixa de IP 123.123.123.1/24, o problema é o endereço do gateway: 111.111.111.254 e está em uma sub-rede completamente diferente. Já configurei uma ponte e virtualização KVM.

/etc/dhcpd.conf no nó host.

subnet 0.0.0.0 netmask 0.0.0.0 {
authoritative;
default-lease-time 21600000;
max-lease-time 432000000;
}
 ddns-update-style ad-hoc;

host kvm111.0 {
hardware ethernet 02:00:00:ce:fd:ab;
option routers 111.111.111.254;
option subnet-mask 255.255.255.0;
fixed-address 123.123.123.2;
option domain-name-servers 8.8.8.8,8.8.4.4;
}

Então eu configurei uma máquina virtual KVM (VM) nesse HWID, com sistema operacional Windows e dhcp ativados. Está funcionando bem. A VM do Windows obteve IP 123.123.123.2 com gateway em 111.111.111.254.

Mas quando mudo o sistema operacional da VM para Debian 6, não funciona. Eu faço login na VM e descobri que o gateway não está atribuído. Quando eu digitorota adicionar padrão gw 111.111.111.254a resposta é:

SIOADDCART: no such process

Isso ocorre porque o gateway está em uma sub-rede diferente do endereço IP atribuído. Então eu tive que fazer isso na VM:

rota adicionar 111.111.111.254/32 dev eth0

rota adicionar padrão gw 111.111.111.254

e então funcionará. Mas como eu quero uma automação via nó host (não manualmente via VM), tive que fazer via /etc/dhcpd.conf

Alguém sabe como fazerrota adicionar 111.111.111.254/32 dev eth0via /etc/dhcpd.conf?

Responder1

A resposta éRotas estáticas sem classe (RFC3442). No servidor isc dhcp, você deve especificar a opção manualmente.

Esse siteafirma concisamente como fazer isso de uma maneira que funcione tanto para clientes Windows quanto para clientes Linux.

Aqui está a versão abreviada:

Adicione o seguinte ao dhcpd.conf no topo

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

No bloco de sub-rede apropriado, adicione as duas linhas de opção a seguir

option rfc3442-classless-static-routes 32, 111, 111, 111, 254, 0, 0, 0, 0, 111, 111, 111, 254;
option ms-classless-static-routes 32, 111, 111, 111, 254, 0, 0, 0, 0, 111, 111, 111, 254;

Isso deve criar uma rota estática para 111.111.111.254 no link com o endereço atribuído ao DHCP e manter o roteador padrão 111.111.111.254. O valor especial do roteador 0.0.0.0 significa on-link. O rfc afirma que os clientes não são obrigados a implementar rotas estáticas sem classe, mas o Windows o faz por meio de sua opção ms, o dhclient do Linux (testado debian7, rhel6.4) o faz e todos os meus clientes IPMI e PXE também o fazem. Você deve testar para ter certeza de que funciona com seus clientes, mas estou bastante confiante de que funcionará.dhclient pode ser interpretado para interpretar a opção 121 com um gancho de saída, se ainda não for compatível imediatamente.

Na pior das hipóteses, no nó host, você pode adicionar um IP que esteja no intervalo lan (no seu exemplo, 123.123.123.254) e informar aos clientes para usá-lo como gateway padrão.

informação relacionada