|
Vamo s a empezar a montar un Servidor Linux Ubuntu con función de Enrutador entre dos tarjetas, una para la red local (LAN) y otra con conexión a internet o a la red general. Además añadimos otras funciones como son un Servidor de DHCP. Para realizar el enrutado entre las dos tarjetas usaremos un fichero con iptables.
Debemos saber para que sirven los siguientes comandos que vamos a necesitar:
- para reiniciar las conexiones de red: .......................... # /etc/init.d/networking restart
- para reiniciar el servicio DHCP: .................................... # /etc/init.d/dhcp3-server restart
- para ejecutar las ordenes IPTABLES la primera vez: # /etc/init.d/iptables
Los ficheros de configuración que debemos retocar son los siguientes como superusuario o con 'sudo':
- fichero de configuracion de las tarjetas de red: ............. # /etc/network/interfaces
- fichero de configuración de DNS: ..................................... # /etc/resolv.conf (Servidores de DNS)
- fichero de configuración de las ordenes de IPTABLES: # /etc/init.d/iptables
- fichero de configuración del servidor DHCP: .................. # /etc/dhcp3/dhcpd.conf
- fichero: .................................................................................... # /etc/sysctl.conf
CONTENIDO DEL FICHERO interfaces: configuran las dos interfaces. La tarjeta que conecta con la LAN tiene una IP fija mientras que la tarjeta que conecta con el exterior se configura con DHCP y espera que se le asigne una IP por parte del Router ADSL
# The loopback network interface auto lo iface lo inet loopback
# The primary network interface - enlaza con internet o con la red general auto eth1 iface eth1 inet dhcp
# LAN network interface - enlaza con la red LAN auto eth0 iface eth0 inet static address 192.168.26.1 netmask 255.255.255.0 network 192.168.26.0 broadcast 192.168.26.255 gateway 192.168.0.1
CONTENIDO DEL FICHERO dhcpd.conf
subnet 192.168.26.0 netmask 255.255.255.0 { range 192.168.26.2 192.168.26.249; option domain-name-servers 192.168.0.1; # importante reflejar la DNS que asignara el Servidor DHCP # option domain-name "internal.example.org"; option routers 192.168.26.1; option broadcast-address 192.168.26.255; default-lease-time 600; max-lease-time 7200; interfaces=eth0; }
CONTENIDO DEL FICHERO iptables: contiene todas las ordenes iptables que hacen que se enrute el flujo de información entre las dos tarjetas. #!/bin/bash EXT="eth1" INT="eth0"
echo -n "Activando el ip_forward... " echo 1 > /proc/sys/net/ipv4/ip_forward && echo "Hecho" echo -n "Limpiando reglas... " iptables -F iptables -t nat -F iptables -P FORWARD ACCEPT echo "Comandos de limpieza ejecutados" echo "Comandos de seguridad: para no se permitir conexiones desde la interfaz externa" iptables -A INPUT -i eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT && echo -n " * " #iptables -A INPUT -i $EXT -j DROP && echo -n " * " echo "Hecho" echo "Iniciando ip masquerading... " iptables -t nat -A POSTROUTING -s 192.168.26.0/24 -o eth1 -j MASQUERADE echo "Hecho" echo "Permitiendo forward desde la red interna... " iptables -A FORWARD -s 192.168.26.0/24 -i eth0 -j ACCEPT iptables -A INPUT -s 192.168.26.0/24 -j ACCEPT echo "Listo" echo echo "cerrar acceso a programas" iptables -A OUTPUT -p tcp --dport 1863 -j DROP iptables -A OUTPUT -d 64.4.13.0/16 -p tcp --dport 80 -j DROP iptables -A OUTPUT -d messenger.hotmail.com/32 -p tcp --dport 80 -j DROP iptables -I FORWARD -d 64.4.13.0/16 -p tcp --dport 80 -j DROP iptables -I FORWARD -d messenger.hotmail.com/32 -p tcp --dport 80 -j DROP iptables -I FORWARD 1 -d www.tuenti.com -p tcp --dport 80 -j DROP iptables -I FORWARD -d www.hotmail.com -p tcp --dport 80 -j DROP echo "Configuracion de ruteador completada"
CONTENIDO DE RESOLV.CONF domain 18xxxxxxxx.18.xxxxx.cec.xxxxxxxxx.es search 18xxxxxxxxx.18.xxxxx.cec.xxxxxxxxx.es nameserver 192.168.0.1
CONTENIDO DE sysctl.conf
Descomentar las linea (es decir quitar el primer símbolo 'cancela' a la linea) para que quede de la siguiente manera
net.ipv4.ip_forward=1
|