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

    Changer de passerelle pour une URL précise

    Scheduled Pinned Locked Moved Français
    16 Posts 3 Posters 4.2k 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.
    • S
      Salamafet
      last edited by

      Bonjour à tous,

      Je possède un serveur faisant tourner PfSense en version 2.3.2

      Je redirige tout le trafic de mon réseau vers un VPN (private internet access). A cause du VPN je ne peux plus utiliser Netflix. J'aimerais que le trafic sortant vers Netflix utiliser ma passerelle WAN et non VPN.

      WAN : Simple Freebox en mode bridge

      LAN : rien de spécial 192.168.10.1/24

      WIFI : cisco meraki connecté sur le lan

      Règles NAT : outbound en manuel avec deux règles en plus pour le VPN

      Règles Firewall : tout le trafic peut sortir librement

      Packages ajoutés : squid et squidguard

      Autres fonctions assignées au pfSense : VPN OpenVPN (private internet access)

      Question :
      Comment puis-je faire pour que tout le trafic ce dirigeant vers *.netflix.com passe directement par la passerelle WAN et non le VPN ?

      Pistes imaginées:
      J'ai pensé à deux choses:

      • Comme Pfsense ne peut nativement pas faire des règles directement sur des URLs, j'ai pensé utiliser squidguard. Mais je n'ai rien trouvé pour juste changer de passerelle.

      • J'ai pensé aussi faire un Aliase contenant toutes les IPs de Netflix mais ils en possèdent une bonne centaine et je crois que les serveurs de streaming n'utilisent pas les mêmes adresse que les serveurs WEB.
        Quand je fais un ping vers leur serveur, je n'obtiens jamais la même IP et même quelques fois pas le même nom de domaine.

      Merci de votre aide :)

      1 Reply Last reply Reply Quote 0
      • J
        jdh
        last edited by

        Utilisation du formulaire : peut mieux faire : packages installés ? des pistes envisagées : bien d'en avoir écrit mais la réflexion est parfois erronée, et incomplète.

        1er point : Il est clair que pfsense peut permettre de passer soit par wan soit par vpn … à des machines distinctes de pfSense !

        2me point : Dès qu'il est question d'url, il faut penser 'proxy' c'est à dire Squid ! Et Squid sait passer par d'autres proxy ... de façon sélective !

        Idée : créer 2 proxy Squid : le premier dira trajet normal sauf pour telles url = passage par le second + pfsense saura diriger le flux de l'un et le flux de l'autre différemment.

        Albert EINSTEIN : Si vous ne pouvez pas l'exprimer simplement, c'est que vous ne le comprenez pas assez bien. (If you can’t explain it simply, you don’t understand it well enough.)

        1 Reply Last reply Reply Quote 0
        • S
          Salamafet
          last edited by

          Courtoisie : Peut mieux faire

          Merci de ton aide mais si j'ai été flou tu l'ai tout autant.

          Si je m'en réfère à ton idée, j'ai plusieurs questions:
          Comment peut ton créer deux proxy sur le même serveur ? Est-ce possible ?
          Comment peut on paramétrer le proxy pour qu'il passe par une passerelle bien distincte ?

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

            Pour la partie proxy:

            Habituellement ce genre de chose se fait au niveau du fichier proxy.pac qui dit aux navigateurs, à conditions qu'ils soient configurés pour utiliser proxy.pac, quel proxy utiliser en fonction de l'URL.

            Pour le faire de cette manière tu as 2 choix:
            Il faut dans tous les cas écrire un fichier proxy.pac que tu sers au travers d'un serveur web, dans lequel tu décris "si c'est netflix, alors proxy 1, sinon direct"  (ou sinon proxy2 si c'est ton choix de design)
            Ensuite, tu peux soit configurer l'URL du proxy.pac dans ton navigateur soit t'appuyer sur WPAD.

            La vraie difficulté derrière ta question, c'est que tu rediriges tout ton trafic vers un tunnel VPN. Cette redirection ne se fait pas sur la base d'URL mais soit de route par défaut soit de policy route.

            C'est à ce niveau qu'il faut dire, en fonction de où est déployé ton proxy : "ce qui vient du proxy ne passe pas par le tunnel VPN"
            ce qui à priori exclu le proxy sur pfSense.

            Dans le cas ou tu veux utiliser le proxy de pfSense, ça dépend de comment tu fais la redirection vers ton VPN:

            • si c'est une route par défaut, je ne sais pas faire (sans y réfléchir un peu plus
            • si c'est une policy route sur l'interface LAN, il faut exclure la destination "pfSense / port du proxy" de cette policy route

            ;)

            Dans la configuration que tu utilises, tu ne peux pas, via l'interface graphique, configurer 2 proxy ou même 2 ports différents sur le proxy de pfSense.

            Quelle est ta conf openvpn ? client ou site-to-site ?

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

            1 Reply Last reply Reply Quote 0
            • S
              Salamafet
              last edited by

              Merci pour ta réponse chris

              Ma config OpenVPN est en mode client P2P.

              C'est beaucoup plus compliqué que ce que je pensais.

              Est-il possible de modifier l'entré DNS de netflix.com pour qu'elle pointe vers un serveur qui lui redirige tout le flux vers ce qui était demandé de base ?

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

                @Salamafet:

                C'est beaucoup plus compliqué que ce que je pensais.

                en effet car tu cherches à faire 2 choses qui sont, en quelque sorte, contradictoires:

                • rediriger tout ton flux externe via un tunnel VPN
                • diriger le flux HTTP pour quelques URL vers une gateway différente.

                Comme le dit jdh, la bonne solution dès qu'il s'agit de HTTP, c'est de regarder ce que tu peux faire avec un proxy car c'est ce type de service qui comprend HTTP, alors que le FW ne s'occupe que de TCP & UDP  (pour simplifier)

                Il est cependant possible, avec pfSense, de faire des règles de FW qui s'appuient sur des fqdn grace à la fonctionnalité "alias" qui va, à fréquence régulière, convertir le fqdn en une liste (à jour) d'adresse IP.
                Comme c'est asynchrone, c'est nécessairement faux, à un instant donné, mais le fonctionnement reste malgré tout acceptable.

                Ce qu'il faut que tu clarifies, c'est l'usage que tu as de ton proxy et l'impact du fonctionnement du proxy "sur pfSense". le fait que ton proxy soit sur pfSense ne te permet pas, par exemple, de configurer de "policy routing" pour ce qui est issu du proxy. au ieux tu pourrais avoir des policy routing pour le flux qui va vers le porxy (donc l'IP du FW sur le  port du proxy)

                Est-il possible de modifier l'entré DNS de netflix.com pour qu'elle pointe vers un serveur qui lui redirige tout le flux vers ce qui était demandé de base ?

                Non ce n'est pas aussi simple.
                Encore une fois, il faut bien comprendre comment fonctionne ton proxy: si tu es en mode transparent, c'est le client qui fait la requête DNS. Si tu es en mode explicite, c'est le proxy qui fait la requête DNS. Et la redirection de flux que tu imagines n'est pas du tout aussi simple qu'il y parait  8)

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

                1 Reply Last reply Reply Quote 0
                • S
                  Salamafet
                  last edited by

                  Merci pour ta réponse.

                  Je comprend un peu mieux l'histoire des proxy maintenant.
                  Je crois que je vais abandonner ce que je voulais faire.

                  Avec les Alias j'avais essayé mais Netflix redirige constamment vers des serveurs différents.
                  Si dans mon alias j'indique "netflix.com" les sous domaine seront aussi pris en compte ? J'ai essayé avec un wildcard mais ce n'est pas accepté.

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

                    @Salamafet:

                    Avec les Alias j'avais essayé mais Netflix redirige constamment vers des serveurs différents.
                    Si dans mon alias j'indique "netflix.com" les sous domaine seront aussi pris en compte ? J'ai essayé avec un wildcard mais ce n'est pas accepté.

                    Il y a quelque chose que tu n'as pas compris, je pense avec les alias: dans le cas qui nous intéresse, l'alis qu'il faut utiliser c'est un alias de type "host".
                    pfSense va résoudre ce nom (fqdn) et convertir cet alias en une ou plusieurs adresses IP.

                    Il s'agit là d'un host name (fully qualified domain name)
                    la notion de sous-domaine, lorsque parle de DNS, c'est une zone et pas un host.
                    Je sais que la littérature (principalement Microsoft) parle de sous-domaine en évoquant la partie gauche de l'URL mais c'est, de mon point de vue tout au moins, stupide.
                    à la partie gauche de l'URL correspond à la limite un enregistrement de type A dans le DNS et de préférence un enregistrement de type CNAME, donc rien qui ressemble à un domaine ou un sous-domaine.
                    C'est bien dommage d'utiliser cette terminologie qui rend les choses confuses  :-X

                    Quand aux wildcard, effectivement ça ne marche pas mais c'est un peu normal car *.domain.com répond aux requêtes pour des enregistrements de type A ou CNAME qui justement n'existent pas.
                    Je ne pense pas qu'un alias pour un nom de domaine et nom pas un host fonctionne.

                    mais au bout du compte, quel URL vises-tu ?

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

                    1 Reply Last reply Reply Quote 0
                    • S
                      Salamafet
                      last edited by

                      J'aimerais que les URL suivantes passent directement par le WAN:

                      • www.eu-west-1.prodaa.netflix.com
                      • www.netflix.com
                      • netflix.com
                      • nflxvideo.net
                      • nflximg.net
                      • nflxext.com

                      J'ai déjà créé une règles. Je l'ai testé avec le site http://monip.org et elle fonctionne bien.
                      Mais Netflix détecte toujours mon VPN.

                      C'est juste Netflix qui fonctionne du façon très bizarre. Quand je ping www.netflix.com je n'ai jamais la même adresse IP.
                      Et même l'url retourné quand je ping de chez Free ou OVH n'est pas la même.

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

                        @Salamafet:

                        C'est juste Netflix qui fonctionne du façon très bizarre. Quand je ping www.netflix.com je n'ai jamais la même adresse IP.
                        Et même l'url retourné quand je ping de chez Free ou OVH n'est pas la même.

                        Rien de bizarre, c'est juste parce qu'il y a plusieurs CNAME pour le même fqdn:

                        nslookup www.netflix.com

                        Non-authoritative answer:
                        Name:    www.eu-west-1.prodaa.netflix.com
                        Addresses:  2a01:578:3::2e89:5dcd
                                  2a01:578:3::b022:66ee
                                  2a01:578:3::b022:b6e3
                                  2a01:578:3::b022:b816
                                  2a01:578:3::2e33:ae25
                                  2a01:578:3::2e89:78e2
                                  2a01:578:3::4f7d:7f6d
                                  2a01:578:3::b022:bc7d
                                  79.125.16.251
                                  79.125.23.223
                                  54.247.77.74
                                  79.125.11.109
                                  54.247.92.196
                                  176.34.114.234
                                  54.247.82.197
                                  176.34.116.110
                        Aliases:  www.netflix.com
                                  www.geo.netflix.com

                        D'où l'intérêt d'utiliser le mécanisme d'alias fourni par pfSense

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

                        1 Reply Last reply Reply Quote 0
                        • S
                          Salamafet
                          last edited by

                          J'ai pas pensé à faire un nslookup.

                          J'avais quelques adresses mais pas toutes.

                          Même en les ajoutant j'ai toujours le même problème. Je me demande si le lecteur (silverlight) ne ce connecte pas ailleurs.

                          Je vais voir si je peux choper autre chose avec un netstat

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

                            @Salamafet:

                            J'ai pas pensé à faire un nslookup.
                            J'avais quelques adresses mais pas toutes.

                            Attention, nslookup donne une indication mais uniquement une indication:

                            1 - netflix.com est géré par les DNS de Google (bien sûr  ;))
                            à www.netflix.com correspond en fait, dans le DNS, www.geo.netflix.com, lequel est associé, puisqu'il est possible en terme de DNS, de renvoyer une réponse en fonction de l'IP du client DNS, à différents CNAME répartis par zone géographique (tient, ça tombe bien, ils ont appelé leur CNAME geo  :D)
                            Donc www.geo.netflix.com peut être résolu comme www.XXXXX.prodaa.netflix.com  où XXXXX correspond à une zone géographique dans le monde.
                            Par exemple eu-west-1 pour l'Europe de l'ouest ou us-west-2 pour les USA côte ouest.

                            Une fois que tu as compris cet aspect des choses, tu comprends en même temps l'intérêt, en terme de performance, de ne pas passer par un serveur VPN qui serait dans une autre région.
                            Comme la plupart des utilisateurs de serveur VPN "privé" s'en servent justement comme anonymizer, le réseau de serveur montre une connexion pouvant jsutement venir de n'importe où ou presque dans le monde.

                            2 - il semble que tu as un seul client Netflix

                            Même en les ajoutant j'ai toujours le même problème. Je me demande si le lecteur (silverlight) ne ce connecte pas ailleurs.

                            ce qui devrait donc simplifier les choses si tu sais, au niveau de pfSense, faire un bypass du VPN pour un client particulier, donc au niveau de la source plutôt qu'essayer un truc basé sur la destination (DNS).
                            Je n'ai pas vraiment réfléchi à la question dans ce sens car je ne sais pas quel est le design de ton infra.

                            Je vais voir si je peux choper autre chose avec un netstat

                            Bon courage  ;D
                            Non, ne perd pas de temps avec ça.
                            Il sera bien plus efficace de réfléchir avec un papier et un crayon que d'essayer d'établir des listes d'IP ou je ne sais quoi d'autre.
                            Une fois que tu as compris comment ça marche (voir mon explication au dessus), tu comprends normalement rapidement que construire à la main la liste des IP est vaqin, surtout que ça peut changer tous les jours.

                            Puisqu'on parle d'URL, la solution proxy reste toujours une bonne piste mais pour cela, il faut un peu avancer sur le design et l'usage du proxy  8)

                            Par exemple pour compléter ma réponse, si tu résous www.netflix.com depuis les US (côte Ouest), nslookup va renvoyer :
                            54.203.247.23
                            54.203.244.60
                            54.214.18.64
                            54.214.11.135
                            54.212.249.168
                            54.214.0.198
                            54.212.255.204
                            54.214.17.228

                            donc une liste différente de celle que je t'ai donné la première fois.

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

                            1 Reply Last reply Reply Quote 0
                            • S
                              Salamafet
                              last edited by

                              Faire le bypass d'un client ca fonctionne sans problème mais je ne veux pas que le toutes les connexions passent directement par mon WAN.
                              Le problème c'est de devoir activer ou désactiver la règle à chaque fois.

                              Le netstat ma quand même donner d'autres URL depuis les quelles j'ai pu choper d'autres adresse IP.

                              En ce qui concerne les performances je n'ai pas de problème à ce niveau la.

                              La seul solutions que j'ai trouvé pour le moment c'est de connecter à un serveur VPN local le ou les périphériques qui souhaite aller sur Netflix.
                              Bien sur Pfsense est configuré pour laisser passer ce serveur directement sur le WAN.
                              L'avantage c'est que en deux clique je peux changer d'adresse IP. Mais ca reste compliqué pour les moldus.

                              Je crois que je ne vais pas perdre de temps avec la solution Proxy qui est un peu trop haut level pour moi.

                              En tout cas merci de ton aide et du temps que tu as consacré.

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

                                Avec un proxy (externe) et un proxy.pac, la solution n'est pas très compliquée:

                                le proxy.pac dit:

                                • pour netflix, utiliser le proxy A
                                • pour le reste, DIRECT  (on suppose ici qu'on utilise pas de proxy pour les autres flux HTTP)

                                le serveur "proxy A" est un serveur interne sur ton LAN.
                                Tu crées une règle dans pfSense pour que cette IP source n'utilise pas la GW VPN mais sorte en direct.

                                Et si tous tes navigateurs sont configurés pour utiliser proxy.pac, ils vont passer par le VPN pour tout sauf netflix.

                                Si tu trouves pénible de devoir configurer proxy.pac sur chaque browser, alors la solution simple est WPAD.

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

                                1 Reply Last reply Reply Quote 0
                                • S
                                  Salamafet
                                  last edited by

                                  Le but c'est de n'avoir rien à faire sur les périphériques client.

                                  Donc en gros si quelqu'un ce connecte sur mon réseau même pour seulement 1 heure, il faut qu'il puisse y accéder sans rien configurer.

                                  Je vais regarder WPAD.

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

                                    @Salamafet:

                                    Le but c'est de n'avoir rien à faire sur les périphériques client.
                                    Je vais regarder WPAD.

                                    Je te suggère de ne pas te précipiter  8)
                                    En effet, dans WPAD, ce qui est important, c'est le A (pour Auto): WPAD ne sert qu'à automatiser la configuration du proxy sur les navigateurs clients.
                                    C'est bien ce que tu recherches mais garde à l'esprit que cette automatisation n'a de sens que si tout le reste fonctionne.

                                    La bonne démarche consiste donc à configurer le proxy et générer un proxy.pac pour s'assurer que le fonctionnement obtenu est bien celui auquel tu t'attends.
                                    Le point clé du design, ce n'est pas WPAD mais proxy.pac

                                    Une fois que tout fonctionne, il suffit de configurer WPAD au niveau DHCP et DNS pour pousser proxy.pac mais c'est accessoire  ;)

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

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