Estoy intentando que Jenkins se ejecute en un servidor RHEL 6. Jenkins está instalado pero no se puede acceder a él debido a las reglas del firewall. Si detengo iptables con service iptables stop
, puedo acceder a Jenkins en mi navegador en el puerto 8080. Con el servicio reiniciado, no puedo acceder a él.
Probé varias formas de agregar una regla a iptables para permitir el tráfico en el puerto 8080, sin éxito.
Aquí está el resultado actual iptables -L -n
con la regla Jenkins/port 8080 en la primera línea de la sección INPUT:
Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:8080
ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 icmp type 8
ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 icmp type 0
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:25
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:25
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:53
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:53
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:53
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp spt:53
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:5353
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:5353
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:5353
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp spt:5353
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:80
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:443
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:443
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:123
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:161
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:161
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:389
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:389
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:636
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:636
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:8140
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:8140
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:111
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:111
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:111
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp spt:111
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:2049
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:2049
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp spt:2049
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:2049
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:4046
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:4046
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:4046
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp spt:4046
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:4045
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:4045
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:4047
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:4047
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:4049
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:514
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:514
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:717
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:717
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:6000
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:6000
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:2435
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:2435
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:4526
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:4526
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:2659
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:2659
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:1521
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:1521
Chain FORWARD (policy DROP)
target prot opt source destination
Chain OUTPUT (policy DROP)
target prot opt source destination
ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 icmp type 0
ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 icmp type 8
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:22
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:25
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:25
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:53
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:53
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp spt:53
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:53
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:5353
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:5353
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp spt:5353
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:5353
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:80
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:443
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:443
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp spt:123
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp spt:161
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:161
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:389
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:389
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:636
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:636
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:8140
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:8140
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:111
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:111
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp spt:111
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:111
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp spt:2049
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:2049
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:2049
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:2049
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:4046
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:4046
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp spt:4046
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:4046
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp spt:4045
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:4045
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp spt:4047
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:4047
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp spt:4049
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:514
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:514
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:6000
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:6000
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:717
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:717
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:2435
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:2435
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:4526
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:4526
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:2659
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:2659
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:1521
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:1521
Respuesta1
Gazareth, si observa que además de las reglas de la cola de ENTRADA de iptables, ha configurado reglas de la cola de SALIDA y el puerto 8080/TCP no está permitido/configurado en la cola de SALIDA.
Como has agregado:
iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
También necesitas agregar:
iptables -I OUTPUT -p tcp --sport 8080 -j ACCEPT
iptables es capaz de mantener reglas de firewall con estado y, como tal, en lugar de mantener dos colas diferentes, también es posible hacer:
iptables -I INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
Tenga en cuenta que cuando lo hace a mano, usa -I para colocar reglas en la parte superior de la cola, y cuando lo hace en un archivo por lotes, normalmente usa iptables -A.
Guardar reglas de firewall de Iptables de forma permanente
Los 25 ejemplos de reglas de IPTables de Linux más utilizadas
Respuesta2
La instalación predeterminada de Jenkins se ejecuta en los puertos 8080 y 8443. Normalmente, los servidores HTTP/HTTPS se ejecutan en los puertos 80 y 443, respectivamente. Pero estos puertos se consideran privilegiados en los sistemas Unix/Linux y el proceso que los utiliza debe ser propiedad del root. No se recomienda ejecutar Jenkins como root; debe ejecutarse como su propio usuario.
Por lo tanto, debe reenviar el tráfico desde el puerto 80/443 al 8080/8443. Debe asegurarse de que iptables haya permitido el tráfico en los 4 puertos.
iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 443 -j REDIRECT --to-port 8443
iptables-save > /etc/sysconfig/iptables
Alternativamente,
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to-destination 127.0.0.1:8080