O servidor OpenVPN pode fazer ping via IP, mas não via hostname

4

Eu tenho um vserver (Ubuntu 14.04.2 LTS) no qual eu executo o OpenVPN. Quase tudo funciona muito bem: os clientes podem alcançar outros clientes através dos seus nomes AND (tive que modificar os clientes conf com "script-security 2", "up / down / etc / openvpn / update-resolv-conf" e tive que escreva um pequeno script que insira / atualize as entradas de DNS, para obter a resolução do nome do cliente).

O único problema é que o meu servidor não fornece resolução de nomes: No meu servidor eu posso pingar clientes via "ping 10.8.0.2" mas "ping clientname" resulta em "host desconhecido" (enquanto "ping clientname" funciona se eu estou fazendo isso de um dos meus clientes).

Eu sei que isso deve ser um problema relacionado ao DNS, mas não consigo me livrar dele. Quando dei uma olhada no meu resolv.conf eu vejo:

nameserver 80.X.X.X
nameserver 80.X.X.X

Oh, ok, o servidor de nomes local parece estar faltando. Meu pensamento foi editar o resolv.conf. Eu tentei várias entradas ("127.0.0.1, 127.0.1.1, 10.8.0.1") nada disso funcionou (depois de reiniciar o serviço openvpn).

Eu também tentei editar o /etc/dhcp/dhclienf.conf e adicionar "prepend domain-name-servers 127.0.0.1" (e reiniciado), mas também não fez diferença.

Meu server.conf tem esta aparência:

proto udp6

dev tun

ca   ./easy-rsa2/keys/ca.crt
cert ./easy-rsa2/keys/xxx.xxx.crt
key  ./easy-rsa2/keys/xxx.xxx.key

dh   ./easy-rsa2/keys/dh2048.pem

server 10.8.0.0 255.255.255.0

ifconfig-pool-persist ipp.txt

#this is a script that configures dns-entries for clients
client-connect "/etc/openvpn/scripts/learn-address.sh"
script-security 3 system

push "dhcp-option DNS 10.8.0.1"
push "dhcp-option DOMAIN name.domain"

client-to-client

keepalive 10 120

comp-lzo

persist-key
persist-tun

status openvpn-status.log
log-append  openvpn.log

verb 3

Alguém pode apontar o que estou fazendo errado? Eu não posso ser o primeiro com esse problema. Eu acho que é um comportamento comum que o servidor no qual o openvpn roda também queira conversar com os clientes através de nomes não apenas do IP.

    
por Stefan Wegener 14.01.2016 / 15:17

2 respostas

6

Você tem um servidor DNS instalado? O OpenVPN não fornece nenhuma funcionalidade de resolução de nomes. Você precisa executar um servidor DNS separado em seu servidor (ou adicionar algo como push "dhcp-option DNS 8.8.8.8" à configuração do servidor. O OpenVPN atualiza apenas o arquivo de zona / hosts sobre o script de aprendizado.

Por favor, dê uma olhada no este link .

Esse é um script de aprendizado que atualiza o arquivo hosts quando um cliente se conecta ou desconecta. Ele usa dnsmasq como um servidor DNS.

    
por 14.01.2016 / 16:46
1

Eu instalei o resolvconf (via apt-get install resolvconf). Então eu configurei o arquivo "/etc/resconf/head" e adicionei "nameserver 10.8.0.1" como servidor DNS. Parece ser importante fazer isso no head-file (de modo que 10.8.0.1 seja o primeiro nameserver na lista) e não no tail-file! Eu também tentei com o arquivo final, mas recebi resultados errados.

Agora, posso alcançar todos os meus hosts VPN por meio de <vpn-hostname>.<domainname> .

    
por 18.01.2016 / 09:16

Tags