GNU/Linux >> Tutoriales Linux >  >> Cent OS

Centos:¿Wireguard no enruta el tráfico del cliente a otros servidores en la red?

Tengo la versión CentOS 7.6 e instalé el servidor VPN Wireguard de prueba. Toda la instalación y configuración es bastante sencilla, al menos de acuerdo con la documentación, así que lo que hice fue instalar wireguard-tools, wireguard-dkms y linux-headers

El siguiente paso fue generar la clave privada y pública del servidor y escribir la configuración del servidor como:

[Interface]
Address = 10.7.0.1/24
ListenPort = 34777
PrivateKey = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=

[Peer]
PublicKey  = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
AllowedIPs = 10.7.0.2/32

[Peer]
PublicKey = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
AllowedIPs = 10.7.0.3/32

[Peer]
PublicKey = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
AllowedIPs = 10.7.0.4/32

[Peer]
PublicKey = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
AllowedIPs = 10.7.0.5/32

desde el lado del servidor, abrí el puerto 34777 udp en un firewall y configuré sysctl -w net.ipv4.ip_forward (para habilitar el reenvío) ya que este servidor debería reenviar el tráfico del cliente a otros servidores en la subred del servidor VPN.
Ahora imaginemos que la IP pública de este servidor es 11.11.11.11/23

En el lado del cliente, la configuración se ve así:

[Interface]
Address = 10.7.0.4/24
PrivateKey = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=

[Peer]
PublicKey = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
AllowedIPs = 10.7.0.1/32,11.11.11.0/23 (for having route to 11.11.11.0/23 subnet) or 0.0.0.0/0
Endpoint = 11.11.11.11:34777

ahora 0.0.0.0/0 significa que reenviaré todo el tráfico a mi VPN (no es obligatorio), puede ser un túnel dividido... lo que no entiendo, cuando me conecto, puedo hacer ping a la interfaz del servidor 10.7.0.1, pero no puedo hacer ping a nada de la red 11.11.11.0/23.
Dado que la red 11.11.11.0/23 es pública, no hay NAT.
También para mencionar, en CentOS uso firewalld en lugar de iptables.

¿Cómo y por qué no puedo ver la red interna detrás de la interfaz tunelada?

imagina cómo se ve la configuración:

PD En la imagen, entre el host A y el servidor Wireguard, hay otro enrutador Linux (un enrutador principal), por lo que debe tenerlo en cuenta.

Respuesta aceptada:

Después de tantos intentos y fallas y una lluvia de ideas con los chicos del canal IRC de wireguard, aparentemente olvidé agregar una ruta estática para 10.7.0.0/24 para cada servidor detrás de wireguard. Ping va al servidor, pero no regresa porque el servidor no sabe dónde enviar esa respuesta de eco:

ip route add 10.7.0.0/24 via 11.11.11.11 dev eth0 (main device for communication)

Para mí, problema resuelto 😉


Cent OS
  1. OpenVPN seguro con autenticación de dos factores de WiKID en Centos 7

  2. Actualice a CentOS 6.2 desde CentOS 6.1 / CentOS 6.0

  3. Actualice a CentOS 6.4 desde CentOS 6.3

  4. Mantenga los servidores CentOS 6 a salvo de una nueva vulnerabilidad de OpenSSL

  5. CentOS – Error de comando semanage no encontrado – ¡La solución está aquí!

La forma no oficial de migrar a AlmaLinux desde CentOS 8

Agregar cliente al servidor FreeIPA en CentOS 8

Resolución de problemas de red desde la línea de comandos con TShark

CentOS / RHEL 6,7:Cómo eliminar un destino iSCSI en el iniciador (cliente iSCSI)

Cómo cambiar el modo de enlace de red en CentOS/RHEL 6

Cómo configurar el cliente DHCP de Ubuntu