Emergencia... ¡OpenBSD!

- ¡Rápido!, necesitamos un equipo que reparta internet entre 10 clientes, ya sabes como va esto... ¡para ayer!.
- (pensando) ¡Cáspitas! me pillan en fuera de juego, no he hecho los deberes... hums (click), interesante (click), probemos:
$ date
Fri Nov 24 17:19:46 CET 2006
$ wget -mc ftp://ftp.zedz.net/pub/OpenBSD.snapshot/openbsd40-i386-06-11-24.iso
...
- (hablando con mis entrañas) Mientras tanto prepara el CD en la grabadora, ¡malditos insensatos!, nunca me gustaron demasiado estos plásticos... Al menos es Verbatim :D. ¿Cómo va la descarga?
$ wget -mc ftp://ftp.zedz.net/pub/OpenBSD.snapshot/openbsd40-i386-06-11-24.iso
...
Length: 249,708,544 (238M)

100%[====================================>] 249,708,544  605.12K/s    ETA 00:00

$ burncd -f /dev/acd0 -s 16 -e data openbsd40-i386-06-11-24.iso fixate
next writeable LBA 0
writing from file openbsd40-i386-06-11-24.iso size 243856 KB
written this track 243856 KB (100%) total 243856 KB
$ date
Fri Nov 24 17:31:09 CET 2006
- Rotulamos y arrancamos, a ver si se porta. Nada no arranca... vale, a la segunda, suele pasar.
- ¡Instalado!, reiniciamos...
$ ssh root@192.168.1.58 -C
Welcome to OpenBSD: The proactively secure Unix-like operating system.
Terminal type? [xterm]
# date
Fri Nov 24 17:39:16 CET 2006
- Vale, sé que eso no se hace, ¡pero hay prisa c*j*nes! a lo que vamos, habilitamos NAT en sysctl y descomentamos en /etc/sysctl.conf para próximos arranques:
# sysctl net.inet.ip.forwarding=1
# grep ip.forwarding /etc/sysctl.conf
net.inet.ip.forwarding=1        # 1=Permit forwarding (routing) of IPv4 packets
#
- Todaví­a no sé qué interfaz va a conetar a internet ó a la red local, así­ que dejaré todo en variables y luego cambiamos a gusto del consumidor:
# cat /etc/pf.conf
# Macros
 loop="lo0"
 ext_if="rl0"
 int_if="fxp0"
 int_net="192.168.10.0/24"

# Opciones
 set optimization normal         # Tiempo medio de ruptura de conexiones
 set block-policy return         # Las peticiones a puertos bloqueados son devueltas
 set skip on $loop               # No tratar el dispositivo loopback con pf

# Normalizacion de trafico
 scrub in all

# Regla de NAT
 nat on $ext_if from $int_net to any -> ($ext_if)
- Activamos pf:
# echo 'pf=YES' >> /etc/rc.conf.local
# pfctl -e
pf enabled
# date
Fri Nov 24 17:47:09 CET 2006
# ^D
Connection to 192.168.1.58 closed.
- ¡Listo!, ¡para el cronómetro!, de todos modos si no fuese por los fallos del maldito CD habrí­a sido menos, la próxima vez batiré el record ;).
sysadmin openbsd

About the author

Óscar
has doubledaddy super powers, father of Hugo and Nico, husband of Marta, *nix user, Djangonaut and open source passionate.