Ich richte ein VPN-Netzwerk mit vielen kleinen Geräten ein (mit OpenWRT). In meinem Anwendungsfall sind die Geräte alle durch eine Nummer gekennzeichnet, und ich möchte, dass ihre IP-Adressen mit ihrer ID übereinstimmen (z. B. die Gerätenummer 6 hat eine IP in XXX6).
Ich bin mir dessen bewusst client-config-dir
und ifconfig-push
kann sie nicht verwenden, da alle meine Geräte dasselbe Zertifikat verwenden ( duplicate-cn
ist aktiviert). Dies ist eine Voraussetzung, da das Generieren eines Zertifikats für jedes Gerät zu einschränkend ist (außerdem möchten wir die Konfiguration des VPN-Servers nicht ändern, wenn wir dem System ein Gerät hinzufügen).
Ist es möglich, die IP-Adresse in der Client-Konfigurationsdatei festzulegen? Ich habe in der Dokumentation zu diesem bestimmten Thema nichts gefunden ... Und alles, was ich versucht habe, war nicht erfolgreich.
Grundsätzlich denke ich an Folgendes:
- Client Stellen Sie eine Verbindung zum VPN-Server her und fragen Sie nach einer bestimmten Adresse ("Geben Sie mir die IP-Adresse: 172.16.0.22").
- Wenn die Adresse bereits vergeben ist, schlägt der Handshake fehl. Wenn es kostenlos ist, erhält der Kunde die Adresse, die er zuvor gefragt hat
quelle
Antworten:
Sie sollten dies mit der
ifconfig-pool-persist
Konfigurationsoption tun können . Sie können die Datei vorkonfigurieren und festlegenseconds = 0
, dass OpenVPN nur die Datei lesen soll.Wir verwenden es, um sicherzustellen, dass demselben Benutzer dieselbe IP zugewiesen wird, wenn er zu Überwachungszwecken über VPN verbunden ist.
Von der Manpage :
quelle
Angenommen, wir richten ein Unternehmens-VPN ein und möchten separate Zugriffsrichtlinien für drei verschiedene Benutzerklassen festlegen:
Der grundlegende Ansatz besteht darin, (a) jede Benutzerklasse in ihren eigenen virtuellen IP-Adressbereich zu unterteilen und (b) den Zugriff auf Computer zu steuern, indem Firewall-Regeln eingerichtet werden, die die virtuelle IP-Adresse des Clients eingeben.
Nehmen wir in unserem Beispiel an, wir haben eine variable Anzahl von Mitarbeitern, aber nur einen Systemadministrator und zwei Auftragnehmer. Unser IP-Zuweisungsansatz besteht darin, alle Mitarbeiter in einen IP-Adresspool aufzunehmen und dann dem Systemadministrator und den Auftragnehmern feste IP-Adressen zuzuweisen.
Beachten Sie, dass eine der Voraussetzungen für dieses Beispiel darin besteht, dass auf dem OpenVPN-Server eine Software-Firewall ausgeführt wird, mit der Sie bestimmte Firewall-Regeln definieren können. In unserem Beispiel wird davon ausgegangen, dass es sich bei der Firewall um Linux iptables handelt.
Lassen Sie uns zunächst eine virtuelle IP-Adresszuordnung nach Benutzerklasse erstellen:
Als nächstes übersetzen wir diese Map in eine OpenVPN-Serverkonfiguration. Stellen Sie zunächst sicher, dass Sie die oben genannten Schritte ausgeführt haben, um das Subnetz 10.66.4.0/24 allen Clients zur Verfügung zu stellen (während wir das Routing so konfigurieren, dass der Clientzugriff auf das gesamte Subnetz 10.66.4.0/24 möglich ist, legen wir dies fest Zugriffsbeschränkungen mithilfe von Firewall-Regeln zum Implementieren der obigen Richtlinientabelle.
Definieren Sie zunächst eine statische Einheitennummer für unsere Tun-Schnittstelle, damit wir später in unseren Firewall-Regeln darauf verweisen können:
Definieren Sie in der Serverkonfigurationsdatei den Mitarbeiter-IP-Adresspool:
Fügen Sie Routen für die IP-Bereiche Systemadministrator und Auftragnehmer hinzu:
Da wir bestimmten Systemadministratoren und Auftragnehmern feste IP-Adressen zuweisen, verwenden wir ein Client-Konfigurationsverzeichnis
ccd
:Platzieren Sie nun spezielle Konfigurationsdateien im
ccd
Unterverzeichnis, um die feste IP-Adresse für jeden Nicht-Mitarbeiter-VPN-Client wie folgt zu definieren.ccd/sysadmin1
Datei:ccd/contractor1
Datei:ccd/contractor2
Datei:Jedes Paar von ifconfig-Push-Adressen repräsentiert die IP-Endpunkte des virtuellen Clients und Servers. Sie müssen aus aufeinanderfolgenden / 30 Subnetzen entnommen werden, um mit Windows-Clients und dem TAP-Windows-Treiber kompatibel zu sein. Insbesondere muss das letzte Oktett in der IP-Adresse jedes Endpunktpaars aus diesem Satz entnommen werden:
Damit ist die OpenVPN-Konfiguration abgeschlossen. Der letzte Schritt besteht darin, Firewall-Regeln hinzuzufügen, um die Zugriffsrichtlinie abzuschließen.
Quelle: https://openvpn.net/index.php/open-source/documentation/howto.html#policy
quelle
Ich hatte einige Probleme beim Konfigurieren wie @jas_raj. Jetzt mache ich das nächste:
1) Erstellen Sie in / etc / openvpn einen neuen Ordner. Zum Beispiel " dir "
2) server.conf Zeile " client-config-dir dir / " hinzufügen
3) In "dir" müssen Sie eine neue Datei mit dem gleichen Namen erstellen, den Sie in Ihr Zertifikat geschrieben haben, und Folgendes eingeben:
ifconfig-push IP MASK
Zum Beispiel: ifconfig-push 10.0.0.10 255.0.0.0
quelle