¿Cómo configurar OpenVPN para permitir que los clientes VPN accedan a todos los servidores dentro de la LAN del servidor?

12

La IP de LAN de mi servidor es 192.168.1.1 y hay un servidor web de intranet en 192.168.1.2. El daemon de OpenVPN está configurado para dar a los clientes direcciones 192.168.2. *.

Hay una push "route 192.168.1.0 255.255.255.0"línea en la configuración que espero permita a los clientes VPN acceder a toda la red 192.168.1.0, pero solo pueden acceder a 192.168.1.1, el servidor VPN en sí.

He intentado que permite net.ipv4.ip_forward = 1en /etc/sysctl.conf, pero esto no ayuda.

¿Algunas ideas?

PD: el servidor ejecuta Ubuntu 12.04.
PPS: OpenVPN se ejecuta en tunmodo sobre UDP.

Ivan
fuente
Estimado @FrandsHansen, solo acepto respuestas que, al mismo tiempo, 1. son respuestas lógicamente correctas a las preguntas, 2. que he probado para que funcione.
Ivan

Respuestas:

19

Asegúrese de que el reenvío de IP esté habilitado de forma aguda

echo 1 > /proc/sys/net/ipv4/ip_forward

Además, para que el envío de ruta funcione, los servidores en el interior también necesitan conocer la ruta a la dirección IP de su cliente OpenVPN. Por lo tanto, deberán conocer la ruta a 192.168.2.0/24

Lo más probable es que pueda hacer que iptables haga el enrutamiento a través de la mascarada

/sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
/sbin/iptables -A FORWARD -i eth0 -o tun0 -m state --state RELATED,ESTABLISHED -j ACCEPT
/sbin/iptables -A FORWARD -i tun0 -o eth0 -j ACCEPT
Frands Hansen
fuente
echo 1 > /proc/sys/net/ipv4/ip_forwardda -bash: /proc/sys/net/ipv4/ip_forward: Permission denied- ¿qué significa en este caso?
Ivan
Lo más probable es que no lo estés haciendo como root. Intenta hacerlo como root
Frands Hansen
Es el mismo efecto con sudo. ¿Cuál es el resultado que se pretende que sea?
Ivan
1
Poner sudo delante del comando no agregará los privilegios al archivo (después del>), por lo que debe elevar a root y luego hacerlo.
Frands Hansen
1
o usarecho 1 | sudo tee
ygrek
2

Si su red LAN es realmente 192.168.1.0/24, entonces puede tener muchos problemas. Porque la mayoría de los enrutadores tienen esa red predeterminada. Entonces, cuando está en la red de invitados, su computadora puede obtener una ip de la red 192.168.1.0/24. Por lo tanto, no puede acceder a su red remota, sino a la red de invitados. Sugiero elegir otra red para su LAN y VPN. por ejemplo 192.170.15.0/24 para LAN y 10.0.5.0/xx para vpn. xx depende de la cantidad de clientes vpn que se conectan a LAN.

aquí está mi script fw para openvpn

#!/bin/sh

iptables -A INPUT -i tun+ -j ACCEPT
iptables -A FORWARD -i tun+ -j ACCEPT
iptables -A INPUT -i tap+ -j ACCEPT
iptables -A FORWARD -i tap+ -j ACCEPT

# Allow packets from private subnets
iptables -A INPUT -i eth1 -j ACCEPT
iptables -A FORWARD -i eth1 -j ACCEPT

# i have multiple vpn networks
# 192.123.123.0/24 = LAN
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth1 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 10.9.0.0/30 -o eth1 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 10.9.1.0/30 -o eth1 -d 192.123.123.39 -j MASQUERADE # to single server access only

echo 1 > /proc/sys/net/ipv4/ip_forward
Guntis
fuente
No, en realidad no es 192.168.1.0, solo 2 redes 192.168. #. 0 diferentes. Gracias por la respuesta.
Ivan
Si lo necesita, puedo compartir mi configuración de servidor openvpn y la configuración del cliente.
Guntis