web-dev-qa-db-fra.com

Comment configurer OpenVPN pour permettre aux clients VPN d'accéder à tous les serveurs à l'intérieur du LAN du serveur?

L'IP de mon serveur LAN est 192.168.1.1 et il y a un serveur Web intranet sur 192.168.1.2 Le démon OpenVPN est configuré pour donner aux clients des adresses 192.168.2. *.

Il y a Push "route 192.168.1.0 255.255.255.0" ligne dans la configuration qui devrait permettre aux clients VPN d'accéder à l'intégralité du réseau 192.168.1.0, mais ils ne peuvent accéder qu'à 192.168.1.1 - le serveur VPN lui-même.

J'ai essayé d'activer net.ipv4.ip_forward = 1 dans /etc/sysctl.conf mais cela n'aide pas.

Des idées?

PS: le serveur exécute Ubuntu 12.04.
PPS: OpenVPN s'exécute en mode tun sur UDP.

12
Ivan

Assurez-vous que le transfert IP est bien activé

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

De plus, pour que le routage Push fonctionne, les serveurs à l'intérieur doivent également connaître le chemin vers l'adresse IP de votre client OpenVPN. Ils devront donc connaître l'itinéraire vers 192.168.2.0/24

Vous pouvez très probablement faire iptables faire le routage via la mascarade en utilisant

/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
19
Frands Hansen

Si votre réseau LAN est vraiment 192.168.1.0/24, vous pouvez rencontrer de nombreux problèmes. Parce que la plupart des routeurs ont ce réseau par défaut. Ainsi, lorsque vous êtes sur un réseau invité, votre ordinateur peut obtenir une adresse IP à partir du réseau 192.168.1.0/24. Vous ne pouvez donc pas accéder à votre réseau distant, mais au réseau invité. Je suggère de choisir un autre réseau pour votre LAN et VPN. par exemple 192.170.15.0/24 pour LAN et 10.0.5.0/xx pour vpn. xx dépend de la quantité de clients vpn qui se connectent au LAN.

voici mon script fw pour 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
2
Guntis