Capítulo 3. Direcciones, enrutamiento, transporte y cortafuegos

Tabla de contenidos

1. NAT (Network Address Translation)
1.1. Referencias y lecturas recomendadas
2. Cortafuegos: filtrado y tuneles
2.1. Referencias y lecturas recomendadas
3. ftp-proxy: para usar ftp desde la red interna
3.1. Referencias y lecturas recomendadas
4. Ejemplo del uso de PF en una DMZ
4.1. Referencias y lecturas recomendadas
5. Control de ancho de banda
5.1. Referencias y lecturas recomendadas

La funcionalidad de redes de OpenBSD se puede controlar con sysctl y con pf. El primero puede configurarse de manera permanente en el archivo /etc/sysctl.conf y el segundo en /etc/pf.conf (o el archivo especificado en la variable pf_rules de rc.conf.local o rc.conf). Para que pf entre en operación en cada arranque del sistema, agregue a rc.conf.local la línea:

pf=""

Una vez esté operando si hace cambios al archivo de configuración puede lograr que reinicie y vuelva a leerlo con:

# pfctl -f /etc/pf.conf
	    

El archivo de configuración /etc/pf.conf tiene una sintaxis bastante entendible que permite definir variables y tablas. El orden que este archivo debe tener es: configuraciones generales (set, scrub), sección nat/rdr y sección de filtrado (reglas block y pass).

Las secciones de este capítulo explican algunas configuraciones típicas que pueden hacerse con pf y los correspondientes cambios a su archivo de configuración.

1. NAT (Network Address Translation)

Puede emplear NAT para que un computador conectado a una red privada y que se conecte a Internet, sea pasarela de los computadores de la red interna y así estos puedan emplear Internet.

Para activarlo debe estar corriendo pf (como se explica al comienzo de este capítulo) y debe activar reenvío de IP con:

sysctl -w net.inet.ip.forwarding=1
		

o mejor aún de manera más permanente verificando que el archivo /etc/sysctl.conf tenga la línea:

net.inet.ip.forwarding=1	
		

Como el computador que hará NAT debe tener dos interfaces de red una para conectarlo a la red interna y otra para conectarlo a Internet. En el archivo /etc/pf.conf configure las variables ext_if e int_if con los nombres de las interfaces externa (conectada a Internet) e interna respectivamente; después quite el comentario de la línea

nat on $ext_if from !($ext_if) to any -> ($ext_if) 

agregue:

pass in quick on $int_if

y vuelva a cargar la configuración de pf.

1.1. Referencias y lecturas recomendadas

Las siguientes páginas man: pf(4), pfctl(4).

Guía del usuario de PF [PF].