Le proxy tunnel est une méthode de proxy réseau courante, qui peut nous aider à cacher notre véritable IP sur Internet, à contourner les restrictions géographiques et à améliorer la protection de la vie privée. Dans cet article, nous allons détailler comment construire rapidement un proxy tunnel. Avec quelques étapes simples, vous pouvez avoir votre propre serveur proxy tunnel.
Qu'est-ce qu'un agent tunnel ?
Le proxy tunnel est un type de proxy qui transfère des données par le biais d'un protocole de tunnelisation tel que SSH. Il fait passer votre trafic réseau par un serveur intermédiaire qui cache votre véritable adresse IP et peut crypter les données pour une sécurité et une confidentialité accrues.
préliminaire
Avant de commencer à construire l'agent tunnel, vous devez préparer les outils et les ressources suivants :
- Un serveur (il peut s'agir d'un serveur en nuage ou d'un serveur local)
- Accès SSH au serveur
- Connaissance de base des opérations en ligne de commande sous Linux
Étape 1 : Installation du serveur SSH
Tout d'abord, nous devons installer un serveur SSH sur le serveur. La plupart des distributions Linux sont livrées avec leur propre serveur SSH, et si vous ne l'avez pas installé, vous pouvez utiliser la commande suivante pour l'installer :
# Pour les systèmes Debian/Ubuntu
sudo apt-get update
sudo apt-get install openssh-server
# Pour les systèmes CentOS/RHEL
sudo yum install openssh-server
sudo systemctl start sshd
sudo systemctl enable sshd
Étape 2 : Configuration du tunnel SSH
Ensuite, nous devons configurer un tunnel SSH pour transférer le trafic. En supposant que vous disposiez d'un ordinateur local et d'un serveur distant, nous devons faire transiter le trafic de l'ordinateur local vers le serveur distant.
Exécutez la commande suivante sur l'ordinateur local :
ssh -N -D 8080 user@remote_server_ip
Où `-N` signifie ne pas exécuter de commandes distantes, `-D 8080` signifie écouter sur le port 8080 localement et transmettre le trafic à travers le serveur distant, et `user@remote_server_ip` est votre information de connexion au serveur distant.
Étape 3 : Configurer le proxy du navigateur
Après avoir effectué les étapes ci-dessus, nous devons configurer le proxy dans le navigateur pour accéder à l'internet via le tunnel SSH. Vous trouverez ci-dessous les étapes de la configuration en utilisant le navigateur Firefox à titre d'exemple :
- Ouvrez Firefox, cliquez sur le bouton de menu dans le coin supérieur droit et sélectionnez "Options".
- Dans l'onglet "Général", descendez jusqu'à "Paramètres du réseau" et cliquez sur "Paramètres".
- Sélectionnez "Manual Proxy Configuration", entrez `127.0.0.1` pour "SOCKS Host" et `8080` pour le numéro de port.
- Assurez-vous que le protocole "SOCKS v5" est sélectionné et cliquez sur "OK" pour enregistrer les paramètres.
Étape 4 : Vérifier que le proxy est en vigueur
Une fois la configuration terminée, vous pouvez visiter des sites de recherche d'adresses IP (tels que ipinfo.io) pour vérifier que le proxy fonctionne. Vous devriez constater que l'adresse IP affichée est celle du serveur distant, et non votre IP locale.
Construire un tunnel proxy avec Python
Si vous préférez l'approche programmatique, vous pouvez également utiliser Python pour construire un proxy tunnel. Voici un exemple simple :
import paramiko
from sshtunnel import SSHTunnelForwarder
server_ip = 'remote_server_ip' (adresse IP du serveur distant)
server_port = 22
username = 'votre_nom_d'utilisateur'
password = 'votre_mot_de_passe'
local_bind_address = ('127.0.0.1', 8080)
remote_bind_address = ('127.0.0.1', 8080)
avec SSHTunnelForwarder(
(server_ip, server_port), avec
ssh_username=nom d'utilisateur, ssh_password=mot de passe
ssh_password=mot_de_passe, ssh_bind_address, local_bind_address
adresse_de_liaison_locale=adresse_de_liaison_locale,
adresse_de_liaison_à_distance=adresse_de_liaison_à_distance
) comme tunnel.
print("Le tunnel est ouvert")
# Ajoutez votre code ici pour utiliser un proxy pour les requêtes réseau
# Exemple : requests.get("http://example.com", proxies={"http" : "socks5://127.0.0.1:8080"})
résumés
Avec les étapes ci-dessus, vous avez réussi à construire un agent de tunneling. Que ce soit en ligne de commande ou par programmation, vous pouvez facilement configurer et utiliser l'agent. J'espère que cet article vous aidera à mieux comprendre et construire un agent tunnel, si vous avez d'autres questions, n'hésitez pas à les poser !