Quiero redirigir todo el tráfico desde el puerto 443 al puerto interno 8080. Estoy usando esta configuración para iptables:
iptables -t nat -I PREROUTING --source 0/0 --destination 0/0 -p tcp \
--dport 443 -j REDIRECT --to-ports 8080
Esto funciona para todos los clientes externos. Pero si estoy tratando de acceder al puerto 443 desde la misma máquina, obtendré un error de conexión rechazada.
wget https://localhost
¿Cómo puedo extender la regla de iptables para redirigir el tráfico local también?
Respuestas:
PREROUTING no es utilizado por la interfaz de bucle invertido, también debe agregar una regla de SALIDA:
fuente
Para redirigir paquetes de localhost a otra máquina, la regla:
funcionará, PERO también debe habilitar esta opción en el núcleo:
Sin esa configuración del núcleo no funcionará.
fuente
¿Qué tal esto?
fuente
Dijiste que recibías un error de conexión rechazada . ¡Esto significa que no hay proceso local escuchando en el puerto al que está intentando conectarse! Para verificar los procesos de escucha, use el comando:
Después de aplicar la regla, debe tener un proceso escuchando en el puerto 8080 para conectarse.
Parece que debería tener la siguiente regla en su lugar:
Recuerde que está enviando desde el host local. Por lo tanto, debe redirigir el paquete de salida.
fuente