Eu conversei com um amigo meu que já lidou com esse tipo de coisa antes e aqui está o que fizemos para colocar o ambiente no estado final.
Primeiro, eu nunca tive que usar o dnsmasq -y, isso funcionou assim que eu reiniciei o serviço dnsmasq e a VM de teste
A primeira coisa que fizemos foi consertar o servidor dnsmasq. Em / etc / network / interfaces, você especifica o ip addr que deseja para isso, use uma máscara de rede de 255.255.255.0 e defina a rede para esse nic. Será assim:
auto eth1
iface eth1 inet static
address 10.2.2.10
netmask 255.255.255.0
network 10.2.2.0
broadcast 10.2.2.255
A única mudança é para a eth0, na qual essas três linhas já estavam lá. Não tenho certeza se eles são necessários (espero que alguém possa esclarecer isso), mas é isso que eu tinha acrescentado:
up route add default gw 10.2.1.1
dns-search my.lab
dns-nameservers <Corp-DNS-server>
Eu também removi as duas linhas de rota de post-up, já que elas não eram necessárias.
Finalmente, eu precisava consertar o dnsmasq.conf; aqui adicionei a interface e comentei a interface no-dhcp:
interface=lo
interface=eth0
interface=eth1
interface=eth2
#no-dhcp-interface=eth0
#no-dhcp-interface=eth1
#no-dhcp-interface=eth2
Isso consertou o servidor. A próxima coisa a atingir o estado final é configurar seu roteador para permitir a comunicação entre vlan. Eu já tinha feito isso antes desta questão, mas aqui está um artigo para fazer essa configuração: link
Por fim, achei que o teste vm não estava adicionando o nameserver ao seu resolv.conf, então eu adicionei um arquivo chamado tail ao /etc/resolvconf/resolv.conf.d/ e simplesmente adicionei o ip do servidor dns para essa sub-rede:
nameserver 10.1.1.10
Quando terminei isso, consegui executar apt-get update
e pingar meus nomes de DNS. Eu também alterei o arquivo de interface do teste vm para obter um dhcp addr e assim que eu reiniciei, ele foi capaz de receber dhcp addrs.
Espero que isso ajude a todos! Sinta-se à vontade para deixar comentários se quiser esclarecer.