Cómo configurar una VIP (Virtual IP) + NAT en Fortigate

En esta entrada vamos a ver cómo crear una Virtual IP (VIP) en FortiOS (Fortigate) vía CLI y configurarla en modo NAT para mapearla contra una IP de un segmento privado y hacer a su vez port forwarding.

fortigate-virtual-IP-nat

La configuración es muy sencilla. Fortigate está expuesto a Internet a través de la VIP 87.50.202.25 escuchando en el puerto TCP 80. Esa IP hace NAT contra el servidor web cuya IP privada es 10.10.10.100, el cual también escucha por el puerto 80.

Esta configuración queda plasmada en Fortigate del siguiente modo:

show firewall vip
config firewall vip
    edit "vip-webserver01"
        set extip 87.50.202.25
        set extintf "wan1"
        set portforward enable
        set mappedip 10.10.0.100
        set extport 80
        set mappedport 80
    next
end

Es sencillo, se especifica el nombre de la VIP en el firewall, la VIP que se levantará en la interfaz indicada (en este caso wan1, que es la pata conectada a Internet) y se habilita el port forwarding en el NAT, mapeando el puerto externo 80 con el interno 80.

Una vez configurada la VIP es necesario establecer una política de firewall que permita el tráfico por el puerto 80 con origen la interfaz wan1 y destino VIP vip-webserver01 con sus respectivos puertos TCP. El siguiente ejemplo establece esta configuración en la regla nº10 de la política:

config firewall policy
    edit 10
        set srcintf "wan1"
        set dstintf "port5"
            set srcaddr "all" 
            set dstaddr "vip-webserver01" 
        set action accept
        set schedule "always"
            set service "HTTP" 
        set nat enable
    next
end

La configuración está clara, se permite el tráfico con origen la pata de Internet (wan1) desde cualquier dirección y con destino la pata interna (port5) para la VIP vip-webserver01 y el servicio HTTP con NAT habilitado.

Con esta sencilla configuración ya se dispone de una VIP pública que ataca al puerto TCP 80 de un equipo de la red privada.