Un proxy HTTP en quelques minutes avec Squid
Pour changer d'adresse IP sur le web, utiliser un VPN n'est pas la solution la plus commode puisque la connexion à celui-ci doit se faire manuellement dans certains cas et tout le trafic y transite, donc en cas de coupure, plus rien ne passe.
Une solution plus transparente est d'utiliser un proxy. Le proxy HTTP, comme son nom l'indique, ne va s'interposer que pour les requêtes HTTP, c'est à dire votre navigateur et les autres logiciels qui utilisent ce protocole et qui supportent les proxies (Spotify, Nextcloud...).
L'avantage du proxy, c'est qu'une fois configuré au niveau du système, il n'y a plus rien à faire. Il n'y a pas de connexion constante au proxy, mais chaque requête passe par lui, de manière transparente.
Dans mon cas, ça m'arrange aussi de ne pas faire passer le traffic d'un jeu vidéo en ligne pour ne pas augmenter la latence par exemple.
Le proxy peut servir à :
- Changer d'adresse IP, pour x raisons (tracage, confidentialité...)
- Résoudre des problèmes de peering, e.g. Youtube
- Utiliser une IP d'un pays étranger pour accéder à du contenu géolocalisé
- Avoir l'IPv6 si le serveur en a une
Avec plus de configuration :
- Restreindre l'accès à certains domaines
- Avoir des logs des requêtes HTTP
- Avoir un cache local sur le proxy pour pallier une connexion lente ou un grand nombre de clients
Dans mon cas, je souhaite juste que mon PC utilise le proxy de manière transparente afin d'avoir une IPv4 et une IPv6 qui ne soient pas liée à ma box @home.
La configuration de Squid est donc très simple, j'accepte juste les requêtes venant de l'IP de ma box, et le tour est joué. Désavantage : si je suis en déplacement, ça ne fonctionne plus. Aussi, j'ai désactivé le cache, qui ne fonctionne de toute façon qu'avec les requêtes HTTP et non HTTPS, autrement dit il m'est peu utile.
Attention, un proxy HTTP ne rajoute pas une couche de chiffrement comme un VPN. Ainsi, le traffic HTTPS restera chiffré, mais le traffic HTTP restera en clair. Il faut donc avoir une certaine confiance à l'hébergeur de votre serveur et à son réseau. Pour faire simple, utilisez un proxy pour les raisons citées plus haut, mais certainement pas pour améliorer votre sécurité.
[caption id="attachment_4045" align="aligncenter" width="650"] Source : What’s the Difference Between a VPN and a Proxy?[/caption]Sous GNU/Linux, il existe un logiciel de proxy/cache HTTP très répandu : Squid. Il est très facile à mettre en place.
Pour installer Squid, rien de plus simple, il suffit d'installer le paquet correspondant à Squid 3.
Sous Debian et Ubuntu :
apt-get install squid3
Ensuite, on sauvegarde la configuration de base :
mv /etc/squid3/squid.conf /etc/squid3/squid.conf.old
Puis on ajoute ceci à /etc/squid3/squid.conf
:
#Port de Squid http_port 443 #utile pour outrepasser des éventuels blocages de port #Hostname du proxy visible_hostname SuperProxy #Masquage IP header HTTP (X-Forwarded-For: unknown) forwarded_for off #Logs access_log /var/log/squid3/access.log cache_log /var/log/squid3/cache.log #Pas de cache cache deny all #Serveurs DNS (ici ceux de FDN) dns_nameservers 80.67.169.12 80.67.169.40 #Cache DNS positive_dns_ttl 5 minutes #réponse positive negative_ttl 5 minutes #réponse en erreur #On attends pas avant de stopper Squid (30s sinon, utilise si cache activé) shutdown_lifetime 0 seconds #On accepte tout le monde (déconseillé) #http_access allow all #Auth par mot de passe (très peu pratique d'après ce que j'ai vu) #auth_param basic program /usr/lib/squid3/basic_ncsa_auth /etc/squid3/passwords #auth_param basic realm proxy #acl authenticated proxy_auth REQUIRED #http_access allow authenticated #Maison (exemple d'ACL, pour autoriser l'accès à une IP) acl maison src 123.123.123.123 http_access allow maison
On redémarre Squid (à adapter suivant votre OS) :
service squid3 restart
Pour vous connecter, il vous suffit de spécifier l'IP et le port de votre serveur. Si vous avez ajouté votre IP dans la configuration, tout devrait se faire de manière transparente !
Ensuite, vérifiez votre IPv4 et IPv6 sur un site comme ipv6-test, et elles devraient être celles de votre serveur.
Source : http://www.squid-cache.org/Doc/config/
L'article Un proxy HTTP en quelques minutes avec Squid a été publié sur Angristan