Lorsque je me connecte à un réseau VPN via Gnome Network-manager, je perds la résolution DNS et, en pratique, je ne peux pas accéder aux ressources du réseau VPN ou de l'extérieur.
Lorsque j’utilisais Ubuntu 16.04 et le VPN, le /etc/resolv.conf/
fichier " " contenait les serveurs DNS du réseau (VPN) que j’avais connecté. Maintenant, il contient toujours les entrées suivantes:
nameserver 127.0.0.53
search myprovider.com
D'après ce que j'ai compris, 127.0.0.53
c'est l'adresse du stub DNS utilisé par le system-resolved
.
Je soupçonne que c'est un bogue parce que le VPN fonctionnait bien sous Ubuntu 16.04. Est-il possible de configurer les serveurs DNS de mon réseau lorsque j'utilise un service VPN?
Mise à jour:
J'ai essayé de me connecter au réseau OpenVPN avec le fichier de configuration joint à la fin du message, mais le message d'erreur suivant s'affiche:
Authenticate/Decrypt packet error: cipher final failed
J'ai vérifié que le serveur utilise la compression lzo et je l'ai également activé. La connexion reste active mais je ne peux accéder à aucune page à l'intérieur ou à l'extérieur du VPN.
Dans le fichier de configuration indiqué ci-dessous, j'ai inclus les solutions postées dans les réponses.
client
dev tun
proto udp
remote openvpn.bibsys.no 1194
remote my-server-2 1194
resolv-retry infinite
nobind
user myuser
group myuser
persist-key
persist-tun
ca ca-cert.pem
cert openvpn.crt
key openvpn.key
cipher AES-256-CBC
comp-lzo yes
script-security 2
up /etc/openvpn/scripts/update-systemd-resolved
down /etc/openvpn/scripts/update-systemd-resolved
down-pre
la source
resolvectl status
etresolvectl help
trouvé ma solution spécifique.Réponses:
J'ai trouvé une solution sur ce blog . Bien que deux solutions soient mentionnées, je préfère utiliser la seconde car cela signifie que mon DNS est défini par le serveur OpenVPN (la première solution signifie que j'utilise les mêmes serveurs DNS, que je sois connecté ou non au serveur OpenVPN).
En bref:
sudo mkdir -p /etc/openvpn/scripts
sudo wget https://raw.githubusercontent.com/jonathanio/update-systemd-resolved/master/update-systemd-resolved -P /etc/openvpn/scripts/
sudo chmod +x /etc/openvpn/scripts/update-systemd-resolved
Ensuite, éditez votre fichier client OpenVPN (par exemple, client.ovpn) en modifiant les scripts up / down en:
(J'ai commenté les réglages haut / bas d'origine).
la source
config.ovpn
n'est pas "trouvé" - c'est le fichier de configuration du client utilisé pour la connexion. Vous le générez ou bien il vous est envoyé par votre fournisseur OpenVPN (et il pourrait ne pas s'appelerconfig.ovpn
- il pourrait s'appeler n'importe quoi, commeclient.ovpn
).WARNING: Failed running command (--up/--down): external program fork failed
Problème
Le fichier
/etc/resolv.conf
n'est pas mis à jour par le/etc/openvpn/update-resolv-conf
script car ilresolvconf
n'est pas installé par défaut sur Ubuntu 18.04.En fait, l'une des premières lignes de ce script recherche l'
/sbin/resolvconf
exécutable:L'installation de resolvconf via
apt-get
n'est pas une solution, car le/etc/openvpn/update-resolv-conf
script met à jour le/etc/resolv.conf
fichier avec l'entrée DNS transmise, mais le périphérique tun semble l'ignorer.Solution
Ubuntu 18.04 utilise
systemd-resolved
, vous n'avez donc qu'à installer le script d'assistance openvpn poursystemd-resolved
viaou avec ces instructions GitHub
Mettez à jour votre
config.ovpn
fichier en ajoutant ces lignes:Cela au lieu de monter et descendre de
/etc/openvpn/update-resolv-conf
la conf.Pour éviter les fuites DNS, vous devez ajouter cette ligne à la fin du
config.ovpn
fichier (en fonction du commentaire de ce problème systemd ):la source
script-security 2
est toujours nécessaire avant les lignes haut / bas, sinon le programme tombe en panne avec une erreur (OpenVPN 2.4.4)script-security 2
n'était pas nécessaire dans mon cas . C'est peut-être parce que je lance le client openvpn en tant que root (avec sudo)sudo apt-get install network-manager-openvpn-gnome
Vous devriez alors pouvoir importer des fichiers de configuration .ovpn dans le gestionnaire de réseau gnome. askubuntu.com/questions/187511/… L' interface utilisateur a changé au fil du temps, vous devriez être en mesure de constater que, dans les paramètres-> réseau-> vpnEn fait, il existe une solution beaucoup plus facile à ce problème. Le problème est lié au trafic DNS et à la manière dont Ubuntu 18 le gère. Par défaut, le transfert IP est désactivé, ce dont OpenVPN a besoin pour fournir un réseau adéquat. Tout ce que vous avez à faire est d’exécuter la commande suivante:
Une fois ce fichier ouvert, recherchez la ligne qui le contient
net.ipv4.ip_forward
. Si cette ligne est commentée, supprimez le signe # au début de la ligne (si elle n'est pas commentée, vous avez un autre problème). Enregistrez le fichier, puis redémarrez votre instance de serveur OpenVPN.Ce correctif ne nécessite aucune modification du code client ou OpenVPN après la mise à niveau vers Ubuntu 18. Testé et confirmé fonctionnant.
Cependant, cela nécessite évidemment que vous puissiez administrer le serveur. Et malheureusement, le bogue existe pour beaucoup qui se connectent simplement avec 18.04 à un serveur OpenVPN qui est administré par quelqu'un d'autre ...
la source
Il existe une autre commande utile pour configurer ce dont vous avez besoin via une ligne de commande. Mais dans mon cas, vous pouvez contrôler votre connexion VPN avec une ligne de commande et une interface graphique.
sudo nmcli connection add type vpn vpn-type openvpn con-name la.vpn.contoso.com ifname --
sudo nmcli connection modify la.vpn.contoso.com ipv4.dns 172.16.27.1 sudo nmcli connection modify la.vpn.contoso.com ipv4.dns-search int.contoso.com sudo nmcli connection modify la.vpn.contoso.com ipv4.never-default yes
Et beaucoup plus intéressé touche finale:
nmcli connection modify la.vpn.contoso.com vpn.data 'ca = /tmp/la.vpn.contoso.com/you/ca.crt, key = /tmp/you.key, dev = tun, cert = /tmp/you.crt, cert-pass-flags = 1, comp-lzo = adaptive, remote = la.vpn.contoso.com:1194, connection-type = tls'
Ensuite, vous pouvez contrôler vpn avec une interface graphique ou utiliser les commandes suivantes:
sudo nmcli --ask connection up la.vpn.contoso.com sudo nmcli connection down la.vpn.contoso.com
la source
Je suis aussi touché. Dans mon cas, j'utilise OpenVPN avec un serveur de noms interne (situé à l'intérieur du VPN). Cela a fonctionné jusqu'à Ubuntu 17.10 (avec "hosts: files dns" dans /etc/nsswitch.conf).
Le fichier /etc/resolv.conf a été mis à jour correctement par les scripts openvpn (via les appels à / etc / openvpn / update-resolv-conf dans le fichier de configuration du client openvpn).
Cependant, la résolution de noms pour les hôtes du VPN ne fonctionnait plus (ou du moins de façon sporadique ... Je suppose que le cache DNS local choisissait les noms, mais après un temps assez long).
Ce qui semble aider, voire résoudre le problème (bien que ce soit trop tôt pour le dire) est d'installer le paquet ci-dessous:
sudo apt install openvpn-systemd-résolu
Dans quelques jours, j'aurai plus d'expérience pour savoir si cela résout mon problème ou non.
Si vous êtes également concerné, essayez ceci et postez des commentaires!
À votre santé,
Michael.
la source