OpenVPN: Server kann Client erreichen, ohne den gesamten Client-Datenverkehr über VPN umzuleiten?

1

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.

Eli
quelle
Nicht schubsen redirect-gateway überhaupt?
Tom Yan
Eliminieren push "redirect-gateway def1 bypass-dhcp" von der Serverkonfiguration (und allen ifconfig-push Dateien) und route-nopull von der Client-Konfiguration.
Tom Yan
Okay, ich habe es so eingestellt, dass es nicht drückt redirect-gateway überhaupt - wusste nicht, dass es nur auf dem Client eingestellt werden kann. Auch entfernt route-nopull / etc. Die ifconfig-push Dateien sind notwendig, um jedem Client eine statische IP zuzuweisen, da OpenVPN die Datei ipp.txt auch mit zu ignorieren scheint ifconfig-pool-persist ipp.txt 0. Leider zeigt es auch bei diesen Änderungen immer noch dasselbe Verhalten - nur Clients, die verwenden redirect-gateway Antworte dem Server.
Eli
Ich habe den Beitrag aktualisiert, um die vorgenommenen Änderungen widerzuspiegeln.
Eli
Wäre dies nicht besser für Serverfehler geeignet?
jiggunjer