Reenvío de puertos en Centos 7

9

Estoy trabajando en un servidor CentOS 7 y estoy tratando de hacer que JBoss funcione como yo también lo quiero. Estoy ejecutando Java 8 y JBoss (wildly) 8. Los instalé y trabajé en los puertos predeterminados, pero quiero que JBoss funcione en el puerto 80. Sé que puedo hacerlo funcionar en el puerto 80 si ejecutarlo como root, pero sé que no es una buena idea y no quiero ejecutarlo como root de ninguna manera.

He intentado reenviar el puerto 80 al 8080, pero no he conseguido que funcione. Creo que me estoy perdiendo un paso, pero no sé lo que me estoy perdiendo.

Estoy usando firewall-cmd. He abierto ambos puertos (80 y 8080) y he habilitado el enmascaramiento para la zona pública. También he usado este comando para reenviar el puerto

firewall-cmd --zone=public --add-forward-port=port=80:proto=tcp:toport=8080.  

¿Alguna idea de lo que me estoy perdiendo?

zzzsys
fuente
¿Qué tiene de malo ejecutar httpd o nginx delante de él?
Michael Hampton
Nada, estaba tratando de no hacerlo de esa manera si pudiera evitarlo.
zzzsys

Respuestas:

10

Acabo de encontrar una manera que hizo esto posible para mí:

firewall-cmd --zone=public --add-masquerade --permanent
firewall-cmd --zone=public --add-forward-port=port=443:proto=tcp:toport=3001 --permanent
just_user
fuente
1
correcto +1 para ti. Tuve que esforzarme mucho para llegar aquí.
Gurú
FirewallD no se está ejecutando
Steve Yakovenko
@SteveYakovenko, entonces comenzarlo es un buen primer paso.
just_user
0

firewall-cmdEl puerto add-forward-port agregará reglas a la PREROUTINGcadena NAT, que solo es aplicable para paquetes generados externamente. Si está intentando conectarse a localhost (o la IP local del servidor) en el puerto 80 del servidor, fallará porque esos paquetes nunca pasan PREROUTING.

Si se está conectando al puerto 80 desde una fuente externa, entonces el firewall-cmdque enumeró debería funcionar correctamente. Sugeriría verificar que su interfaz esté realmente en la zona 'pública'.

También puede ejecutar el siguiente comando para obtener recuentos de paquetes en la regla y asegurarse de que realmente se esté aplicando:

iptables -t nat -vnL | grep 8080 -B1

Si el recuento de paquetes aumenta en cada intento, entonces el firewall funciona correctamente y tiene algún problema más allá del firewall (¿tal vez una ACL en JBOSS?). Si los paquetes no se incrementan en cada intento, la regla del firewall no se ve afectada en absoluto, lo que sugiere que está en la zona incorrecta o hay alguna otra regla que prevalece sobre la regla de reenvío de puertos.

alienth
fuente
Gracias, lo comprobaré. La conexión es de una fuente externa.
zzzsys