Ich habe einen OpenVPN-Server eingerichtet und er funktioniert bisher. Ich habe die folgenden Subnetze in meinem Netzwerk, 10.200.1.0/24
, 10.200.2.0/24
, und 10.200.3.0/24
. Wenn ich mich mit meinem VPN verbinde, kann ich alle 3 Subnetze problemlos anpingen. Wie beschränke ich den Subnetzzugriff von der Serverseite aus? Ich brauche keine Konfiguration, da dies für alle Clients vorgesehen ist. Ich möchte nur den Zugriff auf das Subnetz und global ccd
beschränken, wenn eine Verbindung besteht.10.200.1/24
10.200.2/24
Die folgende Konfiguration funktioniert, wenn der Client bei bestehender Verbindung nicht zugreifen kann, 10.200.3/24
weil der Server die Route nicht an den Client gesendet hat. Wenn der Client die Route jedoch manuell zu seinem Computer hinzufügt, kann er technisch gesehen eine Verbindung herstellen.
Wie erzwinge ich serverseitig, auf welches Subnetz zugegriffen werden darf?
server.conf
local 10.200.0.8
port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh.pem
auth SHA512
tls-crypt tc.key
topology subnet
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "route 10.200.1.0 255.255.255.0"
push "route 10.200.2.0 255.255.255.0"
keepalive 10 120
cipher AES-256-CBC
user nobody
group nobody
persist-key
persist-tun
status openvpn-status.log
verb 3
crl-verify crl.pem
explicit-exit-notify
Antwort1
Ihr VPN-Server ist ein IP-Router (der Pakete weiterleitet), wo Pakete gefiltert werden können (weitergeleitet oder nicht weitergeleitet werden). Dies geschieht mit einer Firewall. Wenn der Server beispielsweise Linux ist, fügen Sie hinzu:
iptables -I FORWARD 1 -s 10.8.0.0/24 -d 10.200.3.0/24 -j REJECT
Die -I ... 1
Regel wird vor allem anderen in der Kette installiert. Ich habe sie so gestaltet, um sicherzustellen, dass sie so, wie sie ist, richtig funktioniert, unabhängig davon, was sich bereits in der Firewall befindet. Dies ist möglicherweise nicht optimal. Bitte passen Sie die Regel nach Bedarf an. Stellen Sie einfach sicher, dass sie vor jeder Erlaubnisregel erscheint, die auf Pakete von VPN-Clients zutrifft.
Diese Filterung kann auch mit dem OpenVPN-Plugin durchgeführt werden, ist aber viel schwieriger zu erreichen.