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

    Problème / Question Routing / VPN

    Scheduled Pinned Locked Moved Français
    38 Posts 4 Posters 5.3k 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.
    • L
      Lolight
      last edited by

      Hello, merci chris4916 et ccnet pour vos réponses.

      Mon tunnel IPsec est établis, et effectivement, il y avais bien un FW de type SonicWall a l'autre bout.

      J'ai eu plusieurs erreurs mais je pense que celle qui bloquais principalement étais un problème de configuration de l'autre côté au niveau des KeyID Tag ainsi que le mode agressive qui apparemment rencontre quelques soucis avec pfSense 2.2.

      Maintenant que tout cela est fait je m'attaque au NAT.
      Je vais commencer par étudier la solution pour OpenVPN puis IPsec dans un second temps.

      J'ai bien pris note ccnet de l'option NAT/BINAT que j'avais repéré lors de ma configuration.
      Je ne manquerais pas de te faire un retour dès que je m'y attèle.

      –--

      Je me suis fais un shéma qui est celui-ci (il représente la maquette):
      EDIT : Pour plus de claretée j'ai mis un shéma en PJ plus propre, et je pense que celui-ci étais faux au niveau de l'adressage du tunnel VPN

      10.0.8.6/24 tun0                          10.0.8.1/24 OpVpn          172.16.0.2/16
      Client                      RPI –--------------------------------------------pfSense                  CentOS
      192.168.0.10/21  192.168.0.80/21 eth0                                  172.16.0.1/16 LAN          l
        l                            l                                                                      l                            l
        l                            l                                                                      l                            l
      -------------------------                                                                      ------------------------

      J'espère que mon shéma de mon infra actuel est pas trop brouillon.
      Je vais essayer de détailler un peut, le tun0 représente l'insterface client de mon tunnel OpenVPN et de l'autre côté l'interface serveur d'OpenVpn.

      L'objectif est donc de mettre en place du NAT afin de translater le réseau 192.168.0.0/21 sur un sous réseau 172.16.1.0/25

      Côté RPI j'ai a ma disposition iptables qui est capable de gérer du NAT static et côté pfSense ces outils de NAT.
      Bien évidement je ne compte pas faire de NAT pour plus de 126 Host (/25) donc la différence des masque ne devrais pas poser soucis.

      Cela vous semble correct ?

      1 Reply Last reply Reply Quote 0
      • C
        chris4916
        last edited by

        nous sommes bien d'accord que la translation n'est nécessaire que si, coté pfSense, une autre route existe déjà pour un autre réseau 192.168.0.0/24 et/ou que, dans l'autre sens, coté machine à monitorer, une autre route existe pour un autre réseau 172.16.0.0/16, sans quoi ça devrait déjà fonctionner, si je comprends bien

        Jah Olela Wembo: Les mots se muent en maux quand ils indisposent, agressent ou blessent.

        1 Reply Last reply Reply Quote 0
        • L
          Lolight
          last edited by

          Oui chris4916, j'ai besoins d'une translation seulement si mes deux réseau ont le même adressage.

          J'ai un petit soucis qui je pense est externe a la configuration de pfSense peut être saurez vous y répondre.

          Mon tunnel VPN est établis celons le shéma suivant, j'ai encore changé l'adressage, normalement celui ci devrais être le définitif.
          Chaque tunnel avec chaque client aura sont propre sous réseau.

          De mon centOS je peux effectuer un ping jusqu'à la patte VPN côté RPI (172.16.1.2)
          Je peux aussi prendre la main sur le RPI depuis le CentOS en SSH.
          Seulement quand je tente de faire un ping sur la patte en 192.168.0.80 cela ne fonctionne pas.
          J'ai ce type de message : Communication prohibited by filter
          Un peut comme si un FW bloquais mon traffic, j'ai donc effectué un iptables -L sur mon RPI afin de voir si une rêgle n'étais pas présente et .. non aucune.

          Si c'est censé fonctionner j'ai bien un soucis mais je ne sais pas trop ou chercher pour le coup.

          1 Reply Last reply Reply Quote 0
          • C
            chris4916
            last edited by

            • as-tu lu ça ?
            • qui (quoi) te renvoie ce message "communication prohibited by filter" ?
            • à noter également que ICMP peut être bloqué mais d'autres protocoles peuvent être autorisés mais pour le savoir, il faut déterminer quel est l’élément qui filtre.

            Jah Olela Wembo: Les mots se muent en maux quand ils indisposent, agressent ou blessent.

            1 Reply Last reply Reply Quote 0
            • L
              Lolight
              last edited by

              Merci chris4916 pour ta réponse.

              –
              Pour ton liens, je suis dessus j'ai l'impression que son problème est sensiblement le même que le mien.
              La solution qu'il expose si j'ai bien compris et de rajouter une rêgle de filtrage sur sa pfSense box pour que celle ci ne filtre plus son accès SSH.

              Mon soucis est le même sauf que j'ai l'impression que mon filtrage s'effectue côtré RPI non pfSense.

              --
              Si tu as la possibilité de voir le shéma que j'avais mis sur mon précédent post je vais te décrire exactement ou ça passe et ou ça passe pas et se qui me fais déduire que c'est le RPI qui filtre.

              Sens Lan pfSense vers RPI

              Ping de CentOS vers le tunnel VPN –> Ok sur les deux interface (côté pfSense, côté RPI)
              Ping de CentOS vers l'interface LAN du RPI (adressage en 192) --> Non OK
              Retour du ping :

              
              PING 192.168.0.80 (192.168.0.80) 56(84) bytes of data.
              From 80.10.124.140 icmp_sec=3 Packet Filtered
              From 80.10.124.140 icmp_sec=6 Packet Filtered
              From 80.10.124.140 icmp_sec=7 Packet Filtered
              
              

              Ce qui me perturbe dans cette réponse c'est l'adresse 80.10.x.x qui à priori serait une adresse ip public qui ne correspond a aucune des deux côté.

              Sens Lan RPI vers pfSense

              Le RPI a deux patte réseau, son eth0 sur le 192.168 et Tun0 qui correspond au Tunnel VPN.
              Le ping de tun0 vers le tunnel VPN fonctionne.
              Le ping de tun0 vers la machine CentOS du LAN pfSense fonctionne aussi.

              Le ping de eth0 vers le tunnel VPN ne fonctionne pas.
              Commande utilisée :

              ping -I eth0 172.16.1.2
              

              Je pense donc que ça coince ici.
              Soit dans les routes soit dans les iptables.

              iptables :
              Les trois chaine INPUT, FORWARD et OUTPUT sont vide.
              Avec (Policy ACCEPT) qui je suppose veut dire que ça accepte tout par défault.

              Route

              
              Destination                Passerelle             Genmask               Iface
              default                      192.168.0.1          0.0.0.0                  eth0
              172.16.0.0                172.16.1.1            255.255.255.128   tun0
              172.16.1.0                *                          255.255.255.128   tun0
              192.168.0.0              *                          255.255.248.0       eth0
              
              

              Voilà j'espère pas être passé a côté de quelque chose de trop gros.

              PS :
              J'ai ajouté la configuration de mon NAT 1:1 fais côté pfSense.
              Mais je pense que le problème juste au dessus si il n'es pas réglé empêchera le NAT de fonctionner.

              Je me sert de ce site pour me documenter et essayer de trouver un solution actuellement :
              http://fr.wikibooks.org/wiki/Administration_r%C3%A9seau_sous_Linux/Routage

              EDIT :
              Après avoir bidouillé un peux et fait quelques test je viens vous faire un petit feedback.

              J'ai tripatouillé mon iptables pour être sur qu'il ne filtre rien, j'ai donc ajouté des rêgles de filtrage acceptant tout trafic en INPUT OUTPUT et FORARDING.

              Ensuite je me suis aperçus quand si je me place dans le shell de mon CentOS (Côté LAN pfSense) et que je fais un ping vers une adresse type 172.16.54.1 (adresse complètement fictive), il n'y a aucun équipement a cette adresse et j'ai toujours cette fameuse réponse "Packet filtered"

              Du coup je me dis que c'est peut pas du côté RPI que ça coince.
              Je continue de chercher, bonne journée  :)

              1 Reply Last reply Reply Quote 0
              • C
                chris4916
                last edited by

                Tu essaies bien ces "ping" une fois que le tunnel est établi ? (je pense si je m'en tiens aux routes que tu montres)

                Jah Olela Wembo: Les mots se muent en maux quand ils indisposent, agressent ou blessent.

                1 Reply Last reply Reply Quote 0
                • L
                  Lolight
                  last edited by

                  Salut Chris4916.

                  Oui j'ai fais l'ensemble de ces ping avec le tunnel établis.

                  Peut être que le problème viens du routage de mon ping.

                  C'est à dire que j'ai l'impression que mon ping est dirigé vers la sortie Box Internet et non vers le tunnel VPN.

                  traceroute du LAN pfSense la patte RPI du tunnel (tun0)
                  Destination 172.16.1.2

                  
                  1  172.16.1.2 (172.16.1.2)  45.026 ms  42.225 ms  36.892 ms
                  
                  

                  traceroute du LAN pfSense vers 192.168.0.80 patte eth0 du RPI

                  
                   1  192.168.1.1 (192.168.1.1)  1.200 ms  0.956 ms  0.761 ms
                   2  * * *
                   3  * * *
                   4  * * *
                   5  * * *
                  ...
                  
                  

                  On peut voir que le chemin utilisé n'es pas du tout le même.
                  La mon paquet sort par la sortie WAN de mon pfsense et passe par la box.
                  Idéalement il devrait sortir sur la sortie "Ovpn" pour atterrir dans le tunnel et avoir une chance d'arriver sur le réseau distant.

                  Alors je me demande si il faut pas que j'ai une approche différente, j'ai vu certain tutoriel sur le net qui ajoutait une interface virtuelle qu'ils appelais OPT1 par exemple.
                  Je me dis qu'avoir une interface me permettrais d'entrer mes routes manuellement et donc d'être sûr de rediriger mon paquet vers le tunnel.

                  J'essaye de vous faire part de mon raisonnement pour plus de clarté sur les tenant et aboutissant de se que je fais.

                  1 Reply Last reply Reply Quote 0
                  • C
                    chris4916
                    last edited by

                    J'avoue que je n'ai pas fait l'effort de regarder le détail des équipements et des routes que tu décris dans tes différents schémas.
                    Pour comprendre ce qui s'y passe vraiment, il faut que ce soit exhaustif.

                    Ce qu'il faut comprendre, mais je pense que as déjà assimilé ça, c'est que la route vers le site distant (ou son adresse translatée lorsqu'il y a translation) est au départ connue par le serveur VPN local et propagée (ou pas) par celui-ci.
                    Lorsque le serveur VPN local est la route par défaut des éléments connectés à celui-ci, ces équipement n'ont pas besoin de connaître cette route car les requêtes arrivent sur la route par défaut (ici l'extrémité locale du tunnel) qui elle connaît la route vers le site distant au travers du tunnel.

                    Ce qui me conforte dans le fait que j'ai bien fait de ne pas étudier le détail de ton réseau avant, c'est que, sauf si j'ai raté quelque chose, tu sembles introduire maintenant un équipement réseau (en 192.168.1.1) qui ne fait pas partie de ce que tu as décrit avant.

                    Peut-être faut-il commencer par cette description exhaustive du réseau, hors tunnel(s) avant d'aller plus loin ?

                    Je vais quand même tout relire depuis le début  ;)

                    Jah Olela Wembo: Les mots se muent en maux quand ils indisposent, agressent ou blessent.

                    1 Reply Last reply Reply Quote 0
                    • L
                      Lolight
                      last edited by

                      Merci pour ta réponse Chris4916

                      Effectivement, j'introduis la partie hors VPN et je pense que le problème viens de la.
                      J'ai essayé de faire un schéma assez clair de l'infra sans trop détailler bien que ce soit une maquette j'utilise quand même des donnée et des équipement bien réel.

                      J'ai aussi essayé de produire quelque chose de plutôt propre afin de faciliter la compréhension.
                      Je n'ai pas tenus compte du NAT dans le shéma mais idéalement le réseau LAN RPI serais sur un subnet de type 172.168.X.0/25

                      Network.png_thumb
                      Network.png

                      1 Reply Last reply Reply Quote 0
                      • C
                        chris4916
                        last edited by

                        En tous cas, c'est beaucoup (beaucoup) plus clair comme ça.
                        Je vais relire tes précédents posts à la lumière de ce schéma.
                        Ce qui apparaît déjà - visuellement - clair, c'est que pfSense est tr_ès probablement la route par défaut pour les équipement sur le site A alors que la route par défaut sur le site B est plutôt le modem/routeur derrière le switch. Il faut donc que celui-ci sache que la route vers 172.16.0.0/25 passe part le RPI, en tous cas pour les sessions issues du site B.

                        Jah Olela Wembo: Les mots se muent en maux quand ils indisposent, agressent ou blessent.

                        1 Reply Last reply Reply Quote 0
                        • L
                          Lolight
                          last edited by

                          Hello,
                          Content que ça te permette de mieux visualiser les choses.
                          Le but avant de pouvoir atteindre mes host de test étant de pouvoir atteindre l'ip interne configuré sur la patte eth0 de mon RPI (192.168.0.80).
                          J'ai pas la main sur les Hote de test pour le moment, mais leurs rôle sera simplement de répondre à des pings émis du CentOS(côté Lan pfSense).

                          Si il arrive a joindre l'hôte, le retour ne devrais pas poser de problème, enfin j'espère, peut être que je ne vois que la partie émergé de l'iceberg  ;D

                          1 Reply Last reply Reply Quote 0
                          • C
                            chris4916
                            last edited by

                            je pense, comme toi, que si tu arrives à joindre le serveur cible, il n'y a pas de problème de "retour".
                            En revanche, je ne suis pas certain que le ping soit l'arme absolue pour les tests, sauf si tu as une vision précise de ce qui est fait en terme de ICMP (et de règles de FW en général)

                            Dois-je déduire de ton schéma que l'adresse publique de l'équipement réseau situé sur le site B est 80.10.xx.xxx ?

                            Et donc, dans ma compréhension, nous avons:

                            • sur l'équipement en 80.10.xx.xxx (site B) , une redirection vers 192.168.0.80 (interface du RIP) pour le(s) ports utilisés par OpenVPN
                            • ça permet d'établir un tunnel entre les sites A et B (le choix du netmask /25 pour le réseau du tunnel est surprenant  mais pourquoi pas…)
                            • une fois le tunnel établi, pfSense connaît la route vers 192.168.0.0/24 (celle-ci passe par le tunnel donc la GW est 172.16.1.xxx)
                            • les machines sur le réseau A ayant pfSense comme gateway par défaut, les requêtes vers 192.168.0.x vont passer par le tunnel sans qu'il soit besoin de définir de route statique, à la main, de part et d'autre.

                            J'ai juste jusque là ?

                            Si oui:

                            • je ne comprends pas quel est le problème (au delà du fait que la réponse au ping n'est pas nécessairement activée partout
                            • je ne comprends pas pourquoi nous aurions un filtrage de la part de 80.10.xx.xxx (même si physiquement ça passe par là, nous sommes "dans" le tunnel n'est-ce pas ?)

                            Je continue ma lecture ;-)

                            Jah Olela Wembo: Les mots se muent en maux quand ils indisposent, agressent ou blessent.

                            1 Reply Last reply Reply Quote 0
                            • C
                              chris4916
                              last edited by

                              A noter que si tu veux faire des tests de B ver A, il faut que sur la gateway par défaut des machines du réseau B il y ait une route "en dur" qui précise que la route vers 172.16.0.0/25 passe par 192.168.0.80

                              Je suppose que cette gateway est l'interface interne de l'élément qui se situe à la frontière avec le WAN (l'équipement qui a 80.10.124.xxx en adresse publique ;-) )

                              Jah Olela Wembo: Les mots se muent en maux quand ils indisposent, agressent ou blessent.

                              1 Reply Last reply Reply Quote 0
                              • L
                                Lolight
                                last edited by

                                @chris4916:

                                Dois-je déduire de ton schéma que l'adresse publique de l'équipement réseau situé sur le site B est 80.10.xx.xxx ?

                                Et non justement c'est ça qui me fais penser que ça part se perdre dans les méandre du web.
                                Aucune de mes deux ip public ne correspond a cette adresse qui me retourne "Packet filtered"
                                Il y a aussi le traceroute qui me met sur cette voie la.

                                @chris4916:

                                Et donc, dans ma compréhension, nous avons:

                                • sur l'équipement en 80.10.xx.xxx (site B) , une redirection vers 192.168.0.80 (interface du RIP) pour le(s) ports utilisés par OpenVPN

                                Exactement, sauf l'ip public qui ne correspond mais dans l'idée oui c'est ça.

                                @chris4916:

                                • ça permet d'établir un tunnel entre les sites A et B (le choix du netmask /25 pour le réseau du tunnel est surprenant  mais pourquoi pas…)

                                Je compte le changé, j'ai eu un soucis de compréhension en lisant la doc et j'ai cru qu'il fallait que j'alloue un sous réseau pour le tunnel.
                                M'enfin c'est comme ça pour la maquette, j'y touche plus mais quand je le mettrais en place ça changera surement

                                @chris4916:

                                • une fois le tunnel établi, pfSense connaît la route vers 192.168.0.0/24 (celle-ci passe par le tunnel donc la GW est 172.16.1.xxx)

                                Tu pense ?
                                Quand je fais un traceroute depuis le LAN pfSense vers 192.168.0.80 j'obtiens ceci :

                                 1  192.168.1.1  1.220 ms  0.952 ms  0.997 ms
                                 2  * 80.10.124.140  2.332 ms !X *
                                 3  * * 80.10.124.140  1.979 ms !X
                                 4  80.10.124.140  1.928 ms !X * *
                                 5  * 80.10.124.140  1.666 ms !X *
                                 6  * * *
                                 7  * * *
                                
                                

                                Si il passais par le tunnel il devrais me retourner 172.16.0.2 qui est le bout du tunnel.. Non ? Ou au moins 172.16.0.1 (Patte LAN pfSense, puis 172.16.0.2 Patte Tun0 du RPI)

                                @chris4916:

                                • les machines sur le réseau A ayant pfSense comme gateway par défaut, les requêtes vers 192.168.0.x vont passer par le tunnel sans qu'il soit besoin de définir de route statique, à la main, de part et d'autre.

                                J'ai juste jusque là ?

                                Normalement oui mais du coup je suis pas sur avec le traceroute.

                                @chris4916:

                                Si oui:

                                • je ne comprends pas quel est le problème (au delà du fait que la réponse au ping n'est pas nécessairement activée partout
                                • je ne comprends pas pourquoi nous aurions un filtrage de la part de 80.10.xx.xxx (même si physiquement ça passe par là, nous sommes "dans" le tunnel n'est-ce pas ?)

                                Je continue ma lecture ;-)

                                Il n'y a pas de filtrage, il y a bien un FW mais j'ai ajouté une règle pour ne rien filtrer sur la destination 192.168.0.80 donc le RPI.
                                Puis le tunnel est établis donc tout devrais passer dedans.

                                Je fais des ping, cas l'objectif est de faire du monitoring avec notre ami Nagios, et il me semble que le check_host_alive passe par de l'icmp :)

                                Je te donne beaucoup de lecture et peut être un mal de tête, encore et encore merci :)

                                1 Reply Last reply Reply Quote 0
                                • C
                                  chris4916
                                  last edited by

                                  Donc oui il y a bien un truc dans le potage  ;D  car depuis le client VPN, une fois le tunnel établi, la route vers le(s) réseau(x) connecté(s) au serveur devrait être connue et publiée.

                                  Je n'ai pas fait de test avec OpenVPN de pfSense (mais j'en ai déployé plein d'autres  ;)) et si l'advertising est configuré correctement,  alors cette route est publiée.
                                  Dans le cas contraire, pas étonnant que ça ne marche pas.

                                  Pour en revenir au subnet associé au tunnel lui même, dans le cas d'un tunnel qui sert à raccorder 2 réseaux, un netmask en /30 suffirait puisque ça contient 2 hosts, soit un par extrémité du tunnel  ;)
                                  Mais c'est du détail et ne gène en rien le fonctionnement

                                  Une fois que tu as établi le tunnel, vérifie quelles sont les routes de part et d'autre avant de faire plus de tests ;-)

                                  Jah Olela Wembo: Les mots se muent en maux quand ils indisposent, agressent ou blessent.

                                  1 Reply Last reply Reply Quote 0
                                  • L
                                    Lolight
                                    last edited by

                                    Hello,
                                    Je viens vous donner des new, je suis toujours bloqué mais je n'ai plus ce prblème de de "Packet filtered"

                                    Alors niveau VPN j'ai monté un tunel Site to Site avec OpenVpn.
                                    Les configuration sont sensiblement les même.

                                    Mon tunnel est bien établis sur OpenVPN et le client RPI arrive à ping le LAN pfSense.
                                    Pour l'instant c'est comme avant.

                                    Je n'arrive pas à joindre dans l'autre sense mon LAN RPI.
                                    J'arrive quand même à ping le tunnel VPN.

                                    Je pense qu'ici c'est un simple problème de route.
                                    Je vais donc étudier le problème dans le sens LAN pfSense vers LAN RPI

                                    Pour commencer la route par défault de mon LAN pfSense est pfSense.
                                    Donc les paquet devrais être bien acheminé vers le pfSense.
                                    Ensuite niveau pfSense la route pour joindre mon réseau 192.168.0.X est bien le tunnel VPN
                                    Donc la aussi ça devrais être bon.

                                    Niveau route sur le RPI j'ai du mal a saisir si la configuration est bonne ou pas.

                                    
                                    Table de routage IP du noyau
                                    Destination     Passerelle      Genmask         Indic Metric Ref    Use Iface
                                    default         192.168.0.1     0.0.0.0         UG    0      0        0 eth0
                                    10.0.8.0        *               255.255.255.0   U     0      0        0 tun0
                                    172.16.0.0      10.0.8.1        255.255.255.128 UG    0      0        0 tun0
                                    192.168.0.0     *               255.255.248.0   U     0      0        0 eth0
                                    
                                    

                                    Faut-il que j'ajoute une route pour lui dire tout se qui arrive de tun0 a destination de 192.168.0.0/21 doit sortir sur eth0 ?

                                    1 Reply Last reply Reply Quote 0
                                    • C
                                      chris4916
                                      last edited by

                                      le serveur VPN est ici pfSense. Lorsque le client établi le tunnel, le serveur informe le client que la route vers le réseau (LAN) du serveur passe par le tunnel.
                                      Dans ce que tu veux faire, c'est un poste sur le LAN du serveur VPN qui veut joindre un poste sur le LAN du réseau "client"

                                      Ceci nécessite une route décrivant le tunnel comme route pour le réseau client, ce qui semble être le cas.
                                      Peux-tu afficher ici les routes présentes sur pfSense une fois le tunnel établi ?

                                      Jah Olela Wembo: Les mots se muent en maux quand ils indisposent, agressent ou blessent.

                                      1 Reply Last reply Reply Quote 0
                                      • L
                                        Lolight
                                        last edited by

                                        Merci Chris pour l'aide que tu m'as apporté sur Skype/Mail.
                                        Mon problème n'es pas résolus mais je vais reposer les choses dans un nouveau topic avec un titre explicite et une présentation concrète des routes règles FW.
                                        J'ai tellement manipulé tout ça que vous serez perdu et perdrais du temps avec des shéma plus à jour ou mal décris.

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