Also habe ich ein einigermaßen einfaches eingerichtet tun
OpenVPN-Server und es treten Probleme auf, damit der Server mit allen verbundenen Clients kommunizieren kann.
Ich habe derzeit zwei Gruppen von Clients, von denen einige nicht über das VPN mit dem Internet verbunden sind (nur um mit den anderen Clients zu sprechen) und andere redirect-gateway
um den gesamten Datenverkehr über das VPN zu senden.
Mit meiner Konfiguration können alle verbundenen Clients mit dem Server und mit den anderen Clients kommunizieren. Vom Server aus kann ich jedoch nur die verwendeten Clients erreichen (z. B. pingen) redirect-gateway
um den gesamten Datenverkehr über das VPN zu senden. Die Clients, die diese Konfiguration nicht verwenden, können den Server anpingen, aber der Server kann nicht zurückpingen (sie reagieren nicht darauf und es tritt eine Zeitüberschreitung auf).
Wie kann ich das Routing so einrichten, dass der Server auch dann mit Clients kommunizieren kann, wenn diese das VPN nicht als Standardgateway verwenden?
Hier ist die relevante Serverkonfiguration:
port 1194
proto udp
dev tun
topology subnet
push "topology subnet"
server 10.7.0.0 255.255.255.0
ifconfig-pool-persist /etc/openvpn/ipp.txt
client-config-dir /etc/openvpn/ccd
client-to-client
keepalive 10 120
cipher AES-256-CBC
comp-lzo
user nobody
group nobody
persist-key
persist-tun
explicit-exit-notify 1
Im Client-Konfigurationsverzeichnis auf dem Server hat jeder Client eine Datei wie diese (nur um jedem eine statische IP zu geben):
ifconfig-push 10.7.0.10 255.255.255.0
Die relevanten Bits der lokalen Client-Konfiguration:
client
dev tun
proto udp
remote {server's public ip} 1194
float
keepalive 15 60
ns-cert-type server
key-direction 1
tun-mtu 1500
cipher AES-256-CBC
keysize 256
comp-lzo yes
nobind
Die Clients, die das VPN für den Internetzugang verwenden, werden hinzugefügt redirect-gateway def1 bypass-dhcp
zu ihrer Konfig.
Ich benutze ufw
für die Firewall meines Servers - hier ist die relevante Konfiguration (in /etc/ufw/before.rules):
*nat
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -s 10.7.0.0/8 -j SNAT --to-source {server's public ip}
Da dies auf einem OpenVZ VPS läuft, kann ich nicht verwenden MASQUERADE
, aber das oben genannte scheint genauso gut zu funktionieren.
Irgendwelche Ideen, wie man das richtig einrichtet? Danke im Voraus. Wenn es darauf ankommt, führt der Server CentOS aus.
redirect-gateway
überhaupt?push "redirect-gateway def1 bypass-dhcp"
von der Serverkonfiguration (und allenifconfig-push
Dateien) undroute-nopull
von der Client-Konfiguration.redirect-gateway
überhaupt - wusste nicht, dass es nur auf dem Client eingestellt werden kann. Auch entferntroute-nopull
/ etc. Dieifconfig-push
Dateien sind notwendig, um jedem Client eine statische IP zuzuweisen, da OpenVPN die Datei ipp.txt auch mit zu ignorieren scheintifconfig-pool-persist ipp.txt 0
. Leider zeigt es auch bei diesen Änderungen immer noch dasselbe Verhalten - nur Clients, die verwendenredirect-gateway
Antworte dem Server.