Le transfert de port local ne fonctionne pas lorsque seul le port 22 est autorisé par Iptables

J'essaie de réaliser un transfert de port local en utilisant le tunneling SSH.

Machine 1: les règles d'iptables sont:

Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy DROP) target prot opt source destination ACCEPT tcp -- anywhere anywhere tcp dpt:ssh 

Machine 2: server ssh (sshd) acceptant le trafic depuis le port 22.

Commande SSH:

ssh lub2@10.0.2.6 -L 8080: 209.188.89.221: 80

Où: 209.188.89.221 est une page Web HTTP random, 10.0.2.6 est l'adresse IP de Machine 2 (et lub2 le nom d'user)

De cette façon, je serais capable d'accéder à la page Web (209.188.89.221) en utilisant http://127.0.0.1:8080 en tant qu' URL (à partir de Machine 1), mais elle ne nécessite aucun résultat.

En bref, si j'ouvre tous les ports de Machine 1, le renvoi de port fonctionne mais lorsque j'ouvre seulement 22 (et tous les autres proches), il ne l'est pas. Avez-vous une explication?

À votre santé

Votre string OUTPUT dépose des packages sur tous les ports sauf 80. Lorsque vous chargez la page Web à l' http://127.0.0.1:8080 , sa destination est le port 8080, ce qui n'est pas autorisé dans la string OUTPUT .

Vous pouvez autoriser tout trafic depuis / vers localhost avec ces lignes:

 iptables -I INPUT 1 -i lo -j ACCEPT iptables -I OUTPUT 1 -o lo -j ACCEPT iptables -I INPUT 1 -i lo -j ACCEPT iptables -I INPUT 1 -i lo -j ACCEPT iptables -I OUTPUT 1 -o lo -j ACCEPT 

Cela n'affecte pas la security externe de votre ordinateur.