¿Por qué falla esta asignación de IP estática del cliente en OpenVPN?

8

Estoy ejecutando un servidor OpenVPN y quiero asignar a un cliente específico una IP estática.

Este es mi server.conf. Creo que esto configura el conjunto de IP virtuales para abarcar del 10.5.24.209 al 10.5.24.223.

port 443
proto tcp
dev tun
sndbuf 0
rcvbuf 0
ca ca.crt
cert server.crt
key server.key
dh dh.pem
auth SHA512
tls-auth ta.key 0
topology subnet
server 10.5.24.208 255.255.255.240
#This netmask should span IPs .208-.223.
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 168.xx.xx.xx"
keepalive 10 120
cipher AES-256-CBC
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
verb 3
crl-verify crl.pem
client-to-client
client-config-dir ccd

Este es el contenido de /etc/openvpn/ccd/W7LocalVM, donde W7LocalVM es el nombre común de mi cliente. No entiendo muy bien lo que hace esta directiva, pero creo que la primera IP debería ser la IP estática deseada de mi cliente, y la segunda IP debería ser la IP de mi servidor.

ifconfig-push 10.5.24.210 10.5.24.209

Sin embargo, cuando intento conectar mi cliente con la configuración de este servidor, aparece el siguiente error:

Mon Aug 07 14:07:34 2017 Set TAP-Windows TUN subnet mode network/local/netmask = 10.5.24.208/10.5.24.210/10.5.24.209 [SUCCEEDED]
Mon Aug 07 14:07:34 2017 MANAGEMENT: Client disconnected
Mon Aug 07 14:07:34 2017 ERROR: --ip-win32 dynamic [offset] : offset is outside of --ifconfig subnet
Mon Aug 07 14:07:34 2017 Exiting due to fatal error

Pensé que la IP 10.5.24.210 estaría dentro de la subred definida en el lado del servidor, y no entiendo por qué recibo este error. ¿Alguien podría ayudarme en esto?

Magnus
fuente
1
En cambio, sugeriría que pregunte esto sobre Falla del servidor, podría obtener más información útil ya que ese sitio está dedicado a problemas de administración del servidor.
EJoshuaS - Restablece a Mónica el
Okay. Gracias. No sabía sobre esa comunidad. ¿Debo volver a publicar o hay alguna función que me permita migrar la publicación?
Magnus
1
Puede marcar la intervención del moderador y pedirles que migren. (Para algunos sitios, como Super Usuario, la comunidad puede votar para migrar, pero la migración a ese sitio debe ser realizada por moderadores).
EJoshuaS - Restablece a Mónica el

Respuestas:

4

Este problema se crea porque openvpn está tratando de analizar sus opciones de ifconfig como una ip seguida de una máscara de subred.

Según la página del manual:

--modo de topología

...

subred: utilice una subred en lugar de una topología punto a punto configurando la interfaz tun con una dirección IP local y una máscara de subred, similar a la topología utilizada en el modo de puente --dev tap y ethernet. Este modo asigna una única dirección IP por cliente de conexión y también funciona en Windows. Solo está disponible cuando el servidor y los clientes son OpenVPN 2.1 o superior, o OpenVPN 2.0.x que ha sido parcheado manualmente con el código de la directiva de topología. Cuando se usa en Windows, requiere la versión 8.2 o superior del controlador TAP-Win32. Cuando se usa en * nix, requiere que el controlador tun admita un comando ifconfig (8) que establece una subred en lugar de una dirección IP de punto final remoto.

Esta opción existe en OpenVPN 2.1 o superior.

Nota: El uso de la subred --topology cambia la interpretación de los argumentos de --ifconfig para que signifique "máscara de red de direcciones", ya no "remoto local".

--ifconfig l rn

Establezca los parámetros del adaptador TUN / TAP. l es la dirección IP del punto final VPN local. Para dispositivos TUN en modo punto a punto, rn es la dirección IP del punto final VPN remoto. Para dispositivos TAP, o dispositivos TUN utilizados con la subred de topología , rn es la máscara de subred del segmento de red virtual que se está creando o conectando . Para los dispositivos TUN, que facilitan las conexiones IP punto a punto virtuales (cuando se usan en el modo --topology net30 o p2p), el uso adecuado de --ifconfig es usar dos direcciones IP privadas que no son miembros de ninguna subred existente que está en uso Las direcciones IP pueden ser consecutivas y deben tener su orden invertido en el par remoto. Después de establecer la VPN, haciendo ping a rn, estará haciendo ping a través de la VPN.

Para dispositivos TAP, que proporcionan ...

Dentro de su código de servidor, configura su topología subnety luego la envía al cliente utilizando la serverinstrucción.

De acuerdo con la documentación anterior, en lugar de presionar su ifconfig usando la dirección "local", "remota", debe agregar lo siguiente a "/ etc / openvpn / ccd / W7LocalVM":

ifconfig-push 10.5.24.210 255.255.255.252
push route 10.5.24.210 255.255.255.252
# ifconfig 10.5.24.209 255.255.255.252

La última línea probablemente no sea necesaria, pero se deja como ejemplo lo que ifconfig-push "debería" hacer en el lado del servidor para que la conexión funcione.

Ferrybig
fuente
Escribí un comentario aquí preguntando por qué sugirió asignar cuatro IP por cliente, pero fui lo suficientemente trabajador como para encontrar la respuesta en las preguntas frecuentes. ¡Gracias por resolver el enigma!
Magnus