c'est le même problème qu'ici: faire fonctionner openconnect vpn via gui , mais mes ajouts ont été supprimés et on m'a demandé de créer une nouvelle question.
en fait, un certain nombre de personnes posent des questions similaires ici, toutes avec 0 réponses.
versions du logiciel: ubuntu 14.04, openconnect 5.02
problème principal: j'essaie d'ajouter une connexion vpn dans le gestionnaire de réseau, en utilisant openconnect. quand je fournis mon nom d'utilisateur et mon mot de passe vpn, il se connecte avec succès, mais je ne peux pas résoudre le DNS.
si je lance openconnect dans le terminal via sudo, le DNS fonctionne.
sudo openconnect -u <username> https://<vpn concentrator name>
plus de détails:
1a. lors de la connexion via openconnect et network-manager, même si j'ai explicitement ajouté DNS et un domaine de recherche sous l'onglet ipv4, seul le domaine de recherche se retrouve dans /etc/resolv.conf. même si je ne fournis pas de DNS et de domaines de recherche, je peux voir dans les journaux qu'il obtient ces informations du concentrateur VPN. encore une fois, le domaine de recherche est correctement mis à jour. [log ci-dessous]
1b. lors de la connexion via sudo sur un terminal, resolv.conf est correctement rempli avec les domaines DNS et de recherche, même si je n'ai pas ajouté ces informations dans la ligne de commande ou fourni un chemin vers un script vpnc. il doit l'obtenir du concentrateur vpn. [connectez-vous également ci-dessous]
2a. lors de la connexion via openconnect et network-manager, une nouvelle interface 'vpn0' est créée.
2b. lors de la connexion via sudo et la ligne de commande, une nouvelle interface 'tun0' est créée.
journal lors de la connexion via le gestionnaire de réseau:
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)
c'est là qu'il me demande mon mot de passe
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'
malgré tout le bruit dans le journal concernant la mise à jour de resolv.conf, il supprime les serveurs de noms mais ne les remplace pas par les adresses IP dans le journal. il met à jour le domaine de recherche correctement, donc ce n'est probablement pas un problème d'autorisations.
journal lors de la connexion à l'aide de sudo openconnect dans le 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'
rien sur la mise à jour de resolv.conf, et pourtant il met correctement à jour les serveurs de noms et le domaine de recherche.
mettre à jour si j'ignore tous les avertissements dans resolv.conf et y ajouter les serveurs de noms de concentrateur vpn, je suis instantanément en mesure de naviguer. bien sûr, dès que je me déconnecte, ces modifications sont écrasées.
il y avait un bug à ce sujet , en 2012, mais il a expiré. le problème semble être le script vpnc.
j'ai essayé de mettre à jour manuellement mes scripts vpnc vers les dernières versions, mais en vain.
d' autres recherches révèlent qu'à partir du 12.04 resolv.conf n'est plus où les serveurs de noms recherchent la résolution DNS lors de l'utilisation de network-manager. c'est pourquoi cela fonctionne lorsque j'utilise la ligne de commande, mais pas lors de l'utilisation du gestionnaire de réseau. le serveur de noms 127.0.1.1 [dnsmasq] est plutôt ajouté et ce serveur de noms reçoit les adresses IP des serveurs de noms réels.
Le gros avantage est que si vous vous connectez à un VPN, au lieu que tout votre trafic DNS soit acheminé via le VPN comme par le passé, vous n'enverrez à la place que des requêtes DNS liées au sous-réseau et aux domaines annoncés par ce VPN.
la mise à jour désactivant dnsmasq comme expliqué dans le lien ci-dessus résout le problème car /etc/resolv.conf est rempli.
ce n'est pas une vraie solution mais c'est un repli.
nameserver
ligne dans /etc/resolv.conf, quel que soit le nombre de serveurs de noms de destinataires utilisés.