Je veux rediriger tout le trafic du port 443 vers le port interne 8080. J'utilise cette configuration pour iptables:
iptables -t nat -I PREROUTING --source 0/0 --destination 0/0 -p tcp \
--dport 443 -j REDIRECT --to-ports 8080
Cela fonctionne pour tous les clients externes. Mais si j'essaie d'accéder au port 443 à partir de la même machine, j'obtiendrai une erreur de connexion refusée.
wget https://localhost
Comment puis-je étendre la règle iptables pour rediriger également le trafic local?
Réponses:
PREROUTING n'est pas utilisé par l'interface de bouclage, vous devez également ajouter une règle OUTPUT:
la source
Pour rediriger les paquets de localhost vers une autre machine, la règle:
fonctionnera, MAIS vous devez également activer cette option dans le noyau:
Sans cette configuration du noyau, cela ne fonctionnera pas.
la source
Que dis-tu de ça?
la source
Vous avez dit que vous obtenez une erreur de connexion refusée . Cela signifie qu’aucun processus local n’écoute sur le port auquel vous essayez de vous connecter! Pour vérifier les processus d'écoute, utilisez la commande:
Après avoir appliqué la règle, vous devez avoir un processus à l'écoute sur le port 8080 pour vous connecter.
Il semble que vous devriez plutôt avoir la règle suivante:
Rappelez-vous que vous envoyez depuis l'hôte local. Donc, vous devez rediriger le paquet de sortie.
la source