Defina seus servidores DNS em /etc/resolv.conf e tente isso no terminal como root:
chattr + i /etc/resolv.conf
depois reinicie
Gostaria de relatar um comportamento estranho e minha solução. Eu fiquei extremamente insatisfeito, pois depende de scripts personalizados e pacotes não-padrão. Eu gostaria que a comunidade ajudasse a descobrir uma solução melhor para isso.
Problema
Eu confio strongmente no OpenVPN para todos os meus servidores. Depois de atualizar para o Ubuntu 16.04.1 a partir de 14.04.5, deixei de poder acessar qualquer site e a maioria dos serviços.
Meus servidores OpenVPN continuaram a encapsular o tráfego muito bem para clientes Mac OS X, Windows e Ubuntu 12.04 / 14.04.
Detalhes do sistema
Meu arquivo resolv.conf pronto para uso ficou parecido com:
nameserver 68.105.28.16
nameserver 68.105.29.16
Minhas rotas indicaram que eu estava roteando através de um roteador em 192.168.0.1 e foi atribuído o endereço IP dinâmico de 192.168.0.3. Mostrado pelos comandos:
ip r
ip a
Meu tráfego funcionaria normalmente (internet, XMCP, IRC, etc ...) até que eu conectasse ao meu servidor OpenVPN através do terminal com o comando
sudo openvpn ~/client.ovpn
Uma vez conectado, ele interromperá imediatamente todo o tráfego.
Um novo adaptador (tun0) foi criado para essa conexão. Mostrado pelo comando:
ip a
A conexão com o Wireshark revelou dezenas de chamadas de DNS destinadas aos meus servidores DNS originais, embora a configuração tenha sido definida para encapsular todo o tráfego através dos meus servidores OpenVPN.
Minha solução
Após uma semana inteira lendo muitas dezenas de relatórios de bugs, postagens de blogs e tutoriais, ainda não tive sucesso. Mas esse é um problema de DNS e o DNS é gerenciado por resolv.
Finalmente, deparei com essa biblioteca do GitHub e meu problema foi resolvido.
masterkorp / openvpn-update-resolv-conf
Para implementar esses scripts, eu clonei o repositório em meu diretório pessoal com:
git clone https://github.com/masterkorp/openvpn-update-resolv-conf.git
Eu copiei esses scripts para / etc / openvpn com:
sudo chmod +x *.sh && sudo mv *.sh /etc/openvpn
Em seguida, instalei o openresolv, nscd e não acoplado com:
sudo apt-get install openresolv nscd unbound
Depois, editei o arquivo de configuração do cliente OpenVPN (* .ovpn ou * .conf) e acrescentei as seguintes linhas ao final das diretivas de configuração, mas antes da tag "ca" (seus certificados inline, se houver):
script-security 2
up "/etc/openvpn/update-resolv-conf.sh /etc/openvpn/update-systemd-network.sh"
down "/etc/openvpn/update-resolv-conf.sh /etc/openvpn/update-systemd-network.sh"
Isso permitiu que eu me conectasse com sucesso à VPN e encapsulasse meu tráfego.
Meu arquivo resolv.conf agora se parece com:
# Generated by resolvconf
nameserver 127.0.0.1
nameserver 127.0.1.1
Discussão e necessidade de melhor solução
Parece-me que os registros DNS do Ubuntu não estão sendo atualizados corretamente. A finalidade do código acima e das novas entradas é reescrever um processo de atualização com defeito dos registros do servidor DNS interno. Eu li alguns relatórios de bugs no Launchpad que sugerem que o 16.04 se baseia em algum código antigo de atualização de gerenciamento de rede que foi escrito e funciona em 14.04, e nunca foi migrado corretamente para a nova estrutura 16.04.
Deve haver uma maneira melhor de lidar com esse processo. Não gosto da ideia de usar scripts personalizados para corrigir o comportamento problemático do SO.
Alguém tem alguma ideia disso?
Defina seus servidores DNS em /etc/resolv.conf e tente isso no terminal como root:
chattr + i /etc/resolv.conf
depois reinicie