Changer de passerelle pour une URL précise
-
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 ? -
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 ?
-
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 ?
-
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) -
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é. -
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 :-XQuand 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 ?
-
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. -
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.comD'où l'intérêt d'utiliser le mécanisme d'alias fourni par pfSense
-
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
-
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.228donc une liste différente de celle que je t'ai donné la première fois.
-
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é.
-
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.
-
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.
-
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.pacUne fois que tout fonctionne, il suffit de configurer WPAD au niveau DHCP et DNS pour pousser proxy.pac mais c'est accessoire ;)