Sur site1, je dois me connecter à site2 via OpenVPN. Une fois connecté, le site OpenVPN2 pousse un serveur de noms DNS et des options de recherche de domaine. Cela entraîne l'échec de toutes les résolutions de noms pour site1.
Exemple:
Physiquement connecté sur site1, DHCP pousse les options DNS et resolvconf les gère.
/etc/resolv.conf# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8) # DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN nameserver 172.16.1.101 nameserver 172.16.1.102 search site1.internal.domain
Ouvrez le tunnel OpenVPN vers site2, OpenVPN pousse l'option dhcp DNS et DOMAIN pour site2 et les
/etc/openvpn/update-resolv-conf
pousse vers resolvconf.
/etc/resolv.conf# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8) # DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN nameserver 192.168.1.5 nameserver 172.16.1.101 nameserver 172.16.1.102 search site2.internal.domain site1.internal.domain
La résolution DNS fonctionne pour server.site2.internal.domain mais échoue pour server.site1.internal.domain
Existe-t-il un moyen pour que toute requête DNS ayant échoué vers site21 passe aux serveurs DNS de site1? Ou configurer resolvconf pour que seules les requêtes pour site2.internal.domain soient transmises au serveur de noms site2?
J'utilise une machine Ubuntu 14.04 sur site1, et le serveur OpenVPN sur site2 est une boîte pfSense 2.2. Je gère les deux sites, donc apporter des modifications de chaque côté n'est pas un problème. Les deux domaines sont à usage non public et interne uniquement.
la source
Réponses:
Vous pouvez configurer un serveur de mise en cache local qui surveillera votre
/etc/resolv.conf
, car il est modifié par lesresolvconf
scripts, et essayez d'obtenir ses réponses de tous les serveurs de noms qui y sont répertoriés.Sur de nombreux systèmes, il suffira d'installer le paquetage dnsmasq , en plus de resolvconf.
Les valeurs par défaut devraient « fonctionne » à condition que
no-resolv
et lesno-poll
directives sont absents/etc/dnsmasq.conf
et l'lo
interface est en haut de/etc/resolvconf/interface-order
. Si un serveur de noms en amont renvoie des adresses IP arbitraires pour les adresses non résolubles,strict-order
dans dnsmasq.conf peut aider. Votre/etc/resolv.conf
devrait seulement montrernameserver 127.0.0.1
.Si vous préférez une configuration fixe ou que vous vous connectez à plusieurs réseaux indépendants et que vous souhaitez éviter de divulguer vos noms de réseaux privés trop tous les serveurs de noms, vous devez configurer dnsmasq pour interroger des serveurs spécifiques en fonction du domaine:
Pour plus d'informations sur les options de dnsmasq, voir ici: http://oss.segetech.com/intra/srv/dnsmasq.conf
la source
resolv.conf liste tous les serveurs DNS disponibles. Tant que la première de la liste est opérationnelle, toutes les requêtes lui seront envoyées. Rien pour les autres sauf si le premier est en panne. Donc, si le premier serveur DNS de la liste est en place et connaît la réponse, il répond "Je le sais!", Sinon il dira "J'ai peur de ne pas savoir ...". Et c'est tout. Vous devez informer 192.168.1.5 (le serveur DNS de site2) de toutes les entrées de site1, et vice-versa bien sûr. Salutations
la source
Je n'ai pas essayé cela sur Ubuntu, mais j'ai pu obtenir une configuration similaire fonctionnant sur Arch Linux en utilisant openresolv et dnsmasq.
Toutes les modifications seront effectuées sur la machine client VPN. Le serveur VPN ne devrait pas avoir besoin de modifications car il inclut déjà le serveur de noms DNS et les options de recherche de domaine.
resolvconf -l
pour voir tous les fichiers resolv.conf. Déterminez le nom resolvconf de votre interface VPN (c'est-à-dire le X dans "resolv.conf from X"). Dans mon cas, c'était le cas,tun0
que j'utiliserai dans la configuration restante.Modifiez
/etc/resolvconf.conf
pour ajouter ces options:Modifiez
/etc/dnsmasq.conf
pour ajouter ces options:Exécutez
resolvconf -u
pour générer les fichiers de configuration dnsmasq.Démarrez le
dnsmasq
service et configurez-le pour démarrer au démarrage. Sur Arch, cela se fait en exécutant:L'
name_servers
option indique à resolvconf de ne répertorier que les serveurs de noms/etc/resolv.conf
(c'est- à -dire qu'il pointe vers votre instance dnsmasq locale). Lesdnsmasq_
options indiquent à resolvconf d'écrire à la place les serveurs de noms qui seraient entrés dans les/etc/resolv.conf
fichiers de configuration dnsmasq.L'
private_interface
option indique à resolvconf que les serveurs de noms fournis par cette interface (votre VPN) ne doivent être utilisés que lors de la résolution de noms d'hôtes qui se trouvent dans l'un des domaines spécifiés sur lasearch
ligne. Il générera la configuration dnsmasq appropriée pour que cela se produise.Avec cette configuration, les demandes d'hôtes sous site2.internal.domain doivent aller à 192.168.1.5, et toutes les autres demandes doivent aller à 172.16.1.101 ou 172.16.1.102.
Si votre système n'utilise pas IPv6, supprimez le :: 1 de l'
name_servers
option.la source