web-dev-qa-db-fra.com

OpenConnect dans Network-Manager ne met pas à jour Resolv.conf

Je viens de mettre à jour à partir de Ubuntu 19h10 à Ubuntu 20.04. Maintenant, mon résolution.conf n'est plus mis à jour lorsque je me connecte à VPN avec la chose OpenConnect dans le gestionnaire de réseau.

Cela fonctionne correctement:

Sudo OpenConnect -u utilisateur https: // serveur

Je vois que le resolv.conf est changé. C'est donc un problème client.

dans /etc/networkmanager/networkmanager.conf j'ai DNS = Aucun à utiliser le resolv.conf

/etc/resolv.conf est un fichier et n'est pas lyclinked to /run/systemd/resolve/resolv.conf. J'ai vérifié si /run/systemd/resvulf/resolv.conf a été mis à jour par n'importe quoi, mais cela ne se met pas à jour.

C'est de Syslog:

NetworkManager[62862]: <info>  [1590658767.3686] vpn-connection[,"vpn",0]: VPN connection: (ConnectInteractive) reply received
NetworkManager[62862]: <info>  [1590658767.3714] vpn-connection[,"vpn",0]: VPN plugin: state changed: starting (3)
openconnect[63139]: Connected to somehostip:443
openconnect[63139]: SSL negotiation with somehostip
openconnect[63139]: Server certificate verify failed: signer not found
openconnect[63139]: Connected to HTTPS on somehostip 
openconnect[63139]: Got CONNECT response: HTTP/1.1 200 OK
openconnect[63139]: CSTP connected. DPD 30, Keepalive 20
openconnect[63139]: Connected as 10.0.0.2 + ipv6addresswashere, using SSL, with DTLS in progress
openconnect[63139]: Established DTLS connection (using GnuTLS). Ciphersuite (DTLS0.9)-(DHE-CUSTOM)-(AES-256-CBC)-(SHA1).
openconnect[63139]: SIOCSIFMTU: Operation not permitted
NetworkManager[62862]: <info>  [1590658768.5289] vpn-connection[,"vpn",0]: VPN connection: (IP Config Get) reply received.
NetworkManager[62862]: <info>  [1590658768.5320] vpn-connection[,"vpn",14:(vpn0)]: VPN connection: (IP4 Config Get) reply received
NetworkManager[62862]: <info>  [1590658768.5362] vpn-connection[,"vpn",14:(vpn0)]: VPN connection: (IP6 Config Get) reply received
NetworkManager[62862]: <info>  [1590658768.5373] vpn-connection[,"vpn",14:(vpn0)]: Data: VPN Gateway: somehostip
NetworkManager[62862]: <info>  [1590658768.5374] vpn-connection[,"vpn",14:(vpn0)]: Data: Tunnel Device: "vpn0"
NetworkManager[62862]: <info>  [1590658768.5374] vpn-connection[,"vpn",14:(vpn0)]: Data: IPv4 configuration:
NetworkManager[62862]: <info>  [1590658768.5375] vpn-connection[,"vpn",14:(vpn0)]: Data:   Internal Address: 10.0.0.2
NetworkManager[62862]: <info>  [1590658768.5375] vpn-connection[,"vpn",14:(vpn0)]: Data:   Internal Prefix: 19
NetworkManager[62862]: <info>  [1590658768.5375] vpn-connection[,"vpn",14:(vpn0)]: Data:   Internal Point-to-Point Address: 10.0.0.55
NetworkManager[62862]: <info>  [1590658768.5375] vpn-connection[,"vpn",14:(vpn0)]: Data:   Static Route: 0.0.0.0/0   Next Hop: 0.0.0.0
NetworkManager[62862]: <info>  [1590658768.5376] vpn-connection[,"vpn",14:(vpn0)]: Data:   Static Route: 10.0.0.0/19   Next Hop: 0.0.0.0
NetworkManager[62862]: <info>  [1590658768.5376] vpn-connection[,"vpn",14:(vpn0)]: Data:   DNS Domain: 'xxx.com'  
NetworkManager[62862]: <info>  [1590658768.5376] vpn-connection[,"vpn",14:(vpn0)]: Data: IPv6 configuration:
NetworkManager[62862]: <info>  [1590658768.5377] vpn-connection[,"vpn",14:(vpn0)]: Data:   Internal Address: ipv6addresswashere
NetworkManager[62862]: <info>  [1590658768.5377] vpn-connection[,"vpn",14:(vpn0)]: Data:   Internal Prefix: 64
NetworkManager[62862]: <info>  [1590658768.5378] vpn-connection[,"vpn",14:(vpn0)]: Data:   Internal Point-to-Point Address: ipv6addresswashere
NetworkManager[62862]: <info>  [1590658768.5378] vpn-connection[,"vpn",14:(vpn0)]: Data:   Static Route: ::/0   Next Hop: ::
NetworkManager[62862]: <info>  [1590658768.5378] vpn-connection[,"vpn",14:(vpn0)]: Data:   Static Route: ipv6addresswashere   Next Hop: ::
NetworkManager[62862]: <info>  [1590658768.5378] vpn-connection[,"vpn",14:(vpn0)]: Data:   DNS Domain: 'xxx.com'  
NetworkManager[62862]: <info>  [1590658768.5380] vpn-connection[,"vpn",14:(vpn0)]: VPN plugin: state changed: started (4)
NetworkManager[62862]: <info>  [1590658768.5534] vpn-connection[,"vpn",14:(vpn0)]: VPN connection: (IP Config Get) complete
NetworkManager[62862]: <info>  [1590658768.5548] device (vpn0): state change: unmanaged -> unavailable (reason 'connection-assumed', sys-iface-state: 'external')
NetworkManager[62862]: <info>  [1590658768.5600] device (vpn0): state change: unavailable -> disconnected (reason 'connection-assumed', sys-iface-state: 'external')
NetworkManager[62862]: <info>  [1590658768.5615] device (vpn0): Activation: starting connection 'vpn0' (xxx)
NetworkManager[62862]: <info>  [1590658768.5616] manager: NetworkManager state is now CONNECTED_SITE
NetworkManager[62862]: <info>  [1590658768.5629] manager: NetworkManager state is now CONNECTED_LOCAL 
NetworkManager[62862]: <info>  [1590658768.5632] manager: NetworkManager state is now CONNECTED_SITE
NetworkManager[62862]: <info>  [1590658768.5633] policy: set 'vpn' (vpn0) as default for IPv4 routing and DNS

