User Tools

Site Tools


docu:csheet:net:relays:vpn_wireguard_vps

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
docu:csheet:net:relays:vpn_wireguard_vps [2023/06/30 00:55] admindocu:csheet:net:relays:vpn_wireguard_vps [2023/06/30 01:02] (current) admin
Line 76: Line 76:
  
 [Peer] [Peer]
-# Which IPs are allowed to pass on the interface 
 # Qué IPs son permitidas para pasar por la interfaz (también se usa para enrutar todo el tráfico de salida por esta interfaz). Es extraño Wireguard, no me preguntes como funciona, no lo sé xD # Qué IPs son permitidas para pasar por la interfaz (también se usa para enrutar todo el tráfico de salida por esta interfaz). Es extraño Wireguard, no me preguntes como funciona, no lo sé xD
 AllowedIPs = 10.5.0.0/24, 0.0.0.0/0 AllowedIPs = 10.5.0.0/24, 0.0.0.0/0
 PublicKey = <copia el contenido de "public.key" del VPS> PublicKey = <copia el contenido de "public.key" del VPS>
-EndPoint = <IP_of_the_VPS>:443 # recuerda: 443/udp, y debe ser alcanzable por tu localpc+EndPoint = <IP_publica_VPS>:443 # recuerda: 443/udp, y debe ser alcanzable por tu localpc
 PersistentKeepalive = 30 PersistentKeepalive = 30
 </code> </code>
Line 101: Line 100:
 wg-quick up whatever # la forma manual (tienes que programar autoejecución en el startup) wg-quick up whatever # la forma manual (tienes que programar autoejecución en el startup)
 systemctl enable wg-quick@whatever; systemctl start wg-quick@whatever # la forma systemd (ya se autoejecuta en el startup) systemctl enable wg-quick@whatever; systemctl start wg-quick@whatever # la forma systemd (ya se autoejecuta en el startup)
- 
-# Fijate que hemos usado el nombre de interfaz "yoursrv" en el VPS y "whatever" en el localpc para diferenciar y demostrar que podemos usar nombres distintos para las interfaces y no afectarán para nada en su funcionamiento, aunque si usas los mismos nombres funcionará igualmente. Es más, quizás sea más recomendado, para no liarse, pero esto es para que se entienda. 
 </code> </code>
 +Fijate que hemos usado el nombre de interfaz "yoursrv" en el VPS y "whatever" en el localpc para diferenciar y demostrar que podemos usar nombres distintos para las interfaces y no afectarán para nada en su funcionamiento, aunque si usas los mismos nombres funcionará igualmente. Es más, quizás sea más recomendado, para no liarse, pero esto es para que se entienda.
  
 \\ \\
Line 117: Line 115:
 Y finalmente, para terminar, necesitamos enrutar tráfico para que funcione. Vamos a hacer un ejemplo con enrutamiento de HTTP (que es lo más común) pero esto se usaría igual para cada servicio que queramos enrutar a nuestra IP interna. Para ello, ejecutaremos estos comandos de iptables (debemos tenerlo instalado): Y finalmente, para terminar, necesitamos enrutar tráfico para que funcione. Vamos a hacer un ejemplo con enrutamiento de HTTP (que es lo más común) pero esto se usaría igual para cada servicio que queramos enrutar a nuestra IP interna. Para ello, ejecutaremos estos comandos de iptables (debemos tenerlo instalado):
 <code bash> <code bash>
-# ejecutar en "VPS": enruta el tráfico de entrada a la IP pública del VPS, en los puertos TCP 80 y 443, al destino 10.5.0.2 (que en este ejemplo sería la IP de localpc en la VPN).+# ejecutar en "VPS": enruta el tráfico de ENTRADA a la IP pública del VPS, en los puertos TCP 80 y 443, al destino 10.5.0.2 (que en este ejemplo sería la IP de localpc en la VPN).
 iptables -t nat -A PREROUTING -d <ip_public_del_VPS> -p tcp -m multiport --dports 80,443 -j DNAT --to-destination 10.5.0.2 iptables -t nat -A PREROUTING -d <ip_public_del_VPS> -p tcp -m multiport --dports 80,443 -j DNAT --to-destination 10.5.0.2
  
-# ejecutar en "VPS": enmascara (cambia la IP) del tráfico en la SALIDA cuando el tráfico (bien establecido o nuevo) sale de localpc a internet por la VPN, ya que si salimos con una IP interna (de la VPN), el siguiente gateway no sabría como enrutar de vuelta, y menos todavía la IP de destino final (que es otra IP en internet).+# ejecutar en "VPS": enmascara (cambia la IP) del tráfico en la SALIDA cuando el tráfico (establecido o nuevo) sale de localpc a internet por la VPN, ya que si salimos con una IP interna (de la VPN), el siguiente gateway no sabría como enrutar de vuelta, y menos todavía la IP de destino final (que es otra IP en internet).
 iptables -t nat -A POSTROUTING -s 10.5.0.2/32 -o <nombre_interfaz_VPS_ip_publica> -j MASQUERADE iptables -t nat -A POSTROUTING -s 10.5.0.2/32 -o <nombre_interfaz_VPS_ip_publica> -j MASQUERADE
  
Line 127: Line 125:
 iptables -A FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu iptables -A FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
  
-# Opcionalmente, si tenemos una política DROP en nuestro filter de iptables "FORWARD", debes añadir esto:+ejecutar en "VPS": Opcionalmente, SOLO si tenemos una política DROP en nuestro filter de iptables "FORWARD", debes añadir esto:
 iptables -A FORWARD -i <nombre_interfaz_VPS_ip_publica> -d 10.5.0.2/32 -p tcp -m multiport --dports 80,443 -j ACCEPT iptables -A FORWARD -i <nombre_interfaz_VPS_ip_publica> -d 10.5.0.2/32 -p tcp -m multiport --dports 80,443 -j ACCEPT
 iptables -A FORWARD -i <yoursrv> -o <nombre_interfaz_VPS_ip_publica> -j ACCEPT iptables -A FORWARD -i <yoursrv> -o <nombre_interfaz_VPS_ip_publica> -j ACCEPT
docu/csheet/net/relays/vpn_wireguard_vps.1688086552.txt.gz · Last modified: 2023/06/30 00:55 by admin