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.


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

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

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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.