Wie richte ich OpenVPN ein, damit die VPN-Clients auf alle Server im Server-LAN zugreifen können?

12

Die LAN-IP-Adresse meines Servers lautet 192.168.1.1, und auf 192.168.1.2 befindet sich ein Intranet-Webserver. Der OpenVPN-Dämon ist so konfiguriert, dass Clients 192.168.2. * Adressen erhalten.

Es gibt eine push "route 192.168.1.0 255.255.255.0"Zeile in der Konfiguration, die den VPN-Clients den Zugriff auf das gesamte 192.168.1.0-Netz ermöglichen soll, aber sie können nur auf 192.168.1.1 - den VPN-Server selbst - zugreifen.

Ich habe damit versucht , net.ipv4.ip_forward = 1in , /etc/sysctl.confaber das hilft nicht.

Irgendwelche Ideen?

PS: Auf dem Server läuft Ubuntu 12.04.
PPS: OpenVPN wird im tunModus über UDP ausgeführt.

Ivan
quelle
Lieber @FrandsHansen, ich akzeptiere nur Antworten, die gleichzeitig 1. logisch korrekte Antworten auf die Fragen sind, 2. von mir auf Arbeit getestet wurden.
Ivan

Antworten:

18

Stellen Sie sicher, dass die IP-Weiterleitung akut aktiviert ist

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

Damit der Routen-Push funktioniert, müssen die Server im Inneren auch die Route zu Ihrer OpenVPN-Client-IP-Adresse kennen. Sie müssen also die Route zu 192.168.2.0/24 kennen

Sie können iptables höchstwahrscheinlich dazu bringen, das Routing über Maskerade mit durchzuführen

/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
quelle
echo 1 > /proc/sys/net/ipv4/ip_forwardgibt -bash: /proc/sys/net/ipv4/ip_forward: Permission denied- was bedeutet das in diesem Fall?
Ivan
Höchstwahrscheinlich bedeutet dies, dass Sie es nicht als root tun. Versuchen Sie es als root
Frands Hansen
Es ist genau der gleiche Effekt mit sudo. Was soll das Ergebnis sein?
Ivan
1
Wenn Sie sudo vor den Befehl stellen, werden die Berechtigungen nicht zur Datei hinzugefügt (nach dem>). Sie müssen also zum Root aufsteigen und dies dann tun.
Frands Hansen
1
oder verwenden Sieecho 1 | sudo tee
ygrek
2

Wenn Ihr LAN-Netzwerk wirklich 192.168.1.0/24 ist, können viele Probleme auftreten. Weil die meisten Router dieses Standardnetzwerk haben. Wenn Sie sich im Gastnetzwerk befinden, kann Ihr Computer eine IP-Adresse aus dem Netzwerk 192.168.1.0/24 erhalten. Sie können also nicht auf Ihr Remote-Netzwerk zugreifen, sondern auf das Gastnetzwerk. Ich schlage vor, ein anderes Netzwerk für Ihr LAN und VPN zu wählen. Zum Beispiel 192.170.15.0/24 für LAN und 10.0.5.0/xx für VPN. xx hängt davon ab, wie viele VPN-Clients eine Verbindung zum LAN herstellen.

Hier ist mein fw-Skript für 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
quelle
Nein, es ist eigentlich nicht 192.168.1.0, sondern nur 2 verschiedene 192.168. #. 0-Netze. Danke für die Antwort.
Ivan
Bei Bedarf kann ich meine OpenVPN-Serverkonfiguration und Clientkonfiguration freigeben.
Guntis