Estoy intentando configurar un servidor NAT básico. Quiero que todo el tráfico proveniente del mundo exterior al servidor NAT sea redirigido a otra máquina, donde tengo un servicio lipcap ejecutándose para analizar este tráfico.
Probé -redirect_port y -redirect_address en la parte natd_flags en rc.conf pero nada funciona... ¿alguna idea?
Respuesta1
natd
Necesidades de espacio de usuario ipfw
habilitadas. IPFW captura paquetes y los redirige a las natd
direcciones que traducen. Pero hoy en día puedes usar kernel nat integrado en ipfw.
Habilitemos el motor IPFW
# /etc/rc.conf
. . . . .
gateway_enable="YES"
firewall_enable="YES"
firewall_nat_enable="YES"
firewall_script="/etc/rc.ipfw"
. . . . .
Y configuremos la redirección del kernel:
# /etc/rc.ipfw
. . . . .
oip="1.2.3.4" # Outer IP looking to the internet
tip="10.0.0.100 # Target host
ipfw nat 1 config redirect_addr ${tip} ${oip}
. . . . .
Eso es todo.
Respuesta2
El firewall PF tiene NAT y redirección incorporada. Agregue esto a /etc/rc.conf:
gateway_enable="YES"
pf_enable="YES"
Y configurar el firewall. Agregue estas líneas a /etc/pf.conf:
ext_if=em0
ext_addr = N.N.N.N (your external IP)
int_if=em1
int_net=10.0.0.0/8
int_addr=10.0.0.1
libcap_host=10.0.0.2
nat on $ext_if from $int_net to any -> $ext_addr
rdr on $ext_if from any to $ext_addr -> $libcap_host
La regla NAT hará lo que usted espera: enviar todo el tráfico generado en su red de Internet al mundo a través de la IP externa de la puerta de enlace. La regla rdr enrutará todas las conexiones entrantes a su host de destino.