esto es la suraguwiki el contenido, como puedes ver, deja mucho que desear para comentarios sobre los cosos aquí, puedes mandar un correo a diego arroba suragu punto net

Si eres un putísimo crack y quieres contribuir a esta wiki, pídeme una cuenta en el mismo correo de arriba

Ni me voy a molestar en explicar wireguard. He configurado tantas de estas que estoy hasta los cojones. Aquí escupo los comandos necesarios:

wg genkey | tee privatekey | wg pubkey > publickey

se debe ejecutar en el servidor y en todos los clientes

esto genera el archivo privatekey y public key

esto es el archivo de configuracion (/etc/wireguard/wgn.conf o /usr/local/etc/wireguard/wgn.conf en freebsd)

Servidor:

wg0.conf
[Interface]
Address = 10.100.0.1/24
ListenPort = 1194
PrivateKey = <PRIVATEKEY DEL SERVER>
 
[Peer]
PublicKey = <PUBLIC KEY DEL CLIENTE>
AllowedIPs = 10.100.0.2/24
 
# otro cliente 
[Peer]
PublicKey = <PUBLIC KEY DEL CLIENTE>
AllowedIPs = 10.100.0.2/24

Cliente:

wg0.conf
[Interface]  
PrivateKey = <TU PRIVATEKEY DEL CLIENTE>  
Address = 10.100.0.2/32  
 
[Peer]
PublicKey = <PUBLIC KEY DEL SERVER>  
AllowedIPs = 10.100.0.0/24  
Endpoint = example.org:51820  
PersistentKeepalive = 30  

crear vlan con wireguard

Estar conectado a una red por wireguard es lo mismo que estar conectada por cable. Es un cable virtual realmente. Sabiendo esto, puedes usar un cliente de wireguard como router para acceder a la VPN sin tener que añadir clientes, sino sencillamente enrutar el tráfico por una VLAN:

creas una vlan en un cliente que esté conectado a la red de wireguard:

ifconfig vlan create
ifconfig vlan0 vlan 100 vlandev bge0 inet 10.100.0.128/25

Con eso, el cliente de wireguard (que tendría que estar en tu misma red física) tendrá la dirección IP 10.100.0.128 en la vlan 100. Tendrás que crear otra vlan en el cliente.

ifconfig vlan create
ifconfig vlan0 vlan 100 vlandev em0 inet 10.100.0.129/25

Pruebas a hacerle ping al router a través de la vlan:

PING 10.100.0.128 (10.100.0.128) 56(84) bytes of data.
64 bytes from 10.100.0.128: icmp_seq=1 ttl=64 time=0.031 ms
--- 10.100.0.128 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.031/0.031/0.031/0.000 ms

Si funciona, puedes añadir la ruta:

route add 10.100.0.0/24 10.100.0.128

Y si tienes mas clientes en la VPN pero no en tu red física, deberían responder al ping (en mi caso, están en otro rango):

~ [qmdx] % ping 10.69.0.131
PING 10.69.0.131 (10.69.0.131) 56(84) bytes of data.
64 bytes from 10.69.0.131: icmp_seq=1 ttl=62 time=16.5 ms
64 bytes from 10.69.0.131: icmp_seq=2 ttl=62 time=15.6 ms
--- 10.69.0.131 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1002ms
rtt min/avg/max/mdev = 15.558/16.016/16.475/0.458 ms

Podemos usar traceroute para ver lo que está haciendo:

~ [qmdx] % traceroute 10.69.0.131
traceroute to 10.69.0.131 (10.69.0.131), 30 hops max, 60 byte packets
 1  10.100.0.129 (10.100.0.129)  0.635 ms  0.505 ms  0.442 ms
 2  10.100.0.2 (10.100.0.2)  19.422 ms  19.365 ms  19.317 ms
 3  10.69.0.131 (10.69.0.131)  19.270 ms  19.306 ms  19.252 ms

También puedes tener un servidor DHCP en la VLAN para que asigne IPs dentro del rango de wireguard, darles una ruta estática por DHCP y que se enruten automáticamente a la VPN cuando se conectan a la VLAN.


QR Code
QR Code red:wireguard (generated for current page)