[Frage] OpenVPN: Verbundene Netzwerke - bestimmtem Client Zugriff auf Server-Netz verbieten

Adsubia

Neuer User
Mitglied seit
29 Mai 2015
Beiträge
118
Punkte für Reaktionen
2
Punkte
18
Hallo zusammen,

ich habe mal eine Frage, die wahrscheinlich die Thematik "Firewalls" betrifft. Falls nicht, dann bin ich hier wohl falsch und ein Admin kann diesen Thread dann gern dorthin verschieben, wo er besser aufgehoben ist ;)...

Meine Frage habe ich versucht schon im Titel möglichst aussagekräftig zu formulieren, was die Begrenzung der Länge des Titels nicht so einfach gemacht hat. Deswegen hole ich hier mal etwas aus:

Ich habe 2 Netzwerke mit OpenVPN verbunden.
Netz A: Das ist das Hauptnetz, wo sich der OpenVPN-Server befindet und ich meist vor Ort bin. Der OpenVPN-Server ist in diesem Fall nicht gleichzeitig das Default-Gateway, sondern hängt am Router dran. Es ist ein Linux-Server.
Netz B: Dort befindet sich ein immer mit dem OpenVPN-Server verbundener Client, der gleichzeitig dort auch das Default-Gateway ist. Es handelt sich dabei um eine FritzBox mit Freetz.
Am OpenVPN-Server in Netz A können sich auch andere Clients anmelden, die nur bei Bedarf im VPN sind (also mobile Geräte wie Laptops, Smartphones, Tablets...).

Worum es mir nun geht: Ich möchte gerne nach Bedarf den Zugriff von Netz B aus auf die Geräte in Netz A unterbinden. Nur nach Bedarf! Wenn ich an Ort B bin, möchte ich natürlich auch auf die Geräte in mein Heimnetz an Ort A zugreifen können, aber wenn irgendwer anders sich an Ort B befindet und das Netz dort zum Surfen nutzen möchte, dann hat er natürlich nix in meinem Heimnetz an Ort A zu suchen ;)! Bisher habe ich das Problem so gelöst, dass einfach niemand die Daten zu dem Netz bekommen hat, aber bestimmt geht das auch flexibler und netter zu lösen ;)! Die Route einfach nicht zu pushen, geht leider nicht, weil ja die mobilen Clients auf jeden Fall vollen Zugriff auf Netz A haben sollen!

Deswegen wäre ich für jegliche Hilfestellung dankbar, wie man das möglichst einfach lösen kann! Ich bedanke mich schon einmal im Voraus für eure hilfreichen Denkanstöße!
 
Zuletzt bearbeitet:

Adsubia

Neuer User
Mitglied seit
29 Mai 2015
Beiträge
118
Punkte für Reaktionen
2
Punkte
18
Hier habe ich - glaube ich - schon den Denkanstoß gefunden, der mir gefehlt hat: https://openvpn.net/index.php/open-source/documentation/howto.html#policy
Mein Server-Netz ist 192.168.1.0/24.

Ich muss also dem Client, zu den Zeiten, wenn er nicht zugreifen darf, in dessen ccd-File ein eigenes Subnetz setzen:
ifconfig-push 10.8.1.1 10.8.1.2
Dann muss ich in den IP-Tables des Servers 2 Regeln einfügen.
Alle, die kein eigenes Subnetz in ihrem ccd-File zugewiesen bekommen, bleiben automatisch im 10.8.0.0/24-Netz und dürfen auf das gesamte Heimnetz zugreifen:
iptables -A FORWARD -i tun0 -s 10.8.0.0/24 -d 192.168.1.0/24 -j ACCEPT
Bei der 2. Regel bin ich mir nicht ganz sicher... Muss ich den Zugriff auf den OpenVPN-Server selbst erlauben?
iptables -A FORWARD -i tun0 -s 10.8.1.0/24 -d <IP OpenVPN-Server> -j ACCEPT
Oder muss ich den Zugriff auf das gesamte Server-Netz komplett sperren?
iptables -A FORWARD -i tun0 -s 10.8.1.0/24 -d 192.168.1.0/24 -j REJECT
Für die Zeit, die der besagte Client wieder zugreifen darf, muss eigentlich nur in den IP-Tables des OpenVPN-Servers für sein Subnetz wieder der Vollzugriff eingeschaltet werden (das eigene Subnetz stört ja nicht weiter und kann bleiben):
iptables -A FORWARD -i tun0 -s 10.8.1.0/24 -d 192.168.1.0/24 -j ACCEPT
Oder alternativ das eigene Subnetz wieder aus dem ccd-File rausschmeißen. Das ist kein Problem, denn der besagte Client verbindet sich sowieso jede Nacht wieder neu. Außerdem kann man ja nach dem Ändern der Konfiguration den OpenVPN-Server einfach neustarten, dann muss sich der Client ja sowieso wieder neu verbinden und wandert dann automatisch wieder ins 10.8.0.0/24-Netz.

Was mir von eurer Seite nun noch weiterhelfen würde, wäre, wie die Firewall-Regel 2 für das eigene Subnetz des Clients mit den wechselnden Zugriffsrechten zu formulieren ist:
1. Muss der Zugriff zumindest auf den OpenVPN-Server selbst gewährt sein oder kann er auf das gesamte Server-Netz gesperrt werden?
2. "Überleben" IPTables-Rules einen Neustart der gesamten Hardware, auf der der OpenVPN-Server läuft?