serveur de noms DNS différent par sandbox de réseau linux cgroup?

0

en utilisant la réponse très informative et détaillée à ce sujet, Routez le trafic sur une interface spécifique pour un processus sous Linux , J’ai été en mesure de choisir de manière sélective d’exécuter un processus via un VPN tiers ou non. Le seul problème que j'ai est que tous les processus continueront à utiliser les serveurs DNS du VPN tiers, car le fichier /etc/resolv.conf est mis à jour lors de l'établissement de la connexion VPN. Comment puis-je faire en sorte que le trafic acheminé via la passerelle du VPN utilise son serveur DNS et que le trafic acheminé via la passerelle de mon réseau local l'utilise ou que les serveurs de noms de Google servent de serveur DNS?

onlinespending
la source

Réponses:

0

Tant que vous utilisez un seul programme, il n'y aura aucun moyen d'y parvenir.

Vous pouvez toutefois exécuter deux instances distinctes du programme DNS, par exemple dnsmasq, en spécifiant pour chaque programme une interface d'écoute différente. Par exemple, n /etc/dnsmasq.conf1,

interface=eth0

et dans /etc/dnsmasq2.conf

interface=tun0

Assurez-vous de commencer la deuxième copie de dnsmasq uniquement lorsque vous activez le VPN.

MariusMatutiae
la source
Merci. J'utilise une solution purement resolv.conf. Est-il possible d'exécuter deux instances distinctes utilisant chacune une interface différente?
onlinespending
@onlinespending Non, ce n'est pas possible.
MariusMatutiae
Merci. J'ai réussi à faire en sorte que cela fonctionne d'une manière légèrement différente, tout en exécutant une deuxième instance de Dnsmasq. La solution complète est détaillée ici http://serverfault.com/a/766290/345463
onlinespending