Este recurso está disponível atualmente nas seguintes regiões: Filipinas (Manila), Tailândia (Bangkok) e Malásia (Kuala Lumpur).
Configure endereços de servidor DNS privado no servidor SSL-VPN para permitir que os clientes resolvam nomes de domínio privados em uma VPC.
Como funciona
O DNS personalizado para cliente SSL-VPN utiliza o mecanismo OpenVPN DHCP Option. O fluxo de trabalho é o seguinte:
Ative a chave SSL Server em Custom Client DNS e insira até dois IPs de servidores DNS privados na VPC.
O servidor SSL-VPN envia a configuração de DNS ao cliente.
Após a conexão, o cliente recebe automaticamente os endereços do servidor DNS.
O sistema operacional define esses endereços como DNS preferencial da conexão ativa.
As consultas DNS (por exemplo,
git.internalouexample.com) são roteadas pelo túnel VPN até o servidor DNS da VPC para resolução.
Limitações
Limite de dois endereços de servidor DNS (primário e secundário).
O sistema não verifica a acessibilidade do servidor DNS. Certifique-se de que os IPs especificados possam atender a requisições DNS na VPC.
Alguns clientes exigem configuração adicional. O macOS (Tunnelblick) aplica o DNS automaticamente. O Windows pode exigir alteração na métrica do adaptador de rede. O Linux requer configuração baseada em scripts.
Não há suporte para iPhone, iPad ou Android.
Endereços DNS em formato de nome de domínio não são suportados.
Atualizações dinâmicas de DNS não são suportadas.
Endereços DNS IPv6 não são suportados.
Procedimento
Pré-requisitos
Conecte o cliente à VPC seguindo as instruções no guia de Início rápido. Se estiver usando macOS, utilize o cliente Tunnelblick.
Um servidor DNS (Windows AD DNS, CoreDNS, BIND, etc.) está em execução na VPC.
O grupo de segurança do servidor DNS permite tráfego de entrada na
UDP port 53proveniente do Client CIDR Block.
Etapa 1: Ativar DNS personalizado
Console
Na coluna Actions do servidor SSL, clique em Edit.
-
Ative a chave Custom Client DNS e configure:
DNS Server Address 1: Insira o endereço IP privado de um servidor DNS implantado na sua VPC.
DNS Server Address 2: Opcional. Insira o endereço IP de um servidor DNS secundário.
API
Chame a operação da API ModifySslVpnServer e use o parâmetro DnsServers para definir os endereços do servidor DNS.
Etapa 2: Configurar o cliente
Escolha o método adequado ao seu sistema operacional. O macOS (Tunnelblick) aplica o DNS automaticamente após a conexão. O Linux exige modificações no arquivo .ovpn.
Windows
Clique com o botão direito no ícone do cliente OpenVPN na bandeja do sistema e selecione Reconnect.
Execute
nslookup example.comno Prompt de Comando. Substitua example.com pelo seu nome de domínio privado. Um IP privado correto na resposta confirma que a configuração de DNS funciona.
Se o DNS não funcionar:
-
Verifique as métricas do adaptador de rede:
netsh interface ip show configUm valor de métrica menor indica maior prioridade para o adaptador de rede.
-
Caso o adaptador VPN não tenha a menor métrica, defina-a:
netsh interface ip set interface "OpenVPN TAP-Windows" metric=10O adaptador de rede criado pelo cliente OpenVPN para o túnel VPN geralmente tem um nome que começa com 'OpenVPN TAP-Windows'. Substitua 'OpenVPN TAP-Windows' pelo nome real do adaptador VPN no seu sistema.
Mac
No cliente Tunnelblick, desconecte e reconecte.
Execute
dig example.comno Terminal. Substitua example.com pelo seu nome de domínio privado. Um IP privado correto na resposta confirma que a configuração de DNS funciona.
CentOS/AliOS
-
Adicione as linhas a seguir ao final de
config.ovpnem/etc/openvpn/conf:script-security 2 up /etc/openvpn/conf/client.up down /etc/openvpn/conf/client.down down-pre -
Copie
client.upeclient.downdo diretório contrib do OpenVPN para o diretório de configuração e torne-os executáveis:sudo cp /usr/share/doc/openvpn/contrib/pull-resolv-conf/client.up /etc/openvpn/conf/ sudo cp /usr/share/doc/openvpn/contrib/pull-resolv-conf/client.down /etc/openvpn/conf/ sudo chmod +x /etc/openvpn/conf/client.up sudo chmod +x /etc/openvpn/conf/client.down -
Tanto em
client.upquanto emclient.down, altere o código a seguir paraif false; then:
-
Reinicie o processo openvpn:
sudo killall openvpn sudo openvpn --config /etc/openvpn/conf/config.ovpn --daemon -
Verifique a atualização do DNS:
cat /etc/resolv.conf Execute
dig example.com. Substitua example.com pelo seu nome de domínio privado. Um IP privado correto confirma que o DNS funciona.
Para desativar o DNS personalizado:
-
Desconecte da SSL-VPN:
sudo killall openvpn Edite
config.ovpnem/etc/openvpn/conf. Comente as quatro linhas que começam comscript-security,up,downedown-pre.-
Reinicie o OpenVPN para reconectar:
sudo openvpn --config /etc/openvpn/conf/config.ovpn --daemon
Ubuntu
Baixe o certificado novamente no console do Alibaba Cloud. Na coluna SSL Client do alvo desejado, em Actions, clique em Download Certificate.
Faça backup do certificado existente em
/etc/openvpn/confmovendo-o para outro diretório.Coloque o novo certificado em
/etc/openvpn/conf.-
Edite o arquivo
config.ovpne descomente as últimas quatro linhas:
-
Instale
resolvectl(CLI dosystemd-resolved):apt install systemd-resolved -
Defina o DNS de
tun0como padrão global (~.corresponde a todos os domínios):resolvectl domain tun0 "~." -
Reinicie o processo openvpn:
sudo killall openvpn sudo openvpn --config /etc/openvpn/conf/config.ovpn --daemon -
Verifique a atualização do DNS:
resolvectl status tun0 Execute
dig example.com. Substitua example.com pelo seu nome de domínio privado. Um IP privado correto confirma que o DNS funciona.
Para desativar o DNS personalizado:
-
Desconecte da SSL-VPN:
sudo killall openvpn Edite
config.ovpnem/etc/openvpn/conf. Comente as quatro linhas que começam comscript-security,up,downedown-pre.-
Reinicie o OpenVPN para reconectar:
sudo openvpn --config /etc/openvpn/conf/config.ovpn --daemon
Perguntas frequentes
As configurações de DNS não entram em vigor
Certifique-se de que a sub-rede do servidor DNS esteja incluída no Local CIDR Block configurado para o SSL Server. Caso contrário, adicione-a ao Local CIDR Block.
Verifique se o servidor DNS permite solicitações do Client CIDR Block (o pool de IPs alocado para clientes SSL-VPN).
Confirme se o grupo de segurança do servidor DNS permite tráfego na porta UDP 53.
Verifique se outras VPNs ou softwares de rede estão substituindo as configurações de DNS.
-
Para clientes Windows, verifique também o seguinte:
Garanta que o adaptador VPN tenha a menor métrica. Consulte Etapa 2: Configurar o cliente.
Execute
ipconfig /flushdnspara limpar o cache DNS e tente novamente.
-
Para clientes CentOS/AliOS, verifique também o seguinte:
Certifique-se de que as linhas de script
script-security 2eup/downestejam no arquivo.ovpn.Verifique se
client.upeclient.downexistem em/etc/openvpn/conf/.Verifique em
/etc/resolv.confse o endereço DNS configurado está presente.
-
Para clientes Ubuntu, verifique também o seguinte:
Certifique-se de que o certificado foi baixado novamente e que as últimas quatro linhas no arquivo
.ovpnestão descomentadas.Verifique se os scripts de atualização de DNS (
update-resolv-confouupdate-systemd-resolved) existem no sistema.Execute
resolvectl statuspara verificar se o endereço DNS configurado aparece.
Baixar novamente o certificado do cliente
É necessário baixar o certificado novamente apenas para clientes Ubuntu.
Suporte a endereços IPv6
Não. Apenas servidores DNS com endereços IPv4 são suportados.
Servidores DNS inacessíveis
O sistema não verifica a acessibilidade do servidor DNS. Se os servidores configurados estiverem inacessíveis, os clientes não conseguirão resolver nomes de domínio após a conexão. Certifique-se de que os servidores DNS estejam operacionais e que suas sub-redes estejam incluídas na configuração de roteamento da SSL-VPN.
Usar um servidor DNS fora da VPC
Sim. Por exemplo, você pode definir os endereços do servidor DNS no servidor SSL para apontarem para um servidor DNS no seu data center local.