Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    OpenVPN client pfSense <-> OPenVPN serveur Freebox : ajouter les routes ?

    Scheduled Pinned Locked Moved Français
    1 Posts 1 Posters 836 Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • fremoisF
      fremois
      last edited by

      Bonjour à tous
      1/ Mon objectif : Permettre de monter en SMB un disque du NAS de la FreeBox pour faite une synchronisation de contenu d'un serveur connecté au pfSense.
      Un petit schéma vaut mieux qu'un long discours...
      Schéme PFS-FB.png
      2/ Contexte / opération réalisées (et qui fonctionnent)
      Version de mon pfSense : 2.7.2

      • Une patte WAN fibre (PPPoE) avec une IP publique fixe
      • Une patte LAN

      2.1 Sur la FreeBox :

      • Activation du serveur OpenVPN en mode routé
      • Création d'un utilisateur / mot de passe
      • Récupération du fichier de configuration .opvn
      • Validation du fichier de configuration avec TunnelBlick sur Mac OS : Ouverture du VPN : OK / Montage du disque en SMB : OK (et accès à une ressource de mon réseau connecté derrière la FreeBox : OK)

      2.2 Sur mon pfSense (après avoir ouvert le fichier de configuration .opvn dans un éditeur de texte)

      • Création de l'autorité de certification (copie/colle de certificat en section <ca>[...]</ca>)
      • Création du certificat et de sa clé privée (copie/colle de certificat en section <cert>[...]</cert> et <key>[...]</key>)
      • Configuration du client OpenVPN avec les paramètres suivants :
      	Server mode : Peer to Peer (SSL/TLS)
      	Device mode : UDP on IPv4 only
      	Interface : WAN_FIBRE
      	Local port : 0
      	Server host or address : 82.999.999.999 (vous croyez pas que j'allais mettre la vrai IP ? ;o))
      	Server port : 20244
      	Username : <mon_nom_user_FB>
      	Password : <mon_mdp_user_FB>
      	TLS Configuration : décoché
      	Peer Certificate Authority : l'autorité de certification précédente
      	Client Certificate : le certificat précédent
      	Data Encryption Algorithms : AES-256-CBC
      	Fallback Data Encryption Algorithm : AES-128-CBC
      	Auth digest algorithm : SHA256 (256-bit)
      	Server Certificate Key Usage Validation : coché
      	IPv4 Remote network(s) : 192.168.31.0/24 (IP de mon LAN Domicile)
      

      J'ai puisé ces informations dans le fichier de configuration .opvn venant de la FreeBox :

      client
      remote 82.999.999.999 20244 (Note : mon accès fibre est en fullstack)
      proto udp
      nobind
      dev-type tun
      pull
      dev tun0
      redirect-gateway
      auth-user-pass
      auth-retry interact
      fragment 1452
      mssfix 1452
      explicit-exit-notify 3
      cipher AES-256-CBC
      remote-cert-tls server
      verify-x509-name "C=FR, O=Freebox SA, CN=Freebox OpenVPN server xxxxxxxxxxxx"
      # use tls-remote instead of verify-x509-name for deprecated openssl
      # tls-remote "/C=FR/O=Freebox_SA/CN=Freebox_OpenVPN_server_xxxxxxxxxxx"
      

      Ce qui fonctionne : le VPN s'ouvre et reste ouvert...
      Dans statut d'OpenVPN du pfSense j'ai :

      	Status : Connected (Success)
      	Local Address : 212.999.999.999:51441 (l'adresse IP de ma patte Wan pfSense)
      	Virtual Address : 192.168.27.65
      	Remote Host : 82.999.999.999:20244 (l'adresse IP WAN de ma box domicile)
      

      Et coté Freebox (Paramètres / Serveur VPN / Connexions):

      	Utilisateur : <mon_nom_user_FB>
      	IP Source : 212.999.999.999:51441
      	IP Locale : 192.168.27.65
      

      3/ Ce qui ne fonctionne pas...
      Impossible d'établir la moindre connexion ou de pinguer l'adresse IP de la Freebox via son adresse IP LAN de mon domicile depuis le pfSense

      Dans les logs, j'ai effectivement cette erreur :

      ERROR: FreeBSD route add command failed: external program exited with error status: 1
      

      J'ai pas mal cherché sur le net et sur ce forum. Le seul message évoquant cette erreur est celui-ci
      https://forum.netgate.com/topic/115457/vpn-openvpn-pfsense-freebox-route-add-command-failed

      Effectivement, tout laisse à penser qu'il manque une déclaration de route au niveau de pfSense.
      Si je vais voir la table de routage du pfSense, je n'ai aucune route vers la classe d'IP du LAN de mon domicile (192.168.31.0/24)
      La seule IP que je vois dans la table de routage liéé à ma connexion OpenVPN (ovpnc1) est 212.888.888.888 (ce n'est pas l'IP de l'interface WAN de mon pfSense mais une autre)

      4 / Mais quel est l'itinéraire ?
      Retour sur mon Mac pour voir quelle est la table de routage de celui-ci lorsque le VPN est ouvert puis fermé :
      une comparaison de la commande netstat -nr -f inet dans les deux états du VPN nous montre que lorsqu'il est ouvert :

      Destination        Gateway            Flags           Netif
      default            212.888.888.888      UGScg         utun7       (tiens, on retrouve cette IP en route par défaut vers l'interface OpenVPN...)
      [...]
      192.168.27.64/27   212.888.888.888      UGSc            utun7      et en adresse de passerelle pour les adresses d'OpenVPN
      192.168.31         212.888.888.888      UGSc            utun7      aussi pour le LAN de mon domicile
      [...]
      212.888.888.888      192.168.27.66      UHr             utun7       
      

      5/ Mes questions

      • Le fait d'ajouter ces routes permet-il de progresser vers la solution. Je ne connais pas bien OpenVPN et surtout la différence entre client site à site et client nomade.
        Ici nous sommes dans le cas où la FreeBox attend la connexion d'un client nomade alors que le client OpenVPN du pfSense est en mode site à site.
        Il semblerait que dans le mode nomade le serveur "pousse" la route vers le logiciel client nomade alors que dans le mode site à site le client n'attend pas cette directive (d'où l'erreur "route add command failed").
        D'où mon interrogation à propos de l'ajout des routes "à la mano".
      • Comment ajouter ces routes proprement ?
        En m'inspirant de cet article (https://blog.muffn.io/posts/tunneling-specific-traffic-over-a-vpn-with-pfsense/) je n'ai réussi qu'à planter totalement la configuration de connexion internet du pfSense

      Si quelqu'un s'est déjà trouvé confronté à cette configuration, je suis à son écoute (mais sans passer par pptp...🙁 )
      Merci de votre aide (surtout à ceux qui ont lu l'intégralité de mon post).
      Bonne journée.

      1 Reply Last reply Reply Quote 0
      • First post
        Last post
      Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.