Minha empresa possui uma VPN à qual preciso me conectar. No OSX, faço isso usando openvpn
a seguinte configuração:
client
dev tun
proto udp
remote <GATEWAY_ADDRESS> <PORT>
resolv-retry infinite
nobind
user nobody
group nobody
persist-key
persist-tun
ca /Users/Tommy/.openvpn/dev/ca-dev.crt
cert /Users/Tommy/.openvpn/dev/tommy.brunn-20131122-dev.crt
key /Users/Tommy/.openvpn/dev/tommy.brunn-20131122-dev.key
ns-cert-type server
tls-auth /Users/Tommy/.openvpn/dev/ta-dev.key 1
cipher BF-CBC
comp-lzo
verb 3
auth-nocache
;daemon
;writepid openvpn.pid
No Ubuntu, instalei network-manager-openvpn
e adicionei uma nova conexão VPN (tentar importar o arquivo de configuração causou um acidente) com as mesmas opções de configuração definidas: Capturas de tela das minhas configurações
Depois de me conectar à VPN, não consigo resolver nenhum domínio.
Se eu editar /etc/NetworkManager/NetworkManager.conf
, comentar a linha dns=dnsmasq
e reiniciar network-manager
, posso resolver domínios internos da minha empresa, mas outros domínios, como google.com, não serão resolvidos. Certifique-se de definir meu "Método" como "Somente endereços automáticos (VPN)" nas guias IPv4 e IPv6 do gerenciador de rede da minha conexão VPN, mas isso não parece fazer nenhuma diferença.
Também tentei reativar dnsmasq
e modificar /etc/resolvconf/resolv.conf.d/base
para conter e nameserver 127.0.1.1
, em seguida sudo resolveconf -u
, executar , mas nenhum domínio será resolvido novamente.
O que eu gostaria é poder conectar-me à minha VPN para que os domínios enviados pelo servidor DNS da minha empresa sejam resolvidos dessa maneira e todos os outros domínios sejam resolvidos normalmente.
Edição: Acontece que dnsmasq não estava realmente instalado, o que eu pensei que seria por padrão. No entanto, se eu instalá-lo, reativá-lo /etc/NetworkManager/NetworkManager.conf
, adicionar o endereço do servidor de nomes local /etc/resolvconf/resolv.conf.d/base
, reiniciar todos os serviços e conectar-me à VPN, posso resolver domínios do DNS da empresa, mas não consigo resolver outros domínios. Então, basicamente, a mesma situação de quando eu desabilitei o dnsmasq completamente.
EDIT: Conteúdo de /etc/dnsmasq.conf
: http://paste.ubuntu.com/7297231/
fonte
/etc/dnsmasq.conf
Respostas:
Na sua configuração, a instalação do dnsmasq está recebendo a lista de servidores DNS para usar
/etc/resolv.conf
. Por padrão, o dnsmasq tenta favorecer o uso de servidores DNS ativos, mas envia apenas uma solicitação específica para um único servidor DNS. Isso pode causar problemas se você tiver vários servidores DNS que podem / servirão apenas determinadas consultas.Acredito que você possa resolver esse problema, certificando-se de que tenha um servidor DNS na sua LAN (aquele que você usa quando não está conectado à VPN)
/etc/resolv.conf
, além do servidor DNS na rede corporativa que deseja use sobre a VPN.Em seguida, você precisará editar
/etc/default/dnsmasq
e adicionar ou editar aDNSMASQ_OPTS=
linha a incluir--all-servers
.Se você ainda não conseguir obter consultas DNS com essa configuração, copie o arquivo resolv.conf criado durante as etapas acima para outro local, como
~/resolv.conf
,/etc/resolv.conf
por exemplo , configurenameserver 127.0.0.1
e defina a seguinte opção em/etc/dnsmasq.conf
:Isso deve configurar seu sistema para consultar a instalação do dnsmasq quanto ao DNS e, por sua vez, usará o servidor DNS local e o servidor DNS da VPN para todas as consultas.
Editar : você pode encontrar os servidores DNS que você está usando no momento para uma conexão específica usando a
nmcli
ferramenta. Para encontrar os servidores DNS usados pela minha conexão sem fio, usei a seguinte sintaxe:Se você executar este comando enquanto não estiver conectado à sua VPN e, novamente, quando estiver conectado e puder resolver seus endereços corporativos, deverá ativar e desativar sua lista de servidores DNS na VPN. Eu espero que isso ajude.
Editar 2 : olhando para suas tabelas de roteamento, parece que o administrador da VPN o configurou para rotear todo o seu tráfego através da VPN enquanto você estiver conectado (o gateway padrão muda para um endereço VPN). Como os dois servidores DNS são endereços públicos e não possuem uma rota específica configurada enquanto você está na VPN, você está tentando fazer pesquisas de DNS normais por meio da VPN e é isso que está falhando.
Você pode ter algumas maneiras de fazer isso funcionar, dependendo da configuração da sua VPN:
Se a VPN permitir que você acesse a Internet através da rede corporativa, mas não execute consultas DNS aos servidores na Internet, adicione rotas aos servidores DNS da seguinte forma:
sudo route add -host 83.255.245.11 gw 192.168.0.1
esudo route add -host 193.150.193.150 gw 192.168.0.1
depois de conectar-se à VPN.Se a VPN não permitir o acesso à Internet pela rede corporativa, você precisará alterar as configurações padrão do gateway no seu computador para apontar para 192.168.0.1 depois de se conectar à VPN. Nesse caso, convém configurar seu gateway padrão usual e adicionar rotas de rede para acessar equipamentos somente VPN.
Pode ser necessário desmembrar sua tabela de roteamento no caso conectado à VPN mostrado em sua segunda pasta colar para o seguinte:
Em seguida, adicione rotas conforme necessário para acessar o equipamento corporativo. Na tabela de roteamento mostrada acima, assumi uma rede / 24 na VPN, que pode estar incorreta. Você terá que definir a máscara adequadamente.
fonte
nmcli
sem uma conexão VPN, conseguiu resolver o DNS corretamente? Caso contrário, desconecte-se da VPN, verifique se o DNS está funcionando corretamente e executenmcli
.Há algumas lacunas que não posso preencher para você relacionadas a como o NetworkManager coordena as coisas para você. Vou tentar esclarecer como as coisas que coordena precisam funcionar. Não é uma resposta perfeita, mas espero que útil. Na verdade, dado que essa é uma pergunta antiga, isso é realmente para a posteridade.
Você provavelmente não deseja usar a VPN corporativa, exceto as conexões com a rede corporativa. Sendo esse o caso, seria melhor se a configuração da sua VPN direcionasse apenas os intervalos de rede apropriados para a VPN e mantivesse a rota padrão apontando para o roteador local, como antes. Seria bom se as empresas configurassem suas VPNs para rotear apenas o tráfego ou suas redes, mas infelizmente isso parece ser raro. Felizmente, você pode configurar as rotas na sua configuração local.
Isso ainda deixa você com um possível problema de DNS. Os comentários de jtk123 sobre o que o dnsmasq faz com o DNS não são específicos do dnsmasq - é assim que o DNS funciona. Se um cliente DNS ou um resolvedor intermediário obtiver uma resposta de que não existe uma entrada DNS, não será um comportamento normal voltar a perguntar a outro servidor DNS. Isso significa que você precisa de um resolvedor de DNS que responda conforme desejar, se a solicitação estiver relacionada à rede da empresa ou não.
Talvez a rede da sua empresa responda a consultas DNS relacionadas à Internet mais ampla; nesse caso, você apenas a usa, e provavelmente isso é bom. Caso contrário, você precisará de um servidor DNS local que encaminhe solicitações de domínios associados à empresa para o servidor DNS e encaminhe outras solicitações para outros lugares, conforme apropriado.
O dnsmasq pode ser solicitado a encaminhar solicitações de domínios específicos para servidores DNS upstream específicos. por exemplo, veja a opção --server conforme descrito na página do manual dnsmasq.conf. Não sei ao certo como fazer o gerenciador de rede se comportar bem com isso (que é o que estou procurando descobrir atualmente).
fonte