DNS et OpenVpn



  • Bonjour,
    J'ai installe Pfsense (derniere version) sur une machine avec un SSD et 32Go de RAM.
    Je l'ai configure pour le DHCP et OpenVpn, en suivant des tutos sur le net.
    J'ai un serveur Windows (2016) configure pour l'active Directory et le DNS.

    Quand je suis connecte en local (via ethernet) , mon DNS marche bien: je peux faire un ping avec le nom du server ou son adresse IP.

    Mon OpenVpn marche presque bien: Je me connecte a distance, j'arrive a acceder a mes serveurs et mes fichiers, mais je dois entrer l'adresse IP des serveurs ; lorsque j'entre le nom d'un serveur, ca me jette!

    Mon pfsense est en 10.1.x.x , et mon OpenVpn en 172.1.x.x
    J'ai active le DNS forwarder, puis le resolver. Pas de succes.
    Dans le DNS resolver, j'ai cree une " access list" dans laquelle j'ai entre les plages openvpn en 172.x.x.x/24

    Les parametres de mon DNS Resolver sont :

    Enable SSL/TLS Service ON

    Network Interface, j'ai "All"
    Outgoing Network Interface" j'ai "All"
    DNSSEC ON
    DNS Query Forwarding ON
    DHCP Registration ON
    Static DHCP ON

    Dans "Host Override" , j'ai l'adresse IP de mon serveur DNS Windows 2016.

    Dans mes reglages OpenVpn Server, J'ai DNS Server enable ON et j'ai mis l'adresse de mon serveur DNS en premier, suivi du serveur DNS de google

    Force DNS cache update est ON.

    Je dois manquer quelque chose, mais je ne sais pas quoi. J'ai essaye plein d'options differentes, mais rien n'y fait :(
    Il faudrait peut etre une regle dans le firewall pour faire un transfert de 172.x.x.x (mon adresse openvpn quand je me connecte) a 10.1.x.x. (adresse de mon gateway) , mais je ne suis pas certain comment faire.

    Dans le "general setup" section DNS servers, j'ai mis les DNS de google en premier puis mon serveur DNS a moi.

    Auriez vous des idees svp ?

    Merci beaucoup !



  • 1 - quel est ton DNS lorsque tu es sur le réseau local ?
    2 - quel est ton DNS lorsque tu es en connecté au travers du VPN ?
    La réponse à cette question devrait te mettre sur la piste beaucoup plus rapidement que toutes les options compliquées que tu as essayé autour de la configuration de ton DNS.
    Pour aller un peu plus dans le détail, est-ce que ton serveur OpenVPN pousse bien vers le client qu'il doit utiliser un DNS "local" ?



  • Bonjour chris,

    Merci pour ta reponse.
    1- En reseau local, mon DNS est mon serveur windows: ca marche!
    2- En VPN, c'est un peux plus etrange: je met une capture d'ecran:

    Image37.png

    Je n'ai pas de default gateway (est-ce normal ? ) et mon serveur DHCP est celui defini par openVpn

    Mon server DNS est effectivement defini correctement , mais y'a pas de lien entre mon openvpn (172.x.x.x ) et mon serveur DNS (meme si j'arrive a "pinger" celui ci)
    Image40.png

    Il me manque un truc quelque part, mais je ne sais ou :( Dans les reglages du serveur vpn ? dans les reglages vpn client ? une regle firewall ?

    Merci !



  • Il y a un problème de vision générale.

    Imaginons une entreprise avec un site, une liaison internet, et des utilisateurs avec ordi portables voulant accéder au(x) serveurs(s) de l'entreprise depuis l'extérieur.

    Il est probable que l'entreprise va avoir un serveur Windows avec un ActiveDirectory, donc un serveur sera 'Domain Controler'. Ce serveur va être serveur DNS et DHCP pour les micros/serveurs de l'entreprise.

    Donc, premier point, le firewall pfSense ne sera pas DHCP et DNS (sauf pour le serveur DC).

    Les utilisateurs voulant se connecter de l'extérieur vont utiliser OpenVPN pour se connecter à distance.

    Donc, deuxième point, le firewall pfSense en serveur OpenVPN, devra fournir comme dns, le serveur DC.

    Conseil pratique : dès qu'on a un DC dans un site, il faut laisser le rôle DHCP et DNS au DC et limiter la config du pfSense.

    (S'applique à plusieurs fils ...)



  • @kalonkadour , tu as donc la réponse à ta question ☺ comme en VPN, ton DNS n'est pas ton infra Microsoft, contrairement au mode réseau local, ça ne fonctionne pas de la même manière.
    La solution est très simple: il faut dire à ton client, en mode VPN, que le DNS, c'est celui de Windows.
    ça se fait en poussant l'option "dhcp-option DNS 10.1.1.15" au niveau du serveur OpenVPN.
    https://openvpn.net/community-resources/pushing-dhcp-options-to-clients/



  • @chris4916

    Merci pour ta reponse. J'ai essaye le push dhcp comme tu preconises
    en modifiant le serveur openvpn et pas de succes.
    En modifiant le client openvpn, itou.
    Et les deux en meme temps, bah ca casse mon vpn.

    (j'ai redemarre mon pfsense plusieurs fois, pour etre certain que les services etaient bien redemarres )

    Et j'ai toujours le meme probleme :(
    Pas de gateway quand je me connecte avec openvpn, et mon log affiche les messages suivants :

    Fri Dec 13 15:10:00 2019 Set TAP-Windows TUN subnet mode network/local/netmask = 172.10.1.0/172.10.1.2/255.255.255.0 [SUCCEEDED]

    Fri Dec 13 15:10:00 2019 Notified TAP-Windows driver to set a DHCP IP/netmask of 172.10.1.2/255.255.255.0 on interface {2846EFAE-12AB-46F1-BEA3-D5A63D22C88B} [DHCP-serv: 172.10.1.254, lease-time: 31536000]

    Donc mon gateway est 172.x.x.254 et bien sur, il ne communique pas tres bien avec le 10.x.x.x de mon LAN. Pourtant je ping et je me connecte, j'accede a mes logiciels...



  • @kalonkadour j'imagine que le service IT et en particulier NET de AT&T doit pouvoir t'aider efficacement puisque tu sembles être sur leur réseau 😂
    Plaisanterie mise à part, tu ne peux pas, sauf si bien sûr tu es vraiment sur le réseau de AT&T, utiliser des adresses IP en 172.10.x.x/24
    La RFC 1918 décrit très précisément que les adresses non-routées utilisables comme adresses "privées" sont:
    10.0. 0.0 - 10.255. 255.255 (10/8 prefix)
    172.16. 0.0 - 172.31. 255.255 (172.16/12 prefix)
    192.168. 0.0 - 192.168. 255.255 (192.168/16 prefix)
    donc tu vas vite changer ta conf 😉

    ça ne résout pas ton problème de DNS, j'en conviens.

    Il n'y a rien à changer coté client: c'est le serveur OpenVPN qui pousse l'option de DNS avec DHCP.
    Une fois que tu as mis ça en place, quelle est ta configuration coté client ? au lieu de décrire celle-ci, tu montres juste des extraits de log... et je ne comprends pas ce que signifie "il ne communique pas tres bien".



  • Bonjour,
    Pouvez-vous :

    • Se connecter en openvpn

    • Poster le résultat de la commande suivante : nslookup (sous le poste windows en cmd)

    • Poster aussi le log pfsense partie FireWall au moment de l'éxecutuon de la commande



  • Bonjour Trixbox,
    Desole du retard de ma reponse, je suis en voyage avec un acces limite au net :(
    Je me connecte en openvpn, j'ouvre mon "cmd" et je lance un nslookup.
    Et voila la reponse:

    nslookup
    Default Server: UnKnown
    Address: 10.1.1.15

    Et le log semble (!) etre :
    X Dec 18 20:05:30 WAN Default deny rule IPv4 (1000000103)

    Donc il semble falloir une regle supplementaire. Le firewall est "tel quel" , je n'ai pas ajoute de regles moi meme (a part celle creees par le wizard openvpn)

    Merci beaucoup!



  • Hello @chris4916
    Desole du retard, je suis en voyage avec un acces limite a internet :(

    Ahaha oui, j'etais aux US recemment mais maintenant en amerique latine! Je ne sais pas si "Claro" accepterai de m'aider desormais ;)

    Je peux changer ma connexion VPN lan de 172.x.x.x a 173.x.x.x mais pour le moment, je vais eviter de faire des gros changements: comme je suis loin, reparer me sera difficile et j'ai pas envie de me mettre mes collegues a dos... ce serait de sacrees fetes de fin d'annee.

    Par "il ne communique pas tres bien", je voulais dire que les serveurs sont joignables, les fichiers aussi (donc, ca passe) tant que j'utilise les addresses IP.
    Si j'utilise les noms des serveurs, ben ca marche pu :(

    Oui, des logs, j'en ai a la pelle , mais je dois dire que je ne sais pas trop ou chercher :(
    Le firewall etait une puce a mon oreille, et la config du vpn une autre... d'ou tous mes tests dns (forwarder et resolver)...
    Quels logs faudrait il regarder en particulier ?
    Merci encore , desole d'etre un boulet ^^'



  • En lisant à nouveau tes premiers messages, tu as déjà 10.1.1.15 défini en tant que serveur DNS lorsque tu es en VPN. Donc ce n'est probablement pas un souci de "push".
    Regarde dans le log du FW si les requêtes sur le port 53 en direction de 10.1.1.15 depuis ton réseau VPN sont bien autorisées.
    Si c'est bien le cas, il te faudra ensuite regarder coté serveur DNS lui-même si tu n'as pas des règles locales qui rejettent ta requête issue d'un réseau autre que le LAN.



  • Hello Chris4916,

    Merci de ton aide. J'ai change mes adresses VPN et je suis desormais en 72.x.x.x (et plus en 172, ce qui etait un probleme en soit)

    Et je n'ai toujours pas de DNS :( mais mon log de firewall me dit:
    Default deny rule IPv4 (1000000103)
    Ou
    Default deny rule IPv4 (1000000104)

    quand je tape la commande nslookup

    Alors j'aimerais bien autoriser les adresse IPv4 (bizarre, dans mon firewall je ne pense pas avoir de regles qui interdise cela)
    J'ai bien essayer de chercher par moi meme (et google) mais la plupart des reponses (en anglais) se reduisent a RTFM (ce qui ne m'avance guere helas)
    J'ai effectivement mon server DNS defini par defaut correctement, donc je m'oriente plus vers le firewall. Helas, je n'ai que 3 regles: Les 2 par defaut et celle creee par OpenVpn Wizard. (j'ai mis les copies d'ecran pour reference)

    J'ai bien essaye de creer ma propre regle (en la mettant "au dessus" des autres, meme si je n'ai pas compris si "au dessus" signifiait vraiment "dessus" ou si les regles qui apparaissent en haut dans l'ordre de lecture sont les dernieres a etre executees )

    Image69.png
    Image70.png

    Bref, comment interpreter ce message du log du firewall ?

    Merci beaucoup, et bonne annee a tous :)



  • Bonne initiative. Mais ton choix d'adresse n'est malheureusement pas bon et montre que tu n'as pas tout à fait compris le principe de la RFC1918.
    Pour faire simple, les adresses IP publiques sont régies par un organisme (IANA) qui a décidé qu'il y avait 3 segments d'IP qi ne seraient jamais attribués à personne et qui ne sont pas routés sur internet. Ce sont des adresses IP "privées" définies dans la RFC1918.
    Ces adresses sont:
    10.0.0.0/8 (classe A)
    172.16.0.0/12 (classe B)
    192.168.0.0/16 (classe C)

    Bien sûr, tu n'es pas obligé, parce que tu as pris une adresse en 172.16.x.x, d'avoir un netmask en /12
    Tu pourrais par exemple dans ton cas, choisir 172.16.1.0/24, puisque tu as besoin de peu d'adresse, choisir 172.16.1.0/28

    Tu noteras que pfSense, par défaut, bloque sur l'interface WAN l'usage des adresses de la RFC1918 (bien sûr puisque ces adresses sont supposées ne pas être utilisées depuis internet).

    Ceci étant dit, je ne comprends pas ton message:
    "quand je tape nslookup...." où ça et dans quel but ?
    tes copies d'écran ne disent rien de précis parce qu'il manque le bandeau qui montre à quelle interface elles s'appliquent.



  • Hello Chris,

    Merci pour tes reponses :)
    Une fois connecte en VPN, j'ouvre sous windows une CMD et je tape nslookup.
    Puis je regarde le log du firewall, et je lis le message
    Default deny rule IPv4 (1000000103), sur l'interface WAN.

    Quant a mes screenshots, ils sont effectivement un peu trop rognes :(
    Mais en voila des tout nouveaux tout beaux.

    Image73.png

    Image72.png

    Image71.png

    Si Pfsense bloque les adresses en 172.x.x.x (/24 dans mon cas) alors changer a 72.x.x.x est il un choix logique ou pas ? J'avoue qu'effectivement, le RFC est tout nouveau pour moi et que mon apprentissage est un peu laborieux :(

    Merci encore!



  • @kalonkadour said in DNS et OpenVpn:

    Si Pfsense bloque les adresses en 172.x.x.x (/24 dans mon cas) alors changer a 72.x.x.x est il un choix logique ou pas

    non. Ce que tu n'as pas compris, c'est que 172.x.x.x n'est pas du tout la même chose que 172.16.x.x
    la classe B de la RFC 1918 couvre de 172.16.0.0 à 172.31.255.255
    tout ce qui est en dehors de ce range d'adresse n'est pas privé.
    Techniquement, ce que tu n'as pas intégré, c'est le fonctionnement des netmask. Une adresse IP "seule" ne signifie pas grand chose, dans le cadre de cette discussion, si elle n'est pas accompagnée de son masque de réseau.
    Pour faire simple, tant que tu n'as pas encore bien compris comment ça fonctionne et en attendant de progresser sur le sujet sans t'empêcher d'avancer sur ton problème de VPN, tu peux par exemple choisir 172.17.0.0/24 comme IP pour le tunnel.
    Profites-en pour supprimer ton access list dans DNS resolver. ça ne te sert à rien pour le moment. D'une manière générale, et surtout si tu ne comprends pas encore tous les détails, il ne me semble pas opportun d'empiler tout un tas de "protections" dont tu ne vas pas savoir laquelle s'applique.
    Une fois que ça fonctione, tu pourras éventuellement ajouter des couches de contrôle.



  • Hello Chris,
    Bon ben j'ai suivi ton conseil et je suis passe en 172.17.1.0/24 sur mon vpn, et j'ai toujours le meme message sur le log du firewall :
    Default deny rule IPv4 (1000000103), sur l'interface WAN.

    c'est facheux, car je pietine depuis un moment :(
    Je vais tacher de mieux comprendre cette histoire de RFC. Ceci dit, le probleme semble etre avec le firewall et une regle qui m'echappe, meme si, comme tu l'as tres justement souligne, mes regles sont tres minimalistes pour le moment et je ne compte pas en implementer avant de bien comprendre qui fait quoi !

    Merci encore :)



  • @kalonkadour cette "histoire de RFC" n'a rien a voir avec le problème que tu rencontres. C'est juste la base de la mise en œuvre du plan d'adressage IP.

    1 - As-tu bien supprimé ton access list au niveau du DNS ?
    2 - Peux-tu copier et coller ici le message d'erreur tel que tu le vois dans le log ?



  • Un truc surprenant dans ce que tu décris: une fois le tunnel VPN établi, ton client ne devrait plus passer par l'interface WAN mais par le tunnel, ce qui est l'objectif des règles sur l'interface "OpenVPN" 😎



  • Hello Chris,

    Oui, j'ai bien enleve les access lists au niveau du DNS : c'est l'une des premieres choses que j'ai faite! J'ai aussi enleve l'option "dhcp-option DNS 10.1.1.15" (je devrais peut etre la remettre)

    1- Quand je me connecte en VPN, et que je regarde le log du firewall , sans taper aucune commande aucune, j'ai :

    Image76.png

    Et quand je tape nslookup en ligne de commande sous windows, le meme message s'affiche (coincidence? )

    Enfin, le meme message se repete de maniere recurrente, avec differentes IP en source: russie ou hollande! Je me demande si je suis sous attaque... Peut etre que ces messages du firewall n'ont rien a voir avec mon probleme.

    Image79.png

    Les logs openvpn ne montrent rien de special.

    Et j'ai un autre souci (mineur) Les timestamps des logs du firewall ne correspondent pas aux autres timestamp. Pourtant j'ai configure le NTP :(
    Image78.png

    Merci beaucoup pour ton aide :)



  • tu te compliques probablement la vie pour pas grand chose.
    1 - je ne comprends pas pourquoi tu masques l'adresse IP source de ta première copie d'écran, sauf si c'est une IP fixe qui est la tienne, mais auquel cas tu devrais savoir si ta machine fait ce genre de requête sur ce port.
    2 - comme je te l'ai déjà écris, une fois le tunnel VPN établi, le client n'accède plus à l'interface WAN mais au tunnel VPN
    3 - oui bien sûr, toutes les tentatives d'accès avec une IP source qui n'est pas la tienne n'ont rien à voir avec ton problème. quel est-il au fait ? des messages d'erreur dans le FW ou des vrais problèmes de fonctionnement ?
    4 - "les timestamp du log ne correspondent pas aux autres timestamp". Lequels ? Ta machine semble être sur la coté Ouest des US, mais à part ça, ta copie d'écran ne montre aucun problème 😛
    5 - et donc quand tu tapes nslookup sur ton client Windows connecté en VPN, que se passe t-il ? Coté client, parce que coté pfSense, il ne se passe à priori rien d'anormal. Une fois que tu as tapé nslookup, il doit te donner le nom du serveur par défaut. Lequel est-il ? et si ce n'est pas le cas, lorsque tu tapes "server", il doit te le donner à nouveau.



  • Hello Chris,

    Merci pour ta patience :)
    Je n'aurais pas du parler des timestamps, c'est un faux probleme, tres mineur.
    Mon probleme principal, c'est toujours mon DNS et mon VPN. Quand je suis connecte en VPN, je n'arrive pas a "pinger" mes serveurs par leur nom, mais par leur adresse IP seulement, ce qui est un souci en soit: je ne vais pas demander a mes utilisateurs de se souvenir de toutes les adresses IP !

    En VPN, quand je tape nslookup, j'obtiens ceci :
    Image83.png

    Ce qui est etrange, c'est que mon serveur ovpn a cette config:
    Image84.png

    Et dans mon general setup, j'ai ca:
    Image85.png

    et le push dns ... ne change rien non plus : quand je fais un ping de mon serveur par son nom, j'ai le message "could not find host blablabla"

    Je ne sais pas trop pourquoi mon DNS est celui de comcast par defaut :( j'imagine que ma config openvpn se fait ecraser par une autre config, mais je ne sais comment empecher ca ?

    merci !



  • As-tu regardé ça
    9ee91490-4ea0-4921-a77d-6d1dcc646084-image.png
    et tu devrais peut-être poster ici ta conf OpenVPN...

    Block outside DNS, c'est juste pour faire un essai: que se passe t-il si tu force le DNS du tunnel ?

    Au fait, ton client, c'est du Windows 10 ? (donc NRTP)



  • Hello Chris,

    Oui, j'avais deja joue avec ces options la mais je n'avais pas eu plus de succes :(

    quand je me connecte, j'ai bien
    "locking outside dns using service succeeded."
    mais je ne peux toujours pas "pinger" mon serveur par son nom.

    Et oui, mon client, c'est W10 :( je n'ai pas pu essayer avec une autre config, helas.

    Ma config serveur:
    Image96.png
    Image97.png
    Image98.png
    Image99.png

    Et ma config client :

    Image100.png
    Image101.png
    Image102.png
    Image103.png

    Merci beaucoup pour ton aide :)



  • @chris4916

    Une autre info ? Quand j'active l'option "Block Outside Dns"
    et que je lance un nslookup en ligne de commande, j'obtiens ceci :

    nslookup
    Default Server: UnKnown
    Address: 10.1.1.15

    server
    Server: UnKnown
    Address: 10.1.1.15
    *** UnKnown can't find server: Server failed

    J'ai pourtant entre le nom de mon server dns dans le "general setup"
    Et mon DNS resolver est active: dois je le desactiver pour laisser place au forwarder ?

    merci !



  • 🤐
    Qu'est-ce que c'est que cette config client ?
    A quoi te sert-elle ???
    Tu as configuré un serveur en "remote access", ok, pourquoi pas.... et un client en peer-to-peer.

    Je ne comprends pas bien l'objectif.

    Par ailleurs, tu ne dis pas si tu as essayé le "force DNS cache update"

    Enfin, je vois que ton client utilises le DNS en IPV6, toute ta conf OpenVPN est en IPV4.



  • Hello Chris,

    J'ai simplement suivi des tutos de configuration sur le net. Apres, je ne suis pas certain de toutes les options... :(

    Par ailleurs, tu ne dis pas si tu as essayé le "force DNS cache update"

    Oui, j'ai essaye et sans succes :(

    Enfin, je vois que ton client utilises le DNS en IPV6, toute ta conf OpenVPN est en IPV4.

    Ah ? J'ai beau regarder, tout me semble en IPV4 pourtant. Tu peux m'indiquer l'endroit ou tu a vu ca stp ?

    Il faudrait que je change la config client alors ? comment ?

    Merci a toi !



  • Les effets de bord des tuto 😉 parfois, c'est bien uniquement pour ceux qui comprennent ce que ça fait... et qui du coup n'ont pas besoin de tuto.
    pfsense fourni un serveur OpenVPN (que tu as configuré) mais peut également fonctionner en tant que client VPN, notamment pour faire du "peer-to-peer".
    Mais dans ton cas, si ton client VPN est un poste Win 10, tu n'as pas besoin de client VPN.
    Tu devrais supprimer cette configuration.
    Ta config client, c'est celle que tu as peut-être généré avec le wizard et qui est installée sur ton client.

    Lequel, si tu regardes la copie d'écran que tu as partagé pour montrer le nslookup, utilise un DNS en IP V6



  • Hello Chris,

    Humm, tu dois faire reference a un "vieux" screenshot. Voici ce que j'ai desormais avec nslookup:

    nslookup
    Default Server: UnKnown
    Address: 10.1.1.15

    server
    Server: UnKnown
    Address: 10.1.1.15
    *** UnKnown can't find server: Server failed

    Ce qui semble bien etre du IPV4. L'adresse en IPV6 etait celle de comcast, avant de cocher l'option "block outside dns"

    Mon pc a moi est sous windows 10 ; mais pour d'autre personnes, ce sera du mac, du chromebook ... d'ou l'interet d'avoir un client , non ?

    merci !



  • ce que te dit ce dernier nslookup, c'est que ton DNS est 10.1.1.15, donc bien celui que tu configures dans le serveur VPN.
    Ce qu'il te dit également, c'est que le nom de 10.1.1.15 ne peut pas être résolu 😕

    et donc probablement que ce DNS n'accepte pas les connections de la part du client VPN.

    J'ai l'impression que depuis le début, tu te focalises sur pfSense et OpenVPN (et finalement, ça a permis de faire un peut de clean-up dans ta conf) mais as-tu regardé du coté de ton serveur Windows ?



  • Hello Chris,

    Oui, je pense (pensais) que c'est un probleme openvpn car en LAN je n'ai pas de probleme: tout va bien!

    D'ou mon cheminement openvpn, pfsense, configuration...

    merci !


Log in to reply