Minha empresa distribui software para clientes em VMs Ubuntu. Recentemente, atualizamos todas as VMs clientes do Ubuntu 16/18 para o Ubuntu 20.04.
Temos tido um problema em que a resolução de nomes DNS não funciona na rede interna. Ele está funcionando fora da rede (conseguimos fazer ping em sites externos), mas não conseguimos nos conectar a máquinas na rede interna por nome DNS - apenas por endereço IP. Em muitos casos, conseguimos resolver nomes DNS internos nas VMs antigas (Ubuntu 16/18), mas não funciona quando instalamos a nova VM usando as mesmas configurações de rede.
Normalmente configuramos a VM com um IP estático. A TI do cliente nos fornece informações de rede e servidores DNS internos, e configuramos nosso 00-installer-config.yaml
arquivo de acordo
/etc/netplan/00-installer-config.yaml
exemplo de configuração:
network:
ethernets:
enp0s10f0:
addresses: [192.168.10.200/24]
gateway4: 192.168.10.1
nameservers:
addresses: [192.168.10.1, xxx.xxx.xxx.xxx, etc.]
version: 2
Nas VMs antigas, muitas vezes não conseguíamos executar ping nas máquinas internas por nome DNS até adicionarmos o nome de domínio local. Por exemplo. ping fs01
não funcionaria, mas ping fs01.clientdomain.local
funcionaria. No entanto, nas VMs do Ubuntu isso não parece estar ajudando em nada. Sempre temos que reverter para o endereço IP de um servidor de arquivos em vez de usar o nome de domínio. Na maioria dos casos, isso é bom, pois o IP é estático e não está sujeito a alterações, mas nem sempre é o caso e preferimos poder nos conectar via nome DNS.
Redes e domínios realmente não são meu forte. Se alguém pudesse fazer sugestões de coisas para experimentar ou áreas para pesquisar, ficaria muito grato!
ATUALIZAR
Tentei a sugestão de adicionar o endereço IP do servidor de nomes interno ao nslookup
comando e fiz algumas capturas de tela. Parece que a VM consegue encontrar o host com nslookup
, mas somente quando incluo explicitamente o IP do servidor de nomes.
192.168.1.4 é o servidor de nomes e também o host ao qual estamos tentando nos conectar.
Observação:Isso estava funcionando na antiga VM Ubuntu 18.04, usando o mesmo servidor de nomes interno e o nome de host FQDN.
Ping normal
user@ubuntu:~$ ping <hostname.domain.local>
ping: <hostname.domain.local>: Temporary failure in name resolution
Pesquisa simples
user@ubuntu:~$ nslookup <hostname.domain.local>
Server: 127.0.0.53
Address: 127.0.0.53#53
** server can't find <hostname.domain.local>: SERVFAIL
nslookup com IP do servidor de nomes
user@ubuntu:~$ nslookup <hostname.domain.local> 192.168.1.4
Server: 192.168.1.4## Heading ##
Address: 192.168.1.4#53
Name: <hostname.domain.local>
Address: 192.168.1.85
Name: <hostname.domain.local>
Address: 192.168.1.4
Nesse caso, o servidor de nomes 192.168.1.4 era a única entrada de servidor de nomes em nosso arquivo yaml. Portanto, não vejo como isso poderia ser algum tipo de problema com a ordem dos servidores de nomes no arquivo:
network:
ethernets:
enp0s10f0:
addresses: [192.168.1.21/24]
gateway4: <gateway>
nameservers:
search: [<domain.local>]
addresses: [192.168.1.4]
version: 2