OpenVPN-Client-Routing funktioniert nicht immer

OpenVPN-Client-Routing funktioniert nicht immer

Ich verwende einen Server mit OpenVPN- und PPTP-Daemons.

In iptables habe ich Regeln, um einigen PPTP-Clients die Berechtigung zu erteilen, über auf dem Server verfügbare PPTP- oder OpenVPN-Tunnel mit anderen Clients Kontakt aufzunehmen.

Elevated pptp client --> pptp server forward to --> pptp client
Elevated pptp client --> pptp server forward to --> openvpn client

Das funktioniert ganz gut, aber:

Hin und wieder kann ich keinen Kontakt zu einem OpenVPN-Client herstellen. Wenn ich die IP des OpenVPN-Clients anpinge, erhalte ich ein Timeout, obwohl ich diese IP direkt vom Server aus anpingen kann!

server --> openvpn client == 64 bytes from *** time *ms
Elevated pptp client --> server == 64 bytes from *** time *ms
Elevated pptp client --> pptp server forward to --> openvpn client == time-out

Der Server ist ein Ubuntu 14.04-Server, aber auf meinem letzten Server mit Ubuntu 10.10 hatte ich dasselbe Problem.

Ich denke, das Problem ist folgendes: Die Ping-Nachricht lautet:

elevated client --> server routing --> openvpn daemon routing --> client
                                       openvpn daemon routing <-- client

Der OpenVPN-Daemon kann in seinem eigenen Pool die IP-Adresse zum Antworten nicht finden und verwirft die Nachricht.

Gibt es eine Möglichkeit, dies zu bestätigen, und wenn dies das Problem ist: Warum passiert mir das nur bei einigen Kunden und wie finde ich eine Lösung?

Antwort1

Habe die Antwort darauf gefunden.

Ich pushe Routen zum Client. Der Client ist manchmal früher mit der Ausführung der Routenergänzung fertig, als die TAP/TUN-Schnittstelle aktiv ist. Die Route wird ignoriert.

Nein, ich habe den Clients ein sekundäres Skript hinzugefügt, das ausgeführt wird, wenn die Schnittstelle aktiv ist und in dem ich meine Routen einfügen kann.

Nun hoffen wir, dass wir sie nie ändern müssen, da wir sonst jeden Client bearbeiten müssten …

verwandte Informationen