2010-08-26 9 views
0

j'ai utiliséiptables redirigent cennections locales

iptables -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-ports 8085 

pour rediriger toutes les requêtes HTTP vers jboss serveur sur le port 8085. Cela fonctionne bien si les paquets proviennent de l'extérieur. Si j'essaie d'ouvrir à partir de la même machine, cela ne fonctionne pas. Telnet donne la connexion refusée.

Comment puis-je rediriger les connexions locales?

travail sur CentOS, noyau 2.6.18 x64

Répondre

2

paquets locaux généré ne pas revenus sur eth0. vous devez faire ceci:

iptables -t nat -A OUTPUT --src 0/0 --dst 127.0.0.1. -p tcp --dport 80 -j REDIRECT --to-ports 8085 

et

To redirect locally generated packets, you must have the kernel option CONFIG_IP_NF_NAT_LOCAL set to Y 

de: http://wiki.debian.org/Firewalls-local-port-redirection

+0

Merci pour le lien utile, il avait l'explication complète qui m'a aidé à réaliser que les choses ne fonctionneront pas si le noyau n'a pas été compilé avec CONFIG_IP_NF_NAT_LOCAL = y. –

0

également pour permettre de fonctionner avant que la commande

sysctl -w net.ipv4.ip_forward=1