Tenho dois sistemas Ubuntu 24.04, ambos se conectando a um site remoto via OpenVPN. O servidor OpenVPN é configurado para enviar seu próprio DNS, no site remoto e acessível via VPN, com RRs para sistemas na extremidade remota.
Um dos clientes é um sistema de desktop GUI, com OpenVPN configurado por meio do Network Manager. Neste sistema, FQDNs de sistemas na rede remota resolvem sem problemas.
O outro é um servidor sem GUI, e eu configurei o OpenVPN com um arquivo de configuração gerado manualmente. Quando eu conecto com o segundo cliente, os nomes na rede remota não resolvem. Eu posso pingar endereços IP na rede remota, eu posso executar nslookup
e procurar FQDNs privados após instruir nslookup
para usar o servidor DNS na VPN, mas a resolução de nome regular (como ao pingar um sistema pelo nome) não funciona.
Arquivo de configuração no sistema somente console:
client
remote '<PEER>'
ca '/etc/ssl/certs/chain_cert.pem'
cert '/etc/ssl/certs/<FQDN>_cert.pem'
key '/etc/ssl/private/<FQDN>_key.pem'
data-ciphers [REDACTED]
cipher [REDACTED]
auth [REDACTED]
dev tun
proto udp
verify-x509-name '<PEER>' name
tls-auth '/etc/openvpn/ssl/statickey.pem' 1
nobind
auth-nocache
script-security 2
persist-key
persist-tun
up /etc/openvpn/update-resolv-conf
down /etc/openvpn/update-resolv-conf
Esta configuração manual funcionou em uma versão mais antiga do Debian, mas não funciona no Ubuntu 24.04.
Quando me conecto com o segundo cliente, os nomes na rede remota não são resolvidos ( resolvectl query
dá Name '<FQDN>' not found
), enquanto no cliente GUI tudo funciona.
resolvectl status
fornece o seguinte no cliente GUI:
Global
Protocols: -LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
resolv.conf mode: stub
Link 2 (enp0s25)
Current Scopes: none
Protocols: -DefaultRoute -LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
Link 3 (wlo1)
Current Scopes: DNS
Protocols: +DefaultRoute -LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
Current DNS Server: (local DNS server)
DNS Servers: (local DNS server)
DNS Domain: local
Link 4 (virbr0)
Current Scopes: none
Protocols: -DefaultRoute -LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
Link 5 (anbox0)
Current Scopes: none
Protocols: -DefaultRoute -LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
Link 7 (tun0)
Current Scopes: DNS
Protocols: -DefaultRoute -LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
Current DNS Server: (remote DNS server)
DNS Servers: (remote DNS server)
DNS Domain: (private domains)
E no sistema somente console:
Global
Protocols: -LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
resolv.conf mode: stub
Link 2 (eth0)
Current Scopes: DNS
Protocols: +DefaultRoute -LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
Current DNS Server: (local DNS server)
DNS Servers: (remote DNS server) (local DNS server)
DNS Domain: (private domains)
Link 3 (wlan0)
Current Scopes: none
Protocols: -DefaultRoute -LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
Link 4 (tun0)
Current Scopes: DNS
Protocols: +DefaultRoute -LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
Current DNS Server: (remote DNS server)
DNS Servers: (remote DNS server)
Encontrei uma resposta no ServerFault que recomenda usar o nmcli
, mas essa ferramenta faz parte do network-manager
, que não está instalado nesse sistema.
O que acontece?