obsidian-dix/Raspberry Pi as Router Wireguard Client.md

2.1 KiB

Sí, puedes usar una Raspberry Pi como cliente WireGuard y compartir Internet a través de ella, como si fuera un router. Esto es útil, por ejemplo, si quieres que dispositivos conectados a la Raspberry (por cable o Wi-Fi) usen la conexión VPN.

Requisitos

  • Raspberry Pi (con Raspberry Pi OS o similar).

  • Conexión a Internet.

  • Configuración de cliente WireGuard funcional (wg0.conf).

  • IP forwarding habilitado.

  • iptables o nftables para NAT.


🔧 Pasos

1. Instala WireGuard

sudo apt update
sudo apt install wireguard

2. Configura el cliente WireGuard

Crea el archivo /etc/wireguard/wg0.conf con los datos del servidor:

[Interface]
PrivateKey = TU_CLAVE_PRIVADA
Address = 10.10.10.2/32
DNS = 1.1.1.1

[Peer]
PublicKey = CLAVE_PUBLICA_DEL_SERVIDOR
Endpoint = IP_DEL_SERVIDOR:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 25

Activa el túnel:

sudo wg-quick up wg0

3. Habilita IP forwarding

Edita /etc/sysctl.conf y descomenta o añade:

net.ipv4.ip_forward=1

Aplica el cambio:

sudo sysctl -p

4. Configura NAT para compartir Internet

Asumiendo que los clientes están en eth0 o wlan0 y que la VPN va por wg0:

# Reglas NAT
sudo iptables -t nat -A POSTROUTING -o wg0 -j MASQUERADE

# Permitir reenvío entre interfaces
sudo iptables -A FORWARD -i wg0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i wlan0 -o wg0 -j ACCEPT

Haz persistente con iptables-persistent:

sudo apt install iptables-persistent
sudo netfilter-persistent save

5. Crea un hotspot o red para compartir

Puedes usar hostapd para crear un punto de acceso Wi-Fi, o compartir por Ethernet usando una IP estática y DHCP (dnsmasq o similar).


📶 Ejemplo de uso

  • Raspberry conectada a Internet por Wi-Fi.

  • Cliente se conecta por Ethernet a la Raspberry.

  • Todo el tráfico del cliente pasa por la VPN (WireGuard).


Si me das detalles sobre cómo quieres compartir (Wi-Fi o Ethernet), te puedo ayudar a configurar eso también.