Este é o mesmo problema que aqui: Conseguir que o openconnect vpn funcione com a GUI , mas minhas adições foram excluídas e fui solicitado a criar uma nova pergunta.
de fato, há várias pessoas fazendo perguntas semelhantes aqui, todas com 0 respostas.
versões de software: ubuntu 14.04, openconnect 5.02
problema principal: estou tentando adicionar uma conexão VPN ao gerenciador de rede, usando o openconnect. Quando eu forneço meu nome de usuário e senha VPN, ele se conecta com êxito, mas não consigo resolver o DNS.
se eu executar o openconnect no terminal via sudo, o dns funcionará.
sudo openconnect -u <username> https://<vpn concentrator name>
mais detalhes:
1a. ao conectar via openconnect e gerenciador de rede, mesmo que eu tenha adicionado explicitamente dns e um domínio de pesquisa na guia ipv4, apenas o domínio de pesquisa termina em /etc/resolv.conf. mesmo que eu não forneça DNS e domínios de pesquisa, posso ver nos logs que está obtendo essas informações do concentrador de VPN. novamente, o domínio de pesquisa é atualizado corretamente. [log abaixo]
1b. ao conectar via sudo em um terminal, o resolv.conf é preenchido corretamente com domínios DNS e de pesquisa, mesmo que eu não tenha adicionado essas informações na linha de comando ou fornecido um caminho para um script vpnc. deve estar recebendo do concentrador VPN. [log também abaixo]
2a ao conectar via openconnect e gerenciador de rede, uma nova interface 'vpn0' é criada.
2b. ao conectar via sudo e linha de comando, uma nova interface 'tun0' é criada.
log ao conectar via gerenciador de rede:
NetworkManager[784]: <info> Starting VPN service 'openconnect'...
NetworkManager[784]: <info> VPN service 'openconnect' started (org.freedesktop.NetworkManager.openconnect), PID 4513
NetworkManager[784]: <info> VPN service 'openconnect' appeared; activating connections
NetworkManager[784]: <info> VPN plugin state changed: init (1)
é aqui que ele pede minha senha
NetworkManager[784]: <info> VPN plugin state changed: starting (3)
NetworkManager[784]: SCPlugin-Ifupdown: devices added (path: /sys/devices/virtual/net/vpn0, iface: vpn0)
NetworkManager[784]: SCPlugin-Ifupdown: device added (path: /sys/devices/virtual/net/vpn0, iface: vpn0): no ifupdown configuration found.
NetworkManager[784]: <warn> /sys/devices/virtual/net/vpn0: couldn't determine device driver; ignoring...
NetworkManager[784]: <info> VPN connection '<connection name>' (Connect) reply received.
openconnect[4544]: Attempting to connect to server <ip address>:443
openconnect[4544]: SSL negotiation with <correctly identified vpn server>
openconnect[4544]: Connected to HTTPS on <correctly identified vpn server>
openconnect[4544]: Got CONNECT response: HTTP/1.1 200 OK
openconnect[4544]: CSTP connected. DPD 30, Keepalive 20
NetworkManager[784]: <info> VPN connection '<connection name>' (IP Config Get) reply received.
NetworkManager[784]: <info> VPN connection '<connection name>' (IP4 Config Get) reply received.
NetworkManager[784]: <info> VPN connection '<connection name>' (IP6 Config Get) reply received.
NetworkManager[784]: <info> VPN Gateway: <ip address>
NetworkManager[784]: <info> Tunnel Device: vpn0
NetworkManager[784]: <info> IPv4 configuration:
NetworkManager[784]: <info> Internal Address: 10.xxx.xxx.xxx
NetworkManager[784]: <info> Internal Prefix: 19
NetworkManager[784]: <info> Internal Point-to-Point Address: 10.xxx.xxx.xxx
NetworkManager[784]: <info> Maximum Segment Size (MSS): 0
NetworkManager[784]: <info> Forbid Default Route: no
NetworkManager[784]: <info> Internal DNS: <ip address>
NetworkManager[784]: <info> Internal DNS: <ip address>
NetworkManager[784]: <info> DNS Domain: '(none)'
NetworkManager[784]: <info> IPv6 configuration:
NetworkManager[784]: <info> Internal Address: <ipv6 ip>
NetworkManager[784]: <info> Internal Prefix: 64
NetworkManager[784]: <info> Internal Point-to-Point Address: <ipv6 ip>
NetworkManager[784]: <info> Maximum Segment Size (MSS): 0
NetworkManager[784]: <info> Forbid Default Route: no
NetworkManager[784]: <info> DNS Domain: '(none)'
openconnect[4544]: Connected vpn0 as <ip address> + <ipv6 ip>, using SSL
openconnect[4544]: Established DTLS connection (using OpenSSL)
NetworkManager[784]: <info> VPN connection '<connection name>' (IP Config Get) complete.
NetworkManager[784]: <info> Policy set '<connection name>' (vpn0) as default for IPv4 routing and DNS.
NetworkManager[784]: <info> Policy set '<connection name>' (vpn0) as default for IPv6 routing and DNS.
NetworkManager[784]: <info> Writing DNS information to /sbin/resolvconf
dnsmasq[1027]: setting upstream servers from DBus
dnsmasq[1027]: using nameserver 127.0.0.1#53 for domain 10.in-addr.arpa
dnsmasq[1027]: using nameserver 127.0.0.1#53 for domain <home search domain>
dnsmasq[1027]: using nameserver 127.0.0.1#53 for domain <vpn search domain>
dnsmasq[1027]: using nameserver <ip address>#53 for domain 10.in-addr.arpa
dnsmasq[1027]: using nameserver <ip address>#53 for domain <home search domain>
dnsmasq[1027]: using nameserver <ip address>#53 for domain <vpn search domain>
dnsmasq[1027]: using nameserver <ip address>#53 for domain 10.in-addr.arpa
dnsmasq[1027]: using nameserver <ip address>#53 for domain <home search domain>
dnsmasq[1027]: using nameserver <ip address>#53 for domain <vpn search domain>
dbus[471]: [system] Activating service name='org.freedesktop.nm_dispatcher' (using servicehelper)
NetworkManager[784]: <info> VPN plugin state changed: started (4)
NetworkManager[784]: keyfile: updating /etc/NetworkManager/system-connections/<connection name>-6a503043-13b0-4ce7-9749-29cd3054cae3
dbus[471]: [system] Successfully activated service 'org.freedesktop.nm_dispatcher'
apesar de todo o ruído no log sobre a atualização do resolv.conf, ele remove os servidores de nomes, mas não os substitui pelos endereços IP no log. atualiza o domínio de pesquisa corretamente, portanto, provavelmente não é um problema de permissão.
log ao conectar usando o sudo openconnect no terminal:
NetworkManager[784]: SCPlugin-Ifupdown: devices added (path: /sys/devices/virtual/net/tun0, iface: tun0)
NetworkManager[784]: SCPlugin-Ifupdown: device added (path: /sys/devices/virtual/net/tun0, iface: tun0): no ifupdown configuration found.
NetworkManager[784]: <warn> /sys/devices/virtual/net/tun0: couldn't determine device driver; ignoring...
dbus[471]: [system] Activating service name='org.freedesktop.hostname1' (using servicehelper)
kernel: [ 3258.725774] systemd-hostnamed[4927]: Warning: nss-myhostname is not installed. Changing the local hostname might make it unresolveable. Please install nss-myhostname!
dbus[471]: [system] Successfully activated service 'org.freedesktop.hostname1'
nada sobre a atualização do resolv.conf e, no entanto, ele atualiza corretamente os servidores de nomes e o domínio de pesquisa.
atualizar se eu ignorar todos os avisos no resolv.conf e adicionar os servidores de nomes do concentrador vpn a ele, sou capaz de navegar instantaneamente. é claro que, assim que eu desconecto, essas alterações são substituídas.
houve um erro nisso , em 2012, mas expirou. o problema parece ser o script vpnc.
Eu tentei atualizar manualmente meus scripts vpnc para as versões mais recentes, mas sem sucesso.
algumas pesquisas adicionais revelam que, a partir do 12.04, o resolv.conf não é mais onde os servidores de nomes buscam a resolução de DNS ao usar o gerenciador de rede. é por isso que funciona quando eu uso a linha de comando, mas não quando uso o gerenciador de rede. em vez disso, o servidor de nomes 127.0.1.1 [dnsmasq] é adicionado e esse servidor de nomes recebe os endereços IP dos servidores de nomes reais.
A grande vantagem é que, se você se conectar a uma VPN, em vez de todo o tráfego DNS ser roteado através da VPN, como no passado, enviará apenas consultas DNS relacionadas à sub-rede e aos domínios anunciados por essa VPN.
A atualização que desativa o dnsmasq, conforme explicado no link acima, resolve o problema porque /etc/resolv.conf é preenchido.
essa não é uma solução real, embora seja um substituto.
nameserver
linha no /etc/resolv.conf, independentemente de quantos servidores de nomes forwardee estão em uso.