Crear un túnel VPN con Android usando FreeBSD + WireGuard

4 min

language: ja bn en es hi pt ru zh-cn zh-tw

Hola, soy Incompetente.
En el artículo anterior, solo publiqué los resultados de velocidad, pero aquí están los pasos para crear un túnel.
No pude encontrar ningún otro artículo en japonés, así que lo registraré aquí.

WireGuard

Lado del smartphone (cliente)

Es necesario generar las claves de WireGuard en el lado de la PC.

wg genkey | tee private.key
wg genpsk | tee psk.key

Si solo creas la clave privada, la clave pública se mostrará en la aplicación WireGuard del smartphone, por lo que no es necesario crearla aquí. Alternativamente, también puedes crearla junto con wg genkey | tee private.key | wg pubkey > pub.key.
Una vez que hayas transferido esta clave a tu smartphone, en la aplicación WireGuard del smartphone,

Clave privada = Contenido de private.key
Clave precompartida = Contenido de psk.key
Dirección = IP con la que quieres comunicarte, en este caso `10.1.0.4/32`
Endpoint = IP global del servidor WireGuard:51820
Allowed IPs = 0.0.0.0/0 , ::/0 # Todo a través de la VPN

introduce esto y asegúrate de que la clave pública generada en este momento pueda ser enviada o pegada en el lado del servidor.

Lado de la PC (servidor)

Asumiendo que WireGuard ya está instalado, añade un Peer al final.

[Peer]
PublicKey = La clave pública que se muestra después de introducir private.key en el lado del smartphone, o el contenido de pub.key
PreSharedKey = Contenido de psk.key
AllowedIPs = 10.1.0.4/32
PersistentKeepalive = 25

Con esto, ejecuta wg quick up wg0 por ahora. Si la VPN está activada en el smartphone y la transferencia es posible, está bien. Sin embargo, tal como está, solo se puede comunicar dentro del túnel de WireGuard, por lo que es necesario crear reglas NAT.

FreeBSD

Primero, habilita el reenvío de puertos para IPv4 e IPv6.

vi /etc/sysctl.conf

Luego añade lo siguiente:

net.inet.ip.forwarding=1
net.inet6.ip6.forwarding=1

Luego reinicia.
Y crea reglas con pf.

vi /etc/pf.conf

Y añade lo siguiente:

wireguard_clients=10.1.0.4
wanint="vtnet0"
wg_ports="{51820}"

nat on $wanint inet from $wireguard_clients to any -> $wanint
pass in on $wanint proto udp from any to $wanint port $wg_ports
pass out quick

Luego activa:

pfctl -nf /etc/pf.conf

Si no hay errores:

pfctl -f /etc/pf.conf

Con esto, aplica los cambios. Comprueba si la dirección IP es la del servidor, y si la dirección IP es la del servidor WireGuard en el sitio simple y útil de Takashi. bibi.moe/ip
Con esto hemos terminado.

Si puedes hacer esto, es muy conveniente porque si tu servidor doméstico está haciendo proxy de servicios que se ejecutan en tu entorno local a la red WireGuard mientras está conectado a la VPN, puedes acceder a la red de tu casa desde el navegador de tu smartphone. Hasta la próxima. Saludos.

Related Posts