Configurar Internet compartido y permitir conexiones OpenVPN

in #linux7 years ago (edited)

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

Sort:  

gracias por el conocimiento viejo, bienvenido ademas ;)

Gracias @joseangelperez, es muy agradable ver tan rápida respuesta por parte de la comunidad. Me anima mucho a continuar publicando :)

Congratulations @emiliosilveira! You have completed some achievement on Steemit and have been rewarded with new badge(s) :

You got a First Vote

Click on any badge to view your own Board of Honor on SteemitBoard.
For more information about SteemitBoard, click here

If you no longer want to receive notifications, reply to this comment with the word STOP

Upvote this notification to help all Steemit users. Learn why here!

Congratulations @emiliosilveira! You received a personal award!

1 Year on Steemit

Click here to view your Board

Support SteemitBoard's project! Vote for its witness and get one more award!

Congratulations @emiliosilveira! You received a personal award!

Happy Birthday! - You are on the Steem blockchain for 2 years!

You can view your badges on your Steem Board and compare to others on the Steem Ranking

Vote for @Steemitboard as a witness to get one more award and increased upvotes!

Coin Marketplace

STEEM 0.16
TRX 0.17
JST 0.029
BTC 69505.86
ETH 2493.71
USDT 1.00
SBD 2.54