Configurando servidores DNS usando o arquivo de configuração do cliente OpenVPN

12

Como posso definir servidores DNS no cliente usando apenas a configuração do cliente. Meu cliente é uma máquina Windows e eu quero mudar os servidores DNS quando o cliente se conecta e volta para a configuração original quando eu desconectar da VPN.

Todas as informações que encontrei até agora referem-se a empurrar a configuração do DNS para o cliente usando a configuração do servidor, mas neste caso não posso alterar a configuração do servidor e estou fazendo isso manualmente toda vez que me conecto à VPN. Uma opção de configuração openvpn para configurar os servidores DNS das máquinas locais durante a duração da conexão seria ótima.

    
por Fahad Yousuf 28.08.2013 / 08:48

3 respostas

3

Você pode usar script em lote para fazer isso, algo como o seguinte. Ele supõe que os servidores DNS da sua casa são 1.1.1.1 e 2.2.2.2 e seus servidores DNS da VPN são 8.8.8.8 9.9.9.9:

vpn-connect.bat:

netsh interface ip set dns "Local Area Connection" static 8.8.8.8

netsh interface ip add dns "Local Area Connection" 9.9.9.9

vpn-disconnect.bat

netsh interface ip set dns "Local Area Connection" static 1.1.1.1

netsh interface ip add dns "Local Area Connection" 2.2.2.2

Eu ia incluir nesses scripts métodos de conexão e desconexão, no entanto eu não vejo uma opção no OpenVPN para desconectar via linha de comando. Se você deseja automatizar a conexão, isso deve funcionar:

C:\Program Files\bin\openvpn.exe C:\Program Files\conf\client.ovpn

    
por 28.08.2013 / 09:01
10

Você pode adicionar o seguinte ao arquivo de configuração do cliente.

dhcp-option DNS <dns_server_ip_address>

No lado do servidor, teria sido:

push "dhcp-option DNS <dns_server_ip_address>"

Parece que está usando dhcp-option nos dois lados. Você pode fazer o mesmo com route .

    
por 06.10.2014 / 18:22
5

Aparentemente, há um problema com uma ordem de ligação defeituosa no Windows, pelo menos incluindo o Windows 2000 / XP / 7. Isso fará com que os clientes Windows OpenVPN usem as configurações de DNS do adaptador de rede padrão, em vez das configurações do adaptador VPN.

Para corrigir isso, você precisa colocar seu dispositivo VPN TUN ou TAP acima do seu adaptador de rede local na ordem de vinculação:

  1. Identifique seu dispositivo VPN observando a saída de ipconfig . Para mim, esta foi "Conexão Local 2". Lembre-se do seu endereço IP para este adaptador.
  2. Abra o regedit.exe e localize a chave em HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces , que corresponde ao endereço IP do seu adaptador VPN. Lembre-se do GUID deste adaptador.
  3. Acesse HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Linkage e clique duas vezes em Bind . Isto irá conter uma lista de GUIDs para os adaptadores. Recorte e cole a linha correspondente ao GUID do seu dispositivo VPN no topo da lista e salve a lista.

Isso fará com que as entradas DNS do seu dispositivo VPN sejam usadas (e somente enquanto a conexão VPN estiver ativa). Você pode configurá-los de acordo com a resposta de @brunoqc. Enquanto você está nisso, provavelmente também deve adicionar a opção openvpn block-outside-dns , para garantir que as consultas DNS não estejam vazando.

Esta resposta é baseada em este blog muito útil postar .

    
por 04.04.2017 / 01:05