dhcp não atribuindo gateway

dhcp não atribuindo gateway

Estou executando um servidor de desenvolvimento para máquinas virtuais KVM. Tenho um servidor DHCP em execução localmente no nó host com a seguinte configuração:

/etc/dhcp/dhcpd.conf

ddns-update-style none;
default-lease-time 600;
max-lease-time 7200;
log-facility local7;
option rfc3442-classless-static-routes code 121 = array of integer 8;
option ms-classless-static-routes code 249 = array of integer 8;

subnet xxx.xxx.x.0 netmask 255.255.255.0 {
 range xxx.xxx.x.2 xxx.xxx.x.127;
 option routers xxx.xxx.x.1;
 option broadcast-address xxx.xxx.x.255;
 option domain-name-servers 8.8.8.8;
 option netbios-name-servers 8.8.8.8;
 default-lease-time 86400;
 max-lease-time 86400;
 option rfc3442-classless-static-routes 24, xxx, xxx, x, 0, 0, 0, 0, 0, 0, xxx, xxx, x, 1;
 option ms-classless-static-routes 24, xxx, xxx, x, 0, 0, 0, 0, 0, 0, xxx, xxx, x, 1;
         host 102 {hardware ethernet 4A:19:BD:DF:B0:07;fixed-address xxx.xxx.x.5;}


 }

/etc/default/isc-dhcp-server

# Defaults for isc-dhcp-server initscript
# sourced by /etc/init.d/isc-dhcp-server
# installed at /etc/default/isc-dhcp-server by the maintainer scripts

#
# This is a POSIX shell fragment
#

# Path to dhcpd's config file (default: /etc/dhcp/dhcpd.conf).
#DHCPD_CONF=/etc/dhcp/dhcpd.conf

# Path to dhcpd's PID file (default: /var/run/dhcpd.pid).
#DHCPD_PID=/var/run/dhcpd.pid

# Additional options to start dhcpd with.
#       Don't use options -cf or -pf here; use DHCPD_CONF/ DHCPD_PID instead
#OPTIONS=""

# On what interfaces should the DHCP server (dhcpd) serve DHCP requests?
#       Separate multiple interfaces with spaces, e.g. "eth0 eth1".
INTERFACES="vmbr0"

Para referência, este é um servidor debian 7 proxmox.

O problema é que o servidor recebe um IP via DHCP sem problemas. Obtém xxx.xxx.x.5, porém o gateway é definido como 0.0.0.0 quando visualizado via rota -n e a rede, portanto, não está acessível.

Conteúdo do arquivo de configuração da rede VM:

DEVICE=eth01
BOOTPROTO=dhcp 
ONBOOT=yes

argumento inválido

Além disso, há um erro de argumento inválido ao obter informações do DHCP, eles podem estar relacionados.

Log de erros no cliente:

insira a descrição da imagem aqui

Responder1

É difícil solucionar problemas remotamente com informações limitadas. Mas eu gostaria de tentar.

Primeiro, apenas um palpite. Normalmente, o nome DEVICE é eth0ou eth1, não eth01. Isso pode explicar o "erro de argumento inválido". Certifique-se de estar lidando com a NIC correta na VM ifconfig -aou ip linkna VM.

Outro suspeito é a rota estática. Deve ter 13 itens na matriz, em vez de 14. O formato é <netmask>, <network-byte1>, <network-byte2>, <network-byte3>, <router-byte1>, <router-byte2>, <router-byte3>.... Então deveria ficar assim 24,192,168,1, 192,168,1,1, 0, 192,168,1,1. Dê uma olhadaaqui. Acho que a rota estática errada substitui o gateway padrão.

Se esse não for o problema, você precisará de um processo para depurar. Na sua configuração de DHCP, presumo vmbr0que seja uma ponte Linux e as VMs sejam criadas a partir daí. Você precisa confirmar se a rede VM foi criada corretamente, verificando virt net-liste virt edit <vm>no host/hipervisor. Você também pode usar virt-manager. Certifique-se de que a VM tenha apenas uma NIC, que esteja conectada ao vmbr0.

Se ainda não for corrigido, entre na VM e depure o cliente DHCP. Primeiro, killall dhclient, e depois execute dhclient eth0e monitore o tráfego com dhcpdump -i eth0ou tcpdump udp and port 67 or 68. Procure opções de gateway. Certifique-se de que não haja outro servidor DHCP no caminho. (Pode ser o NAT padrão da libvirt; ou pode ser outro servidor DHCP externo, já que você tem uma ponte). Você também pode executar dhcpdump/tcpdumpno host onde possui o servidor DHCP.

Eu espero que isso ajude.

informação relacionada