J'ai regardé dans un autre syslog d'avant la mise à niveau et il y a des lignes là-bas comme:

NetworkManager[1245]: <info>  [1590386910.5867] vpn-connection[,"vpn",14:(vpn0)]: Data:   Internal DNS: 10.0.0.1
NetworkManager[1245]: <info>  [1590386910.5867] vpn-connection[,"vpn",14:(vpn0)]: Data:   Internal DNS: 10.0.0.2

Donc ceux qui manquent maintenant. Quelqu'un a eu un indice sur la façon de résoudre ce problème?

J'ai fait l'essayer avec DNS = Auto pour utiliser SystemD-résolution mais qui a le même problème. SystemD-Resolve --Status ne rapporte aucun serveur DNS pour la connexion VPN, ainsi que sur /Run/systemd/resves/resolv.conf.

Remarque: j'ai anonymisé toutes les adresses IP et les noms d'hôtes, etc.

2
Veda

J'ai trouvé la solution. Fondamentalement, si le serveur DNS envoie des serveurs DNS IPv6 à RECHERCHE IPv4 adresse les choses mal tournées. OpenConnect mettra des adresses IPv6 dans internal_ip4_dns et "Network-Manager-OpenConnect" ne s'attend pas à ce que cela traite la variable entière (et essentiellement tous les serveurs DNS) en tant que déchets et continue. J'ai compilé mon propre réseau-manager-OpenConnect de Master qui a une solution pour cela, et cela fonctionne bien.

Je ne sais pas pourquoi j'ai ce problème après la mise à niveau. Peut-être que quelque chose a changé dans OpenConnect? Ou peut-être le jour où j'ai mis à niveau mon entreprise réseau admin a ajouté un serveur DNS IPv6? (Je pense que c'est peu probable ...)

Si vous utilisez Network-Manager-OpenConnect 1.2.6 ou 1.2.7-Dev (ou peut-être même une version inférieure, qui ne contient pas le correctif), vous pouvez compiler votre propre version de Maître comme si:

Sudo apt-get build-dep network-manager-openconnect
mkdir ~/network-manager-openconnect_build
cd ~/network-manager-openconnect_build
git clone https://gitlab.gnome.org/GNOME/NetworkManager-openconnect.git
cd NetworkManager-openconnect
./autogen.sh
make
Sudo mv /usr/lib/NetworkManager/nm-openconnect-service-openconnect-helper /usr/lib/NetworkManager/nm-openconnect-service-openconnect-helper_bak
Sudo cp src/nm-openconnect-service-openconnect-helper /usr/lib/NetworkManager/nm-openconnect-service-openconnect-helper

Remarque: je ne suis que copié sur la corbeille d'assistance. En théorie, cela pourrait donner des problèmes d'incompatibilité. Je n'ai eu aucun problème avec ça. Mais si vous avez, vous pouvez essayer de copier sur la corbeille principale comme Wel de SRC.

Si vous le souhaitez, vous pouvez utiliser les éléments suivants pour avoir une journalisation supplémentaire pour le module VPN à voir dans le syslog si openConnect a reçu toutes les données DNS:

Sudo nmcli general logging level KEEP domains VPN_PLUGIN:TRACE

Si vous voyez le paramètre internal_ip4_dns étant défini avec les adresses IPv4 et IPv6, vous utilisez la version OpenConnect Network Manager mentionnée ci-dessus, vous êtes affecté avec ce bogue.

3
Veda