Hola a todos, este es mi primera publicación en steemit.
Es bastante habitual para mi tener que configurar internet compartido mediante una computadora central como router y además habilitar el soporte para OpenVPN por motivos de trabajo.
En mi equipo que funciona como router, tengo 2 interfaces de red:
- enp2s3: la que esta conectada al modem y obtiene la ip de internet.
- enp2s1: conectada a un router (o switch), a la interfaz le colocamos la ip estática 192.168.0.2 de nuestra red local.
Los equipos de mi red local utilizarán como puerta de enlace la ip 192.168.0.2 de la computador que funciona como router, también utilizaremos dns de google 8.8.8.8 y 8.8.4.4.
En el equipo que funcionará como router tenemos que adicionar reglas de iptables para forwarding de paquetes, tambien tenemos que habilitarlo en el kernel de linux.
Como yo soy usuario de archlinux ;) utilizo systemd. Creo el archivo /etc/sysctl.d/30-ipforward.conf para sysctl con la siguiente configuracion:
net.ipv4.ip_forward=1
Luego de esto adiciono las reglas para forwarding en iptables:
iptables -t nat -A POSTROUTING -o enp2s3 -j MASQUERADE
iptables -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i enp2s1 -o enp2s3 -j ACCEPT
Algunos servicios de VPN no tienen habilitado el modulo conntrack, entonces es conveniente adicionar también una regla para el tracking de paquetes con el modulo state:
iptables -I INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
Ahora salvamos la configuración para que sea cargada automaticamente al iniciar el equipo:
iptables-save > /etc/iptables/iptables.rules
Es mucho decir que mis conocimientos con iptables aun son muy basicos, sin embargo archlinux tiene un extenso manual que siempre podemos consultar:
https://wiki.archlinux.org/index.php/simple_stateful_firewall