Cuando una empresa cuenta con una conexión de banda ancha hacia Internet y se busca compartir dicha conexión entre las diferentes oficinas, muchas veces se piensa que es necesario comprar un equipo de firewall dedicado, lo cual es un error. En este articulo demostraremos que con el minimo de inversion y utilizando Linux Debian podemos ofrecer a nuestra red mejores servicios que al adquirir un equipo de firewall.
La adquisición de dicho hardware puede ser demasiado costosa para muchas empresas guatemaltecas, en cambio al utilizar una maquina dedicada con un Linux Debian instalado y sirviendo como gateway para la LAN, nos ofrece muchos beneficios al compararlo contra un equipo de firewall dedicado. Para empezar, es mucho mas flexible y además nos permite ofrecer muchos servicios extras a nuestras red.
Para correr una gateway (pasarela) con Debian es necesario una maquina con dos tarjetas de red, y que la tarjeta externa pueda rutear correctamente hacia el ISP. (ver articulo)
En esta oportunidad, tomaremos la interfaz de red eth0 para que sirva directamente a la red interna, esta tarjeta que tendrá una dirección IP clase C mas o menos así: 192.168.1.1, la cual sera la que utilizaremos como default gateway para nuestras maquinas internas. Esto nos deja la eth1 para la dirección externa de la maquina.
Para que dicha maquina funcione como un gateway y rutee los paquetes desde nuestra LAN hacia el mundo exterior y de regreso, necesitamos que tenga habilitado el bit de IP forwarding, además de las reglas necesarias para que pueda enrutar paquetes. Esto se hace vía iptables.
Básicamente necesitamos tener tres juegos de reglas:
Con este fin creamos el siguiente script:
archivo: 00-firewall |
#Publicado bajo licencia GPL by www.guatewireless.org #!/bin/sh PATH=/usr/sbin:/sbin:/bin:/usr/bin # # borrando todas las reglas existentes. # iptables -F iptables -t nat -F iptables -t mangle -F iptables -X # Siempre acepte el trafico desde loopback iptables -A INPUT -i lo -j ACCEPT # Permitir conexiones establecidas, y las que no vengan desde fuera. iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -m state --state NEW -i ! eth1 -j ACCEPT iptables -A FORWARD -i eth1 -o eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT # Permitir conexiones salientes desde adentro de la LAN. iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT # Enmascarar. iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE # No forward de afuera hacia adentro. iptables -A FORWARD -i eth1 -o eth1 -j REJECT # Habilite ruteo. echo 1 > /proc/sys/net/ipv4/ip_forward |
Es necesario que este script corra al arrancar el sistema y tan pronto como las interfaces de red se levanten. Para este propósito se puede guardar en el directorio /etc/network/if-up.d/. Todo lo que se encuentre en ese directorio es ejecutado cuando una interfase se levanta, siempre y cuando el archivo sea ejecutable.
Debido a que los contenidos del directorio son ejecutados en orden, nombraremos el script 00-firewall.
Esto nos proveerá con un gateway básico. Ahora cualquier maquina dentro de la LAN deberá ser capaz de accesar Internet, mientras el gateway se mantiene seguro.
Ahora debemos pensar en agregar servicios extras para nuestra LAN, desde el gateway claro. Existen un par de cosas interesantes que se pueden agregar para hacernos la vida mas fácil, por ejemplo en lugar de asignar una dirección IP fija a cada maquina dentro de la LAN, podemos utilizar una asignación dinámica utilizando DHCP.
Así mismo podemos instalar un servidor de nombres local, con esto podremos reconocer nuestras maquinas en la red interna.
Un excelente paquete para eso es dnsmasq. El cual se puede instalar vía apt-get y se configura vía un simple archivo /etc/dnsmasq.conf.
Una vez este paquete de software este corriendo, podremos observar que las maquinas cliente pueden buscar cualquier host en la red que este incluido en el archivo /etc/hosts dentro del servidor. Con lo anterior podremos nombrar con aliases las maquinas de la red y serán resueltas fácilmente.
Por ejemplo, al instalar un servidor proxy en el gateway podemos crearle un nombre:
archivo: /etc/hosts |
# 127.0.0.1 localhost # # Maquinas locales. # 192.168.1.1 gateway gateway.guatewireless.net proxy proxy.guatewireless.net |
Esto nos asignara el nuevo nombre proxy para la maquina anteriormente conocida como prince, digo gateway.-
“..that’s all folks…”
En el ámbito de la informática y la cadena de bloques, el conocimiento teórico a…
El emergente dominio de las criptomonedas ha cautivado la imaginación colectiva por su potencial para…
En el siempre evolucionante mundo de las criptomonedas, el capital de riesgo (VC) ha encontrado…
?? Resumen video : Gareth Soloway Bitcoin, prepárate para lo que viene Introducción El mercado…
En marzo de 2023, el mundo financiero se vio sacudido por el repentino colapso de…
A medida que Bitcoin continúa ganando popularidad y reconocimiento, aumenta la necesidad de escalabilidad y…