Redes de Computadoras y Cortafuegos
con GNU/Linux
Dr. Luis Gerardo de la Fraga
Departamento de Computación
Cinvestav
Correo-e:
[email protected]
18 de mayo de 2007
Dr. Luis Gerardo de la Fraga Cinvestav 2007
Redes de Computadoras y Cortafuegos con GNU/Linux
1/31
Contenido
1. Configuración y compilación del núcleo de GNU/Linux
2. Cómo crear un cortafuegos sin un disco duro
Dr. Luis Gerardo de la Fraga Cinvestav 2007
Redes de Computadoras y Cortafuegos con GNU/Linux
2/31
Configuración del núcleo (1/5)
Para esta distribución
# uname -a
Linux sigma 2.4.20-8 #1 Thu Mar 13 17:18:24 EST 2003 \
i686 athlon i386 GNU/Linux
# cat /etc/redhat-release
Red Hat Linux release 9 (Shrike)
La configuración con la que se compiló el núcleo de GNU/Linux
que se está usando, se encuentra en:
/boot/config-2.4.20-8
Dr. Luis Gerardo de la Fraga Cinvestav 2007
Redes de Computadoras y Cortafuegos con GNU/Linux
4/31
Configuración del núcleo (2/5)
Se debe instalar los fuentes del núcleo, ya sea el que viene con la
distribución
kernel-source-2.4.20-8.i386.rpm
o la última versión estable en www.kernel.org
linux-2.4.34.1.tar.bz2
linux-2.4.34.1.tar.bz2.sign
Dr. Luis Gerardo de la Fraga Cinvestav 2007
Redes de Computadoras y Cortafuegos con GNU/Linux
6/31
Configuración del núcleo (3/5)
Los fuentes quedan instalados en
# ls -1F /usr/src
debug/
linux-2.4@
linux-2.4.34.1/
redhat/
Dr. Luis Gerardo de la Fraga Cinvestav 2007
Redes de Computadoras y Cortafuegos con GNU/Linux
8/31
Configuración del núcleo (4/5)
Si necesitásemos recompilar el núcleo de Linux, para activar alguna
de función que normalmente no está activada.
cd /usr/src/linux-2.4/
make mrproper
cp /boot/config-2.4.20-8
make xconfig
make dep
make bzImage
make modules
make modules_install
.config
# o make menuconfig
Dr. Luis Gerardo de la Fraga Cinvestav 2007
Redes de Computadoras y Cortafuegos con GNU/Linux
10/31
Configuración del núcleo (5/5)
El núcleo está compilado en:
/usr/src/linux-2.4/arch/i386/boot/
en el archivo bzImage.
Los módulos están en
/lib/modules/2.4.20-8/
/lib/modules/2.4.20-8/kernel/net/ipv4/netfilter/
Dr. Luis Gerardo de la Fraga Cinvestav 2007
Redes de Computadoras y Cortafuegos con GNU/Linux
12/31
Software disponible en la pág. del curso
linux-2.4.34.1.tar.bz2 (30967660 bytes) (n’ucleo 2.4)
busybox-1.5.0.tar.gz
dnsmasq-2.38.tar.gz
dropbear-0.48.1.tar.gz ( 1473114 bytes) (servidor SSH)
( 1844118 bytes) (utilerias)
(
272953 bytes) (DNS, DHCP)
Dr. Luis Gerardo de la Fraga Cinvestav 2007
Redes de Computadoras y Cortafuegos con GNU/Linux
14/31
Pasos para crear un cortafuegos sin disco
1. Crear el sistema de archivos
2. Llenar el sistema de archivos
3. Poner el núcleo y módulos
4. Compilar busybox
5. Hacer que arranque en CDROM o en el disco USB (GRUB)
6. Arrancar
Dr. Luis Gerardo de la Fraga Cinvestav 2007
Redes de Computadoras y Cortafuegos con GNU/Linux
15/31
Crear el sistema de archivos (1/2)
I En memoria
I En la compact flash
I En disco duro en un archivo
I En disco duro en una partición
I No podemos crearla en CDROM
I Tipo ext2 (y solo de lectura)
http://www.tldp.org/HOWTO/Bootdisk-HOWTO/index.html
Dr. Luis Gerardo de la Fraga Cinvestav 2007
Redes de Computadoras y Cortafuegos con GNU/Linux
16/31
Crear el sistema de archivos (2/2)
En disco duro en un archivo
dd if=/dev/zero of=archivo bs=1k count=4096
# crear’a un archivo de 4MB de tamanio
# Se crea el sistema de archivos
mkfs.ext2 -F archivo
# Se monta el sistema de archivos creados en "archivo"
mount -o loop /mnt/k archivo
# ya debe de estar creado el directorio /mnt/k
Dr. Luis Gerardo de la Fraga Cinvestav 2007
Redes de Computadoras y Cortafuegos con GNU/Linux
18/31
Llenar el sistema de archivos (1/3)
Aquí está un conjunto mínimo de directorios para el sistema de
archivos raíz:
I /dev – Archivos de dispositivos, requeridos para E/S
I /proc – Directorio requerido para el sistema de archivos /proc
I /etc – Archivos de configuración del sistema
I /sbin – Binarios críticos del sistema
I /bin – Binarios del sistema (busybox)
I /lib – Bibliotecas compartidas para tiempo de ejecución
I /mnt – Un punto de montaje para otros discos
I /usr – Utilerias adicionales y aplicaciones
Dr. Luis Gerardo de la Fraga Cinvestav 2007
Redes de Computadoras y Cortafuegos con GNU/Linux
19/31
Llenar el sistema de archivos (2/3)
Los directorios /var (temporales) y /dev (dispositivos) deben de
ser de lectura y escritura, se harán en memoria RAM
/sbin/mkfs.minix /dev/ram1
mount -n -t minix /dev/ram1 /mnt
cp -a /dev/* /mnt/
rm -rf /mnt/lost+found
umount /mnt
mount -t minix /dev/ram1 /dev
Dr. Luis Gerardo de la Fraga Cinvestav 2007
Redes de Computadoras y Cortafuegos con GNU/Linux
21/31
Llenar el sistema de archivos (3/3)
Podemos usar el mismo esquema para el directorio /var
(mantemos una copia en el disco y) :
/sbin/mkfs.minix /dev/ram0
mount -n -t minix /dev/ram0 /mnt
cp -a /var/* /mnt/
rm -rf /mnt/lost+found
umount /mnt
mount -t minix /dev/ram0 /var
Dr. Luis Gerardo de la Fraga Cinvestav 2007
Redes de Computadoras y Cortafuegos con GNU/Linux
23/31
Configuración del arranque
Para al arranque del sistema se creen /var y /dev en memoria, los
dos scripts anteriores los podemos poner en el directorio /etc/rcS.d
y llamar a esos scripts S06dev S07var
Dr. Luis Gerardo de la Fraga Cinvestav 2007
Redes de Computadoras y Cortafuegos con GNU/Linux
24/31
Poner el núcleo y módulos
Crear el directorio /boot y el /lib/modules, éste solo con los
módulos necesarios.
Dr. Luis Gerardo de la Fraga Cinvestav 2007
Redes de Computadoras y Cortafuegos con GNU/Linux
25/31
Configuración de dropbear
Las llaves van el /etc/dropbear, y el siguiente archivo va en
/etc/rc.local
$ cat dropbearServer
#!/bin/sh
touch /var/log/lastlog
echo -n "Setting dropbear server.."
/usr/sbin/dropbear -w
Dr. Luis Gerardo de la Fraga Cinvestav 2007
Redes de Computadoras y Cortafuegos con GNU/Linux
27/31
Configuración de dnsmasq (1/2)
En el mismo directorio /etc/rc.local
$ cat dns_fw
#!/bin/sh
echo "Setting dnsmasq server.."
mkdir -p /var/lib/dhcp
/sbin/dnsmasq
#
echo "Turning on IP Forwarding & Masquerading"
echo 1 >/proc/sys/net/ipv4/ip_forward
#
echo "Turning on firewall..."
/etc/fw.rules > /dev/null 2>&1
Dr. Luis Gerardo de la Fraga Cinvestav 2007
Redes de Computadoras y Cortafuegos con GNU/Linux
29/31
Configuración de dnsmasq (2/2)
$ cat dnsmasq.conf
dhcp-range=192.168.10.100,192.168.10.200,24h
dhcp-host=00:B0:D0:CF:66:C1,compu02,192.168.10.91
#
dhcp-leasefile=/var/lib/dhcp/dnsmasq.leases
Dr. Luis Gerardo de la Fraga Cinvestav 2007
Redes de Computadoras y Cortafuegos con GNU/Linux
31/31
Comentarios de: Redes de Computadoras y Cortafuegos con GNU/Linux (0)
No hay comentarios