Proyecto.- Servidor Casero (II)
Ya vimos como configurar nuestras interfaces de red, y en especial, como conectar nuestro dispositivo wifi a la red.
Como ya tenemos conexión a la Internet, el paso a realizar, aunque parezca evidente, es el de actualizar el listado de repositorios, para ellos abrimos una ventana de terminal y una vez en la misma:
usuario@equipo:~$ su
contraseña:
root@equipo:~$ apt-get update
Una vez el sistema termine de actualizar el listado de repositorios, procederemos a preparar nuestro servidor, para que asigne direcciones IP dinámicas.
Instalando y configurando Dnsmasq, para asignar IP Dinámicas
Dnsmasq, es una pequeña aplicación que funciona como servidor caché DNS y como servidor
DHCP. ligero y fácil de configurar, y es por ello que lo usaremos en este proyecto.
Para realizar la instalación abrimos la terminal y como root escribimos:
root@equipo:~$ apt-get install dnsmasq
Una vez este instalado, debemos configurar el servidor, para eso en consola procedemos de la siguiente manera:
root@equipo:~$ nano /etc/dnsmasq.conf
Y nos abrirá el archivo de configuración de dnsmasq, en dicho archivo buscamos las lineas:
- Listen-address
- dhcp-range
- bind-interfaces
En la linea listen-address, colocaremos la dirección IP por la que escuchara el servidor, en este caso fue la dirección que le asignamos en un principio a la interfaz de red LAN.
La linea dhcp-range, es en la que vamos a definir el rango de IP´S que serviran y el tiempo de asignación, por ejemplo en mi caso la linea quedo dhcp-range=192.168.1.2,192.168.1.10,12h, es decir, asignara direcciones IP desde la 192.168.1.2 hasta la 192.168.1. y la asignación es por 12 horas.
Por ultimo solo debemos descomentar la linea bind-interfaces, para que de esta manera dnsmasq discrimine peticiones.
Ahora solo nos queda reiniciar el servicio:
root@equipo:~$ /etc/init.d/dnsmasq restart
De esta manera ya se nos estara asignado las direcciones de manera dinámica.
Ahora solo nos queda compartir la conexión a Internet, lo que haremos mediante firewall usando iptables.
Al principio ejecutaremos los comandos directamente en la terminal, y cuando veamos que funciona al 100%, pues crearemos un scripts para que se ejecute al principio cada vez que se reinicie el servidor.
Abrimos una terminal y como root procedemos a escribir:
root@equipo:~$ echo 1 > /proc/sys/net/ipv4/ip_forward
Este comando lo que hace es activar el enrutamiento, seguidamente escribiremos:
root@equipo:~$ iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
La linea anterior es la que le permite al firewall de linux, repartir la conexión a la Internet al resto de las maquinas de red LAN de la casa, a lo que debemos tomar en consideración, que en el caso del servidor que estoy montando, la conexión a la Internet como ya lo explique, la realizo a través de un adaptador wifi identificado en las interfaces como wlan0, por lo que el caso de ustedes deberán cambiarlo por el nombre de la interfaz que utilicen para ello (eth0,eth1,etc).
Una vez realizados los pasos anteriores, solo deberíamos, intentar hacer un ping desde alguna de las maquinas conectadas en la red a por ejemplo google.com, y de ser positivo, pues tan solo nos quedaría preparar el script para que se active esta función cada vez que reinicie nuestro sistema.
root@equipo:~$ nano nombre_script.sh
Esto nos abrirá el editor nano, con un archivo en blanco , el nombre del script es el que ustedes deseen, en este caso lo deje como nombre_script, la extensión si debe ser .sh
El archivo debe quedar de la siguiente manera:
#!/bin/bash
iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
#Activación de ip_fordward
echo 1 > /proc/sys/net/ipv4/ip_forward
Como pueden observar, lo único que hicimos fue colocar los comandos que queremos que el script ejecute. Una vez hecho esto, guardamos y salimos del editor nano.
Ahora vamos a darle al script, ciertos permisos:
root@equipo:~$ chmod 700 nombre_script.sh
root@equipo:~$ chown root:root nombre_script.sh
Por ultimo nos queda solo hacer que el script se ejecute al inicio.
Copiamos el script a la ubicación /etc/init.d/
root@equipo:~$ cp nombre_script.sh /etc/init.d/
Lo convertimos en un daemon para que de esta manera se ejecute al inicio de cada sesión:
root@equipo:~$ update-rc.d nombre_script.sh defaults
Y listo, ya nuestro servidor estara ya repartiendo Internet a todos los equipos que se conecten a la LAN, así como asignando direcciones IP Dinámicas. En próximos post, iremos mejorando un poco mas nuestro servidor.
Ahora solo nos queda compartir la conexión a Internet, lo que haremos mediante firewall usando iptables.
Compartir conexión a Internet con iptables
Iptables es un firewall integrado en el kernel Linux, que en este caso usaremos para permitir compartir la conexión a Internet entre las maquinas que formarán la LAN de casa.Al principio ejecutaremos los comandos directamente en la terminal, y cuando veamos que funciona al 100%, pues crearemos un scripts para que se ejecute al principio cada vez que se reinicie el servidor.
Abrimos una terminal y como root procedemos a escribir:
root@equipo:~$ echo 1 > /proc/sys/net/ipv4/ip_forward
Este comando lo que hace es activar el enrutamiento, seguidamente escribiremos:
root@equipo:~$ iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
La linea anterior es la que le permite al firewall de linux, repartir la conexión a la Internet al resto de las maquinas de red LAN de la casa, a lo que debemos tomar en consideración, que en el caso del servidor que estoy montando, la conexión a la Internet como ya lo explique, la realizo a través de un adaptador wifi identificado en las interfaces como wlan0, por lo que el caso de ustedes deberán cambiarlo por el nombre de la interfaz que utilicen para ello (eth0,eth1,etc).
Una vez realizados los pasos anteriores, solo deberíamos, intentar hacer un ping desde alguna de las maquinas conectadas en la red a por ejemplo google.com, y de ser positivo, pues tan solo nos quedaría preparar el script para que se active esta función cada vez que reinicie nuestro sistema.
Crear un Script y que se ejecute automáticamente al inicio del sistema.
En el terminal tecleamos como root:root@equipo:~$ nano nombre_script.sh
Esto nos abrirá el editor nano, con un archivo en blanco , el nombre del script es el que ustedes deseen, en este caso lo deje como nombre_script, la extensión si debe ser .sh
El archivo debe quedar de la siguiente manera:
#!/bin/bash
iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
#Activación de ip_fordward
echo 1 > /proc/sys/net/ipv4/ip_forward
Como pueden observar, lo único que hicimos fue colocar los comandos que queremos que el script ejecute. Una vez hecho esto, guardamos y salimos del editor nano.
Ahora vamos a darle al script, ciertos permisos:
root@equipo:~$ chmod 700 nombre_script.sh
root@equipo:~$ chown root:root nombre_script.sh
Por ultimo nos queda solo hacer que el script se ejecute al inicio.
Copiamos el script a la ubicación /etc/init.d/
root@equipo:~$ cp nombre_script.sh /etc/init.d/
Lo convertimos en un daemon para que de esta manera se ejecute al inicio de cada sesión:
root@equipo:~$ update-rc.d nombre_script.sh defaults
Y listo, ya nuestro servidor estara ya repartiendo Internet a todos los equipos que se conecten a la LAN, así como asignando direcciones IP Dinámicas. En próximos post, iremos mejorando un poco mas nuestro servidor.
Comentarios
Publicar un comentario