Rediriger le trafic entre deux ports en utilisant iptables
Mon but - Exécuter un serveur Web sur le port 3000 et le rendre disponible pour mon réseau via le port 80. La meilleure réponse que j'ai trouvée jusqu'à présent, - Ceci est une doublure agréable.
Mais cela n'affecte que des packages entrants et je voudrais que le client reçoive une réponse du port 80. Le problème suivant est que le serveur Web ne doit être disponible que via le port. 80. Pendant que je respecte cette configuration.
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 3000
Mais cela n'affecte que des packages entrants et je voudrais que le client reçoive une réponse du port 80. Le problème suivant est que le serveur Web ne doit être disponible que via le port. 80. Pendant que je respecte cette configuration.
# Default Chain Policies
iptables -t filter -P INPUT DROP
iptables -t filter -P OUTPUT DROP
iptables -t filter -P FORWARD DROP
# Allow Loopback Access
iptables -t filter -A INPUT -i lo -j ACCEPT
iptables -t filter -A OUTPUT -o lo -j ACCEPT
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 3000
iptables -t nat -A POSTROUTING -p tcp -o eth0 --sport 3000 -j SNAT --to 192.168.0.2:80
iptables -t filter -A INPUT -i eth0 -p tcp --dport 3000 -j ACCEPT
iptables -t filter -A OUTPUT -o eth0 -p tcp --sport 3000 -j ACCEPT
Aucun résultat connexe trouvé
Invité:
Pour répondre aux questions, connectez-vous ou registre
2 réponses
Christophe
Confirmation de:
Serveur Web tel que apache, peut se connecter au port 80, parce qu'il fonctionne comme root. Cela lui permet de se connecter au port privilégié <1024, Mais après cela, il perd des privilèges root Et traite une demande HTTP au nom d'un utilisateur non privilégié. Donc, vous devriez être capable de faire quelque chose comme ça si vous voulez attacher au port 80.
Denis
Confirmation de: