Admin Libre - Administración de sistemas y redes

IP estática para servidor local usando una VPN
Por Francisco Gaitán el 16 de Agosto de 2023

Con esta configuración un servidor con IP dinámica podrá ofrecer servicios con la IP estática de un servidor remoto usando un VPN y NAT.

  • Es mucho más económico que solicitar una IP fija al ISP.
  • Permite la configuración de DNS reverso para la IP desde el proveedor.
  • Evita que se muestre la IP pública de la red doméstica.
  • Soporte IPv6 siempre y cuando elijas un proveedor adecuado.

Topología de red

  • El servidor local está detrás de un NAT.
  • El servidor remoto está en un centro de datos con IP estática 203.0.113.24.
  • Ambos servidores están conectados en la red privada 172.16.0.0/12 mediante WireGuard.

Configuración de la VPN

Parto de la configuración VPN gateway en dominio de enrutado alternativo.

Configuración de Packet Filter en el servidor remoto

Las conexiones que reciba el servidor remoto a los puertos que configuremos, en este caso 80 y 443 para HTTP y HTTPS respectivamente, serán redirigidas al servidor local mediante la siguiente regla, siendo 172.16.1.1 la IP del servidor local en la red VPN:

server = "172.16.1.1"
pass in on egress proto tcp from any to any port { 80, 443 } \
        rdr-to $server

Configuración de los servicios del servidor local

Los servicios del servidor local se deben configurar en el dominio de enrutado 1 de forma que tengan acceso a la VPN. Esto se hace con rcctl(8) o simplemente editando el archivo /etc/rc.conf.local:

local# rcctl enable httpd
local# rcctl set httpd rtable 1
local# cat /etc/rc.conf.local
httpd_flags=
httpd_rtable=1

Para conseguir certificados Let's Encrypt desde el servidor local se ejecuta acme-client(1) desde el dominio de enrutado que corresponde a la VPN:

local# route -T 1 exec acme-client -v example.com

Destacado

Contacto

Si has encontrado algún error o quieres comentarme algo mándame un correo a webmaster@adminlibre.org