Como definir o servidor DNS no openvpn?

12

Eu configurei um servidor openvpn com chave estática (o modo de certificado não é utilizável devido ao DPI no gateway nacional), mas não consigo alterar o DNS automaticamente após a conexão. Eu pesquisei pela Internet e SE, e cada um sugere o uso dhcp-option .

Eu tentei adicionar esta linha a client.ovpn

dhcp-option DNS 8.8.8.8

Não há efeito. Eu tentei adicionar essa linha no servidor conf

push "dhcp-option DNS 8.8.8.8"

Nenhum efeito tem.

De fato, de acordo com o manual,

--dhcp-option type [parm]

Set extended TAP-Win32 TCP/IP properties, must be used with --ip-win32 dynamic or --ip-win32 adaptive.

Mas meu cliente é uma máquina Mac, servidor Linux. Alguma solução para o problema?

    
por Siyuan Ren 07.05.2015 / 09:12

4 respostas

6

Em um sistema Linux, você precisa executar um script externo .

Aqui está a documentação: link

Os scripts são encontrados em aqui ou na versão mais recente do Linux aqui e você pode chamá-los adicionando isto na configuração do cliente openvpn:

script-security 2
up /etc/openvpn/update-resolv-conf
down /etc/openvpn/update-resolv-conf
    
por 01.09.2017 / 04:57
4

Não sou especialista, mas leio a página man abaixo da sua cotação:

--dhcp-option type [parm]

...

Note that if --dhcp-option is pushed via --push to a non-windows client, the option will be saved in the client's environment before the up script is called, under the name "foreign_option_{n}".

e em foreign_option_ {n} :

foreign_option_{n}

An option pushed via --push to a client which does not natively support it, such as --dhcp-option on a non-Windows system, will be recorded to this environmental variable sequence prior to --up script execution.

Portanto, a linha de comando openvpn client não modifica automaticamente a configuração de DNS em sua máquina OSX depois de estabelecer a conexão. Mas, como as opções de DNS são salvas no ambiente do cliente, você pode especificar um script para anexar os servidores enviados ao DNS atual do sistema com a opção --up :

--up cmd

Run command cmd after successful TUN/TAP device open (pre --user UID change).

cmd consists of a path to script (or executable program), optionally followed by arguments. The path and arguments may be single- or double-quoted and/or escaped using a backslash, and should be separated by one or more spaces.

Por exemplo O Tunnelblick também faz isso utilizando este script .

Outra solução pode ser um script que foi postado na lista de discussão openvpn no DNS para OS X clientes - o Guia Definitivo .

    
por 07.05.2015 / 11:30
4

Eu tive o mesmo problema com o sistema operacional Linux (servidor e cliente) e resolvi instalar o dnsmasq no servidor que estava faltando

então meus passos:

apt-get install dnsmasq

no server.conf

push "redirect-gateway def1" push "dhcp-option DNS 8.8.8.8" push "dhcp-option DNS 8.8.4.4"

E eu poderia conectar e navegar por domínios através do IP do servidor, conectando-se com o NetWorkManager com conjuntos de DNS para automático

    
por 23.05.2016 / 18:42
-1

Adicione este comando ao arquivo conf do lado do cliente.

# put actual dns name here
dhcp-option DNS 10.11.12.13 

Isso definitivamente funcionará ..

    
por 27.03.2016 / 22:56

Tags