Je lance Ubuntu Xenial 16.04
Nous utilisons openvpn pour nous connecter à un cloud privé virtuel. Ce cloud possède son propre serveur DNS (tout comme notre itinéraire local - domicile ou bureau).
Lorsque je me connecte au VPN, toutes les adresses IP de ce réseau sont disponibles mais je ne peux en atteindre aucune par nom d'hôte. La raison est simple: le fichier resolv.conf affiche toujours mon serveur de noms de bureau local. Si j'écrase manuellement le fichier resolv.conf pour avoir le bon serveur de noms, tout va bien.
Alors, comment puis-je le faire reconfigurer automatiquement resolv.conf lors de la connexion au VPN?
Puis-je me connecter à un événement système et exécuter un script?
--register-dns
option? Vous pouvez également définir des options côté client, comme dhcp-options (le revers des instructions ici openvpn.net/index.php/open-source/documentation/howto.html#dhcp )Réponses:
Le package OpenVPN a un script pour cela dans
/etc/openvpn/update-resolv-conf
. Vous devez le configurer avec:Cela récupérera les adresses de serveur DNS à partir des
dhcp-option DNS
options passées par le pair / serveur OpenVPN et configurera enresolvconf
conséquence. Il gèredhcp-option DOMAIN
également.Il n'est cependant pas parfait, car cela ajoutera ces serveurs de noms à la liste des serveurs de noms existants au lieu d'écraser la liste des serveurs de noms. Si vous utilisez
openresolv
le-x
peut être utilisé pour remplacer la configuration DNS au lieu de lui faire une pré-impression.Si vous utilisez
systemd-resolved
, vous pouvez utiliser le/etc/openvpn/update-systemd-resolved
qui s'accroche à lasystemd-revolved
place deresolvconf
.Sur Debian, ce script est dans le
openvpn-systemd-resolved
.la source
script-security 2
ou exécuter votreopenvpn
avec--script-security 2
Voici la solution que j'ai trouvée: Il y a un commutateur qui vous permet d'exécuter un script lorsque le tunnel est opérationnel. J'utilise le commutateur pour écraser essentiellement le fichier resolv.conf avec un fichier que je sais correct. C'est un hack total, je sais.
le script (reset-dns):
Aussi, pour ceux qui disent "OMG! Vous exécutez ce tunnel en tant que root!" Il ne fonctionnera pas autrement; avant même mon piratage DNS.
Je suis définitivement ouvert à une meilleure voie. Le gestionnaire de réseau pour ubuntu ne fonctionnera tout simplement pas. J'ai coupé des tickets pour Ubuntu à plusieurs reprises
la source