Admin Libre - Administración de sistemas y redes

Separación de redes en un router OpenBSD
Por Francisco Gaitán el 22 de Agosto de 2023

Parto de un EdgeRouter Lite con OpenBSD y quiero separar el tráfico del puerto LAN en cnmac1 del tráfico de la red Wifi que va conectada a un punto de acceso tonto en cnmac2. El router sale a Internet a través de la interfaz cnmac0 que está configurada como cliente DHCP.

  • 192.168.1.0/24 será la red LAN conectada al puerto marcado como eth1
  • 192.168.2.0/24 será la red LAN conectada al puerto marcado como eth2
  • La red 192.168.2.0/24 no podrá comunicarse con la red 192.168.1.0/24
  • Configuro el punto de acceso en lan con IP estática 192.168.2.1 y puerta de enlace 192.168.2.2
  • La política del cortafuegos será de denegación por defecto
  • El servidor DHCP sirve IPs tanto a la red LAN como a la red Wifi
  • El router OpenBSD sirve DNS a la red interna con unbound-adblock

Lectura recomendada

Configuración

/etc/hostname.cnmac0
inet autoconf
/etc/hostname.cnmac1
inet 192.168.1.1
up
/etc/hostname.cnmac2
inet 192.168.2.2
up
/etc/dhcpd.conf
option  domain-name "local.example.com";
# LAN
subnet 192.168.1.0 netmask 255.255.255.0 {
   option routers 192.168.1.1;
   option domain-name-servers 192.168.1.1;
   range 192.168.1.32 192.168.1.127;
}
# Wifi
subnet 192.168.2.0 netmask 255.255.255.0 {
	option routers 192.168.2.2;
	option domain-name-servers 192.168.2.2;
	range 192.168.2.32 192.168.2.127;
}
/etc/rc.conf.local
[...]
dhcpd_flags=cnmac1 cnmac2
[...]
/etc/sysctl.conf
net.inet.ip.forwarding=1
/etc/pf.conf
lan = "192.168.1.0/24" 
eth1 = "cnmac1"
eth2 = "cnmac2"

set block-policy drop
set loginterface egress
set skip on lo 

match in all scrub (no-df random-id max-mss 1440)
match out on egress inet from !(egress:network) to any nat-to (egress:0)
antispoof quick for { egress, $eth1, $eth2 } 
block in quick log from { no-route urpf-failed }

block log all 
pass out inet
pass in on { $eth1, $eth2 } inet
block in on $eth2 from any to $lan

Destacado

Contacto

Si has encontrado algún error o quieres comentarme algo mándame un correo a webmaster@adminlibre.org