Hola, alguna vez necesitamos utilizar un dispositivo como una puerta de enlace y que sea un enrutador para salir a otras subredes de nuestra red LAN, no tenemos un enrutador como tal vez pueda ser un TP-LINK o un Mikrotik RouterOS, pero la buena noticia es que nosotros podemos construir uno con un sistema operativo Linux, cualquier Linux, sea openSUSE, CentOS, Debian o un Ubuntu server, con esos sistemas operativos u otros Linux podemos hacer nuestro router y gateway casero :), que te parece que seleccionamos una PC de bajos recursos o si deseas cualquier PC por ahi y le instalar un GNU/Linux cualquiera que he mencionado e insertas tu PC entre el proveedor y tus redes internas, y ¿para qué me sirve eso? Tal vez desees agregar otros servicios en el enrutador Linux, tal vez un servidor DHCP o un servidor DNS, como lo tienen los routers de Mikrotik; no necesitamos otros servicios en nuestro caso necesitamos que sea la puerta de enlace y enrute :)
Pasos a seguir:
Paso 1- elegir una distribución Linux, en nuestro caso elegiremos CentOS 7 por su largo soporte hasta el 2024, creo :), tengo en mi canal de youtube un video con el sistema operativo Debian 10 que hace lo mismo (revisalo)
Paso 2- instalas el sistema operativo (tengo un video completo de la instalación y configuración)
Paso 3- comenzamos aquí, firewalld es el firewall por defecto en CentOS, es potente y hay que conocer como funciona, por ahora no lo utilizaremos, nosotros utilizaremos iptables puro, no es simple de hacer las reglas, pero necesitamos solamente unas líneas para nuestro caso, entonces deshabilitamos todo lo relacionado a firewalld.
Ya sabes todas las reglas deben ejecutarse como superadministrador
# systemctl stop firewalld
# systemctl disable firewalld
# systemctl mask firewalld
Son comandos muy intuitivos, el primero para el servicio, el segundo deshabilita para que no inicie en boot time, el último para que no inicien servicios relacionados a firewald
Paso 4- instalamos servicios iptables
# yum install iptables-services
Paso 5- iniciamos el servicio
# systemctl start iptables
# systemctl start ip6tables
Intuitivo, se inician iptables para ipv4 e ipv6
Paso 6- habilitamos para que inicien en tiempo de inicio
# systemctl enable iptables
# systemctl enable ip6tables
Con dichos comandos ya tenemos iptables funcionando, ahora nosotros crearemos un archivo para nuestras propias reglas, un archivo llamado reglas.sh, en la ubicación /etc/reglas.sh
Paso 7- antes de hacer leemos un archivo que usaremos para ejecute en tiempo de inicio, dicho archivo está ubicado en /etc/rc.d/rc.local, el archivo nos indica que aún se mantiene por compatibilidad, pero indica que debe utilizarse systemd, pero será para otra oportunidad aprenderemos a realizar, por ahora usaremos rc.local como nuestro archivo.
Paso 8- creamos con touch
#touch /etc/reglas.sh
Permiso de ejecución
#chmod +x /etc/reglas.sh
Paso 9- insertamos nuestra reglas básicas para el enrutador, tenemos claro que nuestra interfaz de cara a internet es enp0s3, las otras interfaces son enp0s8 y enp0s9 son nuestras subredes internas.
Estas dos lineas seran suficientes:
#!/bin/sh
iptables -F
iptables -t nat -A POSTROUTING -o enps03 -j MASQUERADE
Limpiamos con -F, porque por defecto ya escribe CentOS unas reglas básicas.
Paso 10- activamos el forward en el archivo /etc/sysctl.conf y poner en 1
net.ipv4.ip_forward=1
Paso 11- ejecutamos el archivo reglas.sh
#sh /etc/reglas.sh
Paso 12- iniciamos el forward sin reiniciar el server
#sysctl -p /etc/sysctl.conf
Paso 13- deseamos que en boot time inice nuestras reglas automáticamente, entonces usamos el archivo /etc/rc.d/rc.local, cambiamos el permiso
#chmod +x /etc/rc.d/rc.local
#vi /etc/rc.d/rc.local
escribes antes de la linea final
sh /etc/reglas.sh
Reinicias y luego al iniciar ya debe funcionar.
Para más información mirar mi video.
El servicio rc-local se inició por defecto, pero sino inicia puedes verificar con
#systemctl status rc-local
Sino está iniciado pues inicias con
#systemctl start rc-local y habilitas con enable para iniciar automáticamente en tiempo de inicio.
No hay comentarios.:
Publicar un comentario