Follow

Des personnes s'y connaissent en VPN / Linux ?

J'ai un serveur OpenVPN qui marche. Je peux me connecter et le traffic est bien routé à travers le VPN.

Sauf les requêtes DNS.

Quand je fais un "dig coucou.hello", je peux voir dans les logs du serveur DNS que j'ai configuré que l'IP utilisée est toujours celle de mon ISP, alors qu'il devrait s'agir de l'IP de mon VPN.

Je suis sous Debian 9 avec Network-Manager

@eliotberriot le serveur DNS a la même adresse IP que le serveur VPN ?
openvpn se crée une route directe vers le serveur avant de remplacer la route par défaut, tu peux contourner ça en utilisant l'adresse interne du serveur vpn comme DNS

@CobaltVelvet oui les deux ont la même IP (le serveur DNS est un Pi-Hole, hébergé sur la même VM).

Du coup je ne suis pas certain de savoir comment procéder à la manip décrite dans la deuxième partie, puisque les deux services ont la même IP publique.

@eliotberriot l'IP privée, tu peux la voir sur le serveur avec "ip addr" sur l'interface tun, ou dans la route par defaut sur le client ("ip route"). le côté négatif c'est qu'elle ne sera accessible qu'avec le VPN, mais tu peux mettre l'adresse publique ou un autre résolveur comme dns secondaire

@CobaltVelvet ah super, ça a l'air de correspondre à ce que je veux, j'essayer ça de suite !

Merci ❤️

@eliotberriot Random guess mais est-ce que ce serait pas lié à une mauvaise config de règles IPtables ?

@aleks hm peut-être mais je sais pas comment valider ou non cette hypothèse :s

@eliotberriot J'imagine que tu te connecte au VPN à partir de ton laptop/ta workstation, et que ton serveur DNS est un serveur sur le même réseau local?
Si c'est le cas, ton PC ne va pas utiliser la connexion au VPN pour envoyer sa requête au serveur DNS qui est sur le réseau local, sauf que le serveur DNS (qui n'est pas connecté au VPN) va utiliser ta connexion internet pour faire ses propres requêtes et le trafic passera donc en clair.
Si tu es dans ce cas là, pour résoudre ça il faut soit rendre la connexion au VPN disponible au serveur DNS (en lui faisant ouvrir une connexion au serveur VPN lui aussi, en plus de ton PC) ou alors faire utiliser un serveur DNS sur internet à ton PC (auquel quel le trafic partira dans le tunnel).

@nihl mon serveur DNS et mon serveur VPN sont sur la même IP, sur un réseau public (pas local donc).

Je veux juste que le traffic entre mon laptop et le serveur DNS arrive via le VPN. Ça me permettra de limiter les connexions autorisées sur le serveur DNS à celles provenant du VPN, car là j'ai un résolveur DNS public et c'est pas top point de vue sécu :s

@eliotberriot Ok, je vois où est le problème. Je connais plus très bien OpenVPN (et encore moins le réseau sur linux) donc je pourrais pas vraiment te donner une solution simple, mais il y a visiblement d'autres personnes plus compétentes que moi qui te donnent un coup de main :flan_smile:

@eliotberriot Tu as bien les options
push "dhcp-option DNS ip du résolveur côté vpn"
push "dhcp-option DNS6 ipv6 du résolveur côté vpn" ?

@eliotberriot Dans la config openvpn de ton serveur, tu as une option :
push "dhcp-option DNS x.x.x.x" ?
Sinon, c'est ça :)

@eliotberriot Lorsque tu n'es pas connecté au vpn, ça n'induit pas de latence trop forte sur la résolution de nom ?

@Armageddon non, du coup quand je suis pas connecté au VPN, la résolution passe par les DNS de mon ISP

@eliotberriot Oui, mais le resolveur doit bien essayer celui de ton vpn d'abord si tu l'as mis en dns primaire

@Armageddon non je l'ai pas mis en DNS primaire, il utilise les DNS du VPN que si le VPN est on :)

@Armageddon mon problème c'était que la connexion au DNS, lorsque j'étais sur VPN, passais en clair. (le DNS et le VPN étant hébergés sur la même IP)

En faisant en sorte que le VPN annonce un serveur DNS avec une route en 10.8.0.*, le traffic DNS est obligé de passer par le VPN.

@eliotberriot Ah oui ok.
Je n'ai en effet pas ce soucis là, puisque mon dns est sur un réseau local derrière le vpn et déjà routé par openvpn (push route..)

@eliotberriot @Armageddon Comme disait Aleks, si tu souhaitais utiliser l'ip publique du DNS il aurait fallu ajouter des règles iptables en plus pour rediriger le port DNS à travers le VPN.
Parce que ton VPN fait passer à travers le VPN tout le flux sauf les paquets à destination de l'ip du VPN.
Or il peut s'agir de requête DNS ou de requête http qui apparaîtrons en clair. Pareil si tu fait un telnet vers ce serveur, le flux passe pas via le VPN...

@eliotberriot Tu n'aurais pas une option du genre "n'utiliser que pour les ressources de son réseau" activée ?

Sign in to participate in the conversation
Mastodon.eliotberriot.com

mastodon.eliotberriot.com is one server in the network