Router un trafic spécifique dans un Tunnel IPSec



  • Bonjour à tous,
    Je rencontre actuellement un souci avec la dernière version de pfsense 2.4.4 P3 (mais aussi avec les versions antérieures ex 2.3.4), donc pas un souci d’OS mais plus de configuration/compréhension.
    Voici ma config en place :
    PFSense 2.4.4 P3
    1 livebox pro V4 d’Orange pour une ligne Fibre Optique
    1 PC avec deux cartes réseau (une intégrée à la carte mère et l’autre en PCI) dont une patte sur le LAN et l’autre connecté à un port de la livebox (testé aussi en config PPPoE directement branché à l’ONT et utilisation du FTI/xxxxxx et mdp Orange). Pas de DMZ, pas de WiFi, pas de package spécifique, pas de pas de DHCP sur LAN.
    IP réseau AWS : 10.10.0.0 /16
    IP réseau local 192.168.10.0/24
    Je chercher à créer une gateway IPSec pour router le trafic en direction d’AWS (Amazon Web Service), mais cela ne marche pas, car l’ensemble du trafic passe par la carte WAN et non par le tunnel IPSec monté.

    Pour plus de détail, voici quelques explications :

    Besoin :
    Mettre en place un tunnel IPSec entre PFSense et une plateforme AWS via la ligne Fibre Orange en parallèle de notre lien internet primaire. Nous souhaitons faire des tests en routant tout le trafic en directions d’AWS via le PFSense, car nous avons des doutes sur la stabilité de la ligne internet primaire (presta externe sur ligne SFR).

    Contexte :
    Les deux cartes réseaux (WAN et LAN) sont configurés pour moi correctement. Car nous pouvons accéder à PFSense depuis notre réseau local et le tunnel IPSec se monte sans soucis vers AWS.
    Donc LAN > PFSense = OK . PFSense > IPSec > AWS = OK . Mais routage trafic vers AWS > PFSense > AWS = KO.
    Nous arrivons bien à router le trafic vers le PFSense, mais le serveur PFSense ne route pas vers AWS. J’ai l’impression que le flux ne passe pas par le tunnel IPSec, car en mettant une règle FireWall ALLOW ANY IN/OUT ANY PORT, aucun parquet ne passe (Dans Firewall/Rules/IPsec > colonne States est à 0 KiB).

    Tests effectués sur 2.4.4 P3 et 2.3.4 :
    Connecté directement à ONT fibre : Création d’une 3eme interface en PPPoE avec FTI/ et mdp avec règle de routage, FireWall en ANY pour toutes les interfaces : Tunnel IPSec OK, mais pas de routage de flux.
    Connecté directement à ONT fibre : Utilisation de deux interfaces (WAN et LAN) seulement mais en configurant le mode PPPoE avec FTI/ et mdp sur la carte WAN, avec règle de routage, FireWall en ANY pour toutes les interfaces : Tunnel IPSec OK, mais pas de routage de flux.
    Connecté directement à Livebox sur un port réseau : règle de routage et FireWall en ANY pour toutes les interfaces : Tunnel IPSec OK, mais pas de routage de flux.

    En regardant plusieurs tutos sur Internet, je vois que des utilisateurs arrivent à mettre en interface directement IPSec (RoutedVTI), ce que je n’arrive pas à faire. Mais même sans y arriver, je ne comprends pas pourquoi malgré tous les tests et configurations effectuées (static rules, et FireWall en ANY, …) le routage ne se fait pas vers AWS malgré le tunnel IPSec monté et fonctionnel (UP coté AWS) via la carte WAN ou l’interface PPPoE quand je suis branché directement à l’ONT Fibre.

    Merci de vos lumières.



  • Peu clair, très peu clair ...

    Pour n'importe quelle machine (PC, routeur, firewall, ...), il y a une table de routage IP.

    Pour un PC, il a une interface réseau avec une adresse ip, un masque, et une passerelle. La table est donc

    • réseau 'local' : déduit de l'ip et du masque : liaison directe.
    • autres : liaison via la passerelle.

    Pour un firewall, il y a typiquement 2 réseaux LAN et WAN et une passerelle (côté WAN forcément). La table de routage est

    • réseau LAN : liaison directe par l'interface WAN.
    • réseau WAN : liaison directe par l'interface WAN.
    • autres : liaison via la passerelle, interface WAN.

    Si un firewall monte une tunnel IPSEC, forcément, il y a une extrémité et un réseau accessible, Quand le tunnel monte, la table de routage comporte une ligne supplémentaire :

    • réseau distant : liaison via l'interface Ipsec et un trafic (crypté) vers l'ip de l'extrémité, bien souvent via l'interface WAN.

    De facto, l'outil traceroute va renseigner par où passent les paquets. Or il y a un traceroute dans l'interface web de pfSense. Que dit-elle (cette option) ?

    Enfin, pfSense étant un firewall, il y a l'onglet Firewall > Rules > IPsec.
    A minima, il doit y avoir une règle comme

    • source : LAN subnet
    • destination : LanAWS
    • protocole : any


  • Bonjour jdh,

    Justement une fois l'IPsec monté, la table de routage ne comporte aucune entrée pour le réseau local distant. De même aucune interface ni gateway ne se sont créées sur pfsense .

    Donc notre souci est de pouvoir créée une route vers ce réseau local distant. Mais vers quelle Gateway ? Comment créée cette Gateway ? Elle n'est pas censée se créée toute seule quand la liaison VPN est établie ?

    Merci d'avance pour votre aide.



  • Il faut bien comprendre ce que vous faites.

    Physiquement, un port d'interface ethernet relie le pfSense à la Livebox/ONT. On peut rester simple avec la Livebox en mode routeur, ou faire plus compliqué en mode bridge.

    • dans le cas 1, l'interface WAN est en statique (ou dhcp),
    • dans le cas 2, l'interface WAN est un lien PPPoE sur l'interface physique,
    • ce qui change, c'est la possession de l'ip publique par le firewall, et c'est mieux si on veut faire de l'Ipsec par la suite, mais c'est tout.

    Pour définir un lien Ipsec, il y a plein de paramètres

    • phase 1 : lien avec une extrémité, clé initiale (en PSK)+ type de cryptage
    • phase 2 : le(s) tunnel(s) : réseaux de part et d'autres, type de cryptage
    • en sus paramétrage Diffie Helman (DH), voire DED = détection de lien mort = test de ping avec l'ip de l'extrémité

    Ce tunnel Ipsec va s'établir au travers de votre lien WAN ... qui doit être stable et ne pas être 'écrasé' par un accès à Internet !

    De ce que je comprends, votre tunnel n'est pas établi ni monté. Je présume qu'il y a des paramètres qui doivent vous identifier pour accéder aux ressources pour lesquelles vous contractez. Tant que ce tunnel n'est pas monté, il n'y a pas de route et les règles de l'onglet ne peuvent s'appliquer (le tunnel créé une interface virtuelle sur laquelle les règles s'appliquent, ce qui permet de les créer même si le lien n'est pas monté).

    Il doit y avoir des tutos (non spécifiques à pfSense et dons à adapter) sur Internet ...



  • Nous sommes dans le cas n2, c’est-à-dire le PFSense branché directement à l’ONT et avec les credentials FTI Orange renseigné dans la config de l’interface WAN. L’IP de la carte WAN est bien l’IP publique de la Livebox.
    Pour la partie IPSec, les tunnels sont bien montés car UP coté AWS et PFSense. La config a été faite par rapport aux précos Amazon :

    Phase1
    General information
    a. Disabled : uncheck
    b. Key Exchange version :V1
    c. Internet Protocol : IPv4
    d. Interface : WAN
    e. Remote Gateway: « IP PUBLIQUE AWS »
    f. Description: Amazon-IKE-vpn-1

    Phase 1 proposal (Authentication)
    a. Authentication Method: Mutual PSK
    b. Negotiation mode : Main
    c. My identifier : My IP address
    d. Peer identifier : Peer IP address
    e. Pre-Shared Key: « SHARED KEY »

    Phase 1 proposal (Algorithms)
    a. Encryption algorithm : aes128
    b. Hash algorithm : sha1
    c. DH key group : 2
    d. Lifetime : 28800 seconds

    Advanced Options
    a. Disable Rekey : uncheck
    b. Responder Only : uncheck
    c. NAT Traversal : Auto
    d. Deed Peer Detection : Enable DPD
    Delay between requesting peer acknowledgement : 10 seconds
    Number of consecutive failures allowed before disconnect : 3 retries

    Phase 2
    a. Disabled :uncheck
    b. Mode : Tunnel
    c. Local Network : Type: LAN subnet
    Address : champ grisé
    d. Remote Network : Type : Network
    Address : ! 10.10.0.128/26
    e. Description : Amazon-IPSec-vpn-1

    Phase 2 proposal (SA/Key Exchange)
    a. Protocol : ESP
    b. Encryption algorithms :aes128
    c. Hash algorithms : hmac-sha1-96
    d. PFS key group : 2
    e. Lifetime : 3600 seconds

    Concernant l’interface virtuelle, nous ne la voyons nulle part dans PFSense (même en faisant un ifconfig en shell). Nous pouvons voir si nous metton le type du P2 en RoutedVTI une interface apparaitre dans le gestionnaire d’interface, mais nous ne pouvons toujours pas router vers celle-ci.



  • Quand le tunnel monte l'interface au niveau de BSD se créé : si pas d'interface, alors pas de tunnel monté !

    Juste 1 point : Ipsec, c'est la parfaite correspondance entre les paramètres de chaque côté. Relire chaque réglage plutôt 3 fois qu'une !

    Je ne vais pas pouvoir vous aider plus ...

    J'ai trouvé 2 liens :

    Il me semble avoir lu IKE v2 (alors que vous indiquez IKE v1) ...
    Je ne pense pas que le routage doit être dynamique, mais je me trompe peut-être ...

    (Mea culpa : le DH fait partie de la phase 1 bien sûr)


Log in to reply