questo è lo stesso problema qui: far funzionare openconnect vpn tramite gui , ma le mie aggiunte sono state cancellate e mi è stato chiesto di creare una nuova domanda.
in effetti, ci sono un certo numero di persone che fanno domande simili qui, tutte con 0 risposte.
versioni software: ubuntu 14.04, openconnect 5.02
problema principale: sto provando ad aggiungere una connessione VPN in Network-Manager, usando openconnect. quando fornisco il mio nome utente e password vpn, si collega correttamente, ma non riesco a risolvere dns.
se eseguo openconnect nel terminale tramite sudo, dns funziona.
sudo openconnect -u <username> https://<vpn concentrator name>
più dettagli:
1 bis. durante la connessione tramite openconnect e gestore di rete anche se ho aggiunto esplicitamente dns e un dominio di ricerca nella scheda ipv4, solo il dominio di ricerca finisce in /etc/resolv.conf. anche se non fornisco dns e domini di ricerca, posso vedere nei registri che sta ottenendo tali informazioni dal concentratore VPN. di nuovo, il dominio di ricerca viene aggiornato correttamente. [registro sotto]
1b. quando ci si connette tramite sudo on in un terminale, resolv.conf viene popolato correttamente con dns e domini di ricerca anche se non ho aggiunto tali informazioni nella riga di comando o fornito un percorso a uno script vpnc. deve ottenerlo dal concentratore VPN. [accedi anche sotto]
2a. durante la connessione tramite openconnect e gestore di rete, viene creata una nuova interfaccia 'vpn0'.
2b. quando ci si collega tramite sudo e la riga di comando, viene creata una nuova interfaccia 'tun0'.
registro durante la connessione tramite gestore di rete:
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)
questo è dove chiede la mia password
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'
nonostante tutto il rumore nel registro relativo all'aggiornamento di resolv.conf rimuove i nameserver ma non li sostituisce con gli indirizzi IP nel registro. aggiorna correttamente il dominio di ricerca, quindi probabilmente non è un problema di autorizzazioni.
registro durante la connessione tramite sudo openconnect nel terminale:
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'
nulla sull'aggiornamento resolv.conf, eppure aggiorna correttamente i server dei nomi e il dominio di ricerca.
aggiorno se ignoro tutti gli avvertimenti in resolv.conf e vi aggiungo i nameserver del concentratore VPN, sono immediatamente in grado di navigare. ovviamente non appena mi disconnetto, tali modifiche vengono sovrascritte.
c'era un bug su questo , nel 2012, ma è scaduto. il problema sembra essere lo script vpnc.
ho provato ad aggiornare manualmente i miei script vpnc alle ultime versioni, ma senza risultati.
alcune ulteriori ricerche rivelano che a partire da 12.04 resolv.conf non è più il luogo in cui i nameserver vanno per la risoluzione del DNS quando si utilizza Network Manager. ecco perché funziona quando uso la riga di comando, ma non quando utilizzo Network Manager. piuttosto viene aggiunto il nameserver 127.0.1.1 [dnsmasq] e a quel nameserver vengono indicati gli indirizzi IP dei nameserver reali.
Il grande vantaggio è che se ti connetti a una VPN, invece di far passare tutto il tuo traffico DNS attraverso la VPN come in passato, invierai invece solo query DNS relative alla sottorete e ai domini annunciati da quella VPN
l'aggiornamento disabilitando dnsmasq come spiegato nel link sopra risolve il problema perché /etc/resolv.conf è popolato.
questa non è una vera soluzione sebbene sia un fallback.
nameserver
riga in /etc/resolv.conf, indipendentemente dal numero di server dei nomi del destinatario.