Sobes.tech
Junior

Qu'est-ce que le transfert de ports ?

sobes.tech IA

Réponse de l'IA

Le transfert de port (port forwarding) est une technique réseau qui redirige les paquets réseau arrivant sur un port et une adresse IP spécifiques vers une autre adresse IP et port dans le réseau local.

Cela permet aux appareils externes d’accéder aux services lancés sur des appareils internes, généralement cachés derrière NAT (Network Address Translation).

Les principaux types de transfert de port :

  • Statique (Static NAT) : Une règle de transfert fixe qui relie en permanence un port externe à un port interne sur une adresse IP interne spécifique.
  • Dynamique (Dynamic NAT) : Utilisé plus souvent pour le trafic sortant, où un groupe d’adresses IP internes est mappé à une ou plusieurs adresses IP et ports externes de manière dynamique. Dans le contexte du "transfert", on parle généralement de transfert statique pour le trafic entrant.
  • Transfert de port SSH (SSH Port Forwarding) : Utilisation de tunnels SSH pour rediriger le trafic en toute sécurité. Peut être :
    • Local : Redirige un port de la machine locale vers un service distant via SSH.
    • Distant : Redirige un port d’une machine distante vers un service local via SSH.
    • Dynamique (proxy SOCKS) : Crée un proxy SOCKS permettant de tunnelliser le trafic vers plusieurs adresses et ports.

Appliqué pour :

  • Accès aux serveurs web, SSH, FTP, serveurs de jeux et autres services à l’intérieur du réseau local depuis l’extérieur.
  • Mise en place de VPN.
  • Contournement des pare-feux et NAT dans certains scénarios (par exemple, avec SSH).

Exemple de règle sur un routeur (conceptuel) :

Interface entrante IP externe Port externe Protocole IP interne Port interne
WAN 203.0.113.10 80 TCP 192.168.1.100 80
WAN 203.0.113.10 2222 TCP 192.168.1.101 22

Exemple de transfert SSH local :

# Le port local 8080 est redirigé vers le port 80 sur le serveur webserver.example.com
ssh -L 8080:webserver.example.com:80 user@ssh.example.com

Exemple de transfert SSH distant :

# Le port distant 8080 sur ssh.example.com est redirigé vers le port 80 sur la machine locale
ssh -R 8080:localhost:80 user@ssh.example.com