Supongamos una máquina CEntOS/RHEL/OL 7, que posee dos tarjetas de red.
La primera, apuntando a Internet, con una dirección IP pública, y la segunda apuntando a la red interna. En dicha red interna tenemos un web server corriendo en el puerto 80 que queremos, sea visto desde el mundo exterior, pero por el puerto 10080, sin cambiar el puerto interno 80.
En este caso, debemos configurar un DNAT desde el puerto 10080 de la interfaz externa (enp0s3) hacia el puerto 80 de la máquina interna a través de la interfaz interna (enp0s8).
Veamos cómo tenemos configurado nuestro firewalld, ese módulo que nos permite configurar el firewall en nuestro equipo, desde la línea de comandos:
[root@centos7 ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2019-03-23 01:08:07 -03; 12s ago
Docs: man:firewalld(1)
Main PID: 2401 (firewalld)
CGroup: /system.slice/firewalld.service
└─2401 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid
Mar 23 01:08:05 centos7.hecsa.com.ar systemd[1]: Starting firewalld - dynamic firewall daemon...
Mar 23 01:08:07 centos7.hecsa.com.ar systemd[1]: Started firewalld - dynamic firewall daemon.
[root@centos7 ~]#
Efectivamente, está en ejecución. Veamos qué tiene configurado:
[root@centos7 network-scripts]# firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: enp0s3 enp0s8
sources:
services: ssh dhcpv6-client
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
[root@centos7 network-scripts]#
Esta zona es la adecuada? Veamos:
[root@centos7 network-scripts]# firewall-cmd --get-default-zone
public
[root@centos7 network-scripts]#
Vamos bien, Fidel...
Ahora, crearemos la regla para permitir el forwardeo:
[root@centos7 network-scripts]# firewall-cmd --permanent --zone=public --add-masquerade
success
[root@centos7 network-scripts]# firewall-cmd --permanent --zone="public" --add-forward-port=port=10080:proto=tcp:toport=80:toaddr=10.200.200.10
success
[root@centos7 network-scripts]# firewall-cmd --reload
success
[root@centos7 network-scripts]#
Veamos si todo está bien:
[root@centos7 network-scripts]# firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: enp0s3 enp0s8
sources:
services: ssh dhcpv6-client
ports:
protocols:
masquerade: yes
forward-ports: port=10080:proto=tcp:toport=80:toaddr=10.200.200.10
source-ports:
icmp-blocks:
rich rules:
[root@centos7 network-scripts]#
Como hemos visto, el servidor interno que tiene el http server en el puerto 80 es el que tiene la dirección IP 10.200.200.10.
Listo, en el momento en el que nuestro navegador apunte a la dirección externa:10080, entonces seremos redireccionados a 10.200.200.10:80.
Enjoy!
Enjoy!
No hay comentarios:
Publicar un comentario