En primer lugar:esto no es un duplicado. He probado todo excepto OpenVPN o IPSec. Recibo un apretón de manos entre el cliente y el servidor, y SSH y Ping funcionan entre clientes, pero no puedo acceder a Internet global ni siquiera tengo acceso a la IP pública del servidor. Mi configuración es solo la habitual, claves, puntos finales, seguí exactamente la guía de Linode. Mi cliente es openSUSE pero mi servidor es ubuntu, lo que asumo es el cuello de botella.
Respuesta aceptada:
Esta es exactamente la situación que tenía. ¿Tu servidor tiene una IP pública o está detrás de un NAT? Si está detrás de un NAT, el PostUp
y PostDown
Los comandos de iptables de la guía de Linode no se aplican.
Intente agregar lo siguiente al archivo de configuración de su servidor, cambiando eth0
a como lo llame su computadora:
PreUp = iptables -t nat -A POSTROUTING -j MASQUERADE -o eth0
PreDown = iptables -t nat -D POSTROUTING -j MASQUERADE -o eth0
Fuente:https://unix.stackexchange.com/questions/530790/wireguard-not-routing-traffic-from-client-to-other-servers-on-the-network
Configuración de ejemplo
Aquí hay una configuración de ejemplo donde el enrutador está en 10.0.1.1 (red normal) y 10.0.0.x es la nueva red WireGuard, con el servidor configurado para 10.0.0.1 y el cliente para 10.0.0.2. El puerto utilizado es 51820 y la interfaz de red predeterminada es eth0. Todo el tráfico se enruta a través de WireGuard, pero no permanece dentro de la subred de WireGuard. El cliente tiene acceso a la red local del servidor (10.0.1.x) y a internet general. No olvide reenviar el puerto 51820 desde su enrutador a su servidor y habilitar el reenvío ipv4 en el servidor (# sysctl -w net.ipv4.ip_forward=1
)
Configuración del servidor
[Interface]
Address = 10.0.0.1/24
PrivateKey = YOUR_SEVER_PRIVATE_KEY
ListenPort = 51820
PreUp = iptables --table nat --append POSTROUTING --jump MASQUERADE --out-interface eth0
PreDown = iptables --table nat --delete POSTROUTING --jump MASQUERADE --out-interface eth0
[Peer]
PublicKey = YOUR_CLIENT_PUBLIC_KEY
AllowedIPs = 10.0.0.2/32
Configuración del cliente
[Interface]
Address = 10.0.0.2/24
DNS = 10.0.1.1
PrivateKey = YOUR_CLIENT_PRIVATE_KEY
ListenPort = 51820
[Peer]
PublicKey = YOUR_SERVER_PUBLIC_KEY
AllowedIPs = 0.0.0.0/0, ::/0
Endpoint = YOUR.DYNAMIC_DNS.COM:51820