Installez OpenVPN Server sur Windows Server et utilisez AD (LDAP) Faire la vérification du compte

◎ OS du serveur: Windows Server 2019
◎ OpenVPN: OpenVPN 2.4.9 (Communauté)
◎ Composant de vérification AD: Auth4OpenVPNv2.0
OS client OS: Sous Windows 10

 

En raison de l'ancien équipement matériel VPN de l'entreprise,Solutions VPN d'enquête récentes,Je veux commencer par des solutions open source,Au début, j'ai pensé à OpenVPN, qui a été testé il y a cinq ans.,Mais après avoir téléchargé le fichier image de VM sur le site officiel et terminé la construction,J'ai découvert que cette version n'ouvre que deux connexions client gratuites,Abonnez-vous pour en savoir plus。Je pensais avoir commencé à charger,Pas étonnant que le serveur et le client (OpenVPN Connect) L'interface du logiciel est devenue si belle,J'avais l'habitude de me souvenir de modifier les paramètres via le bloc-notes。

Puis j'ai trouvé SoftEther VPN du Japon,Après avoir passé du temps à rechercher et à construire,Je pensais que cet ensemble devrait fonctionner,De façon inattendue, lorsque je faisais le test,,Un bogue de connexion SQL a été détecté dans SoftEther VPN,Et les internautes signalent le problème depuis deux ans,Le fonctionnaire n'a toujours pas corrigé,Alors j'ai dû abandonner à contrecœur。 Comment configurer SoftEther VPN,Reportez-vous à【Remarques】 Paramètres du serveur VPN SoftEther

Plus tard, je suis retourné pour trouver les informations de licence pertinentes d'OpenVPN,Seulement trouvé la version de Communauté,Après avoir installé le téléchargement,L'écran de configuration du fichier texte familier réapparaît,Ha。Vous trouverez ci-dessous l'objectif et la méthode de définition de cette version:

【Objectifs】
◎ Le serveur utilise le système Windows。
◎ Utilisez AD comme méthode de vérification de compte。
◎ Le côté client utilise un segment de réseau indépendant,Et obtenez l'IP automatiquement。
◎ Le côté client ne circulera que VPN pour le trafic de segment de réseau spécifique,Aller en ligne (l'Internet) Will not。
◎ Le client peut se connecter à d'autres segments de réseau au sein de l'entreprise。

 

◎ Premier,à Téléchargements de la communauté OpenVPN Téléchargez la dernière version depuis la page。

 

◎ Puis référez-vous à la communauté Easy_Windows_Guide,Paramètres complets du serveur et du client,Les paramètres de clé de capture suivants。


 

[Travaux préliminaires]

◎ Veuillez cocher vous-même lors de l'installation “EasyRSA 2 Scripts de gestion des certificats” élément。

◎ Exécutez cmd en tant qu '"administrateur système",Et exécutez les commandes suivantes dans l'ordre:

  cd "C:\Program Files\OpenVPN\easy-rsa"  init-config  notepad vars.bat  

 

◎ Modifier les informations de certificat par défaut,Archiver après modification。

set KEY_COUNTRY = US
set KEY_PROVINCE = CA
set KEY_CITY = SanFrancisco
set KEY_ORG = OpenVPN
set [email protected]

 

◎ Exécutez les commandes suivantes dans l'ordre:

  vars  clean-all  

 

【Construire le certificat et la clé】
◎ Exécutez les commandes suivantes:

  build-ca  

 

◎ Entrez les informations du certificat:

Nom du pays (2 code de lettre) [NOUS]:
Nom de l'État ou de la province (nom complet) [CA]:
Nom de la localité (par exemple, ville) [SanFrancisco]:
nom de l'organisation (par exemple, compagnie) [OpenVPN]:
Nom de l'unité organisationnelle (par exemple, section) []:
Nom commun (par exemple, votre nom ou le nom d'hôte de votre serveur) []:
Adresse électronique [[email protected]]:

 

◎ Exécutez les commandes suivantes dans l'ordre:

  build-key-server server  build-key client  # Guide 上是建議用 client 端的電腦名稱,然後為每一台電腦產生一份憑證,  # 但因為我主要是要用 AD 驗證,所以我這邊是只產生一份名為 client 的憑證,然後讓所有電腦一起使用。  build-dh  "C:\Program Files\OpenVPN\bin\openvpn.exe" --genkey --secret "C:\Program Files\OpenVPN\easy-rsa\keys\ta.key"  

 

[Définir le fichier de configuration du serveur]

◎ Exécutez les commandes suivantes:

  copy "C:\Program Files\OpenVPN\sample-config\server.ovpn" "C:\Program Files\OpenVPN\easy-rsa\keys\server.ovpn"  notepad "C:\Program Files\OpenVPN\easy-rsa\keys\server.ovpn"  

 

◎ Trouvez le texte suivant。

ca ca.crt
cert server.crt
clé server.key

dh dh2048.pem

 

◎ Remplacer par:

cette “C:\\Fichiers programme \ OpenVPN \ config \ ca.crt”
cert “C:\\Fichiers programme \ OpenVPN \ config \ server.crt”
clé “C:\\Fichiers programme \ OpenVPN \ config \ server.key”

c'est à dire “C:\\Fichiers programme \ OpenVPN \ config \ dh2048.pem”

 

◎ Archiver et fermer。

◎ Trouvez le texte suivant,Et supprimez le point-virgule devant le commentaire(;)。Puisque je prévois de ne faire qu'un seul bon à partager par tout le monde,Cela peut amener différents clients à obtenir le même ensemble d'adresses IP,Alors activez ce paramètre,Pour que chacun puisse obtenir une adresse IP différente。

;duplicate-cn

 

【Définir le fichier de configuration du client】

◎ Exécutez les commandes suivantes:

  copy "C:\Program Files\OpenVPN\sample-config\client.ovpn" "C:\Program Files\OpenVPN\easy-rsa\keys\client.ovpn"  notepad "C:\Program Files\OpenVPN\easy-rsa\keys\client.ovpn"  

 

◎ Trouvez le texte suivant。

ca ca.crt
cert server.crt
clé server.key

tls-auth ta.key 1

 

◎ Remplacer par:

cette “C:\\Fichiers programme \ OpenVPN \ config \ ca.crt”
cert “C:\\Fichiers programme \ OpenVPN \ config \ client.crt”
clé “C:\\Fichiers programme \ OpenVPN \ config \ client.key”

tls-auth “C:\\Fichiers programme \ OpenVPN \ config \ ta.key” 1
# Le guide n'a pas cette section,C'est une erreur lorsque je lance le client,Et amendé。

 

◎ Ce qui suit “mon-serveur-1” Modifiez-le avec le FQDN ou l'adresse IP réels d'OpenVPN。

remote my-server-1 1194

 

◎ Archiver et fermer。

 

【Copier le certificat、Clé du bon répertoire]

◎ Exécutez les commandes suivantes:

  robocopy "C:\Program Files\OpenVPN\easy-rsa\keys\" "C:\Program Files\OpenVPN\config\" ca.crt ta.key dh2048.pem server.crt server.key server.ovpn  

 

◎ dans “C:\Fichiers programme OpenVPN easy-rsa keys ”,Copiez les fichiers suivants:

ca.crt
ta.key
client.crt
client.key
client.ovpn

 

◎ publié sur l'ordinateur client “C:\Fichiers programme OpenVPN config ”
PS. Le fichier d'installation du client est le même que celui du serveur。

 

[Démarrer OpenVPN]

◎ Exécutez l'interface graphique OpenVPN en tant qu '"administrateur système" sur le serveur。Si vous ne vous présentez pas en tant qu ’« administrateur système », vous pouvez,Mais certains journaux peuvent ne pas avoir l'autorisation d'écriture。Vous pouvez également accéder au "Service Windows",将 “OpenVPNService” Remplacez le "Type d'activation" par”automatique”,Et faites un clic droit sur "activer"。

◎ Le côté client exécute directement l'interface graphique OpenVPN,Et cliquez avec le bouton droit de la souris sur l'icône dans le coin inférieur droit et sélectionnez "Connecter"。Le client peut également être installé avec une meilleure interface, OpenVPN Connect,Et définir le profil (client.opvn) Faites glisser dans la fenêtre。


 

Ce qui précède est le contenu pédagogique principal d'Easy_Windows_Guide,Après avoir terminé les paramètres ci-dessus,Vous pouvez terminer la connexion par certificat,Ensuite, ajuster les paramètres à l'environnement que je souhaite:

◎ Le client peut se connecter à d'autres segments de réseau au sein de l'entreprise。
◎ Utilisez AD comme méthode de vérification de compte。

 

[Autoriser le client à se connecter à d'autres segments de réseau au sein de l'entreprise]

Après la construction d'OpenVPN,Le serveur par défaut générera une carte réseau virtuelle,Son IP est 10.8.0.1,Et le client obtiendra 10.8.0.6,À ce moment, le client envoie un ping 10.8.0.1 Devrait passer。

Ensuite, nous devons envoyer un ping à la carte réseau physique du serveur (例 192.168.53.1) Découvrira,En plus d'ajouter le routage à ce moment,AussiActivez la fonction «Partage de connexion Internet»。Je suis coincé ici depuis longtemps,Plus tard, c'était finalement chez les internautes ViRb3 »Créez un serveur Windows OpenVPN qui proxie le trafic Internet · GitHub"Cet article trouve le paramètre clé" Partage de connexion Internet "。

◎ Trouvez le ";route de poussée “192.168…"
◎ Selon son format,Ajoutez ce qui suit,Et archiver。

  push "route 192.168.53.0 255.255.255.0"  # 如果要讓 Client 連到企業內部的其他網段,  # 可以在這邊加入其他網段的資訊。  

 

◎ Entrez les paramètres de la carte d'interface,Allumez la carte réseau physique (192.168.53.1 Celui-là) Fonction «Partage de connexion Internet» (Tique”Autoriser les autres utilisateurs du réseau à se connecter via la connexion Internet de cet ordinateur”)。
PS. J'ai trouvé beaucoup d'articles avant de savoir comment faire cette action,Coincé ici pendant longtemps。

 

Après avoir activé la fonction «Partage de connexion Internet»,L'adresse IP de la carte réseau virtuelle OpenVPN sera remplacée par 192.168.137.1,Donc, si nous voulons utiliser la valeur par défaut d'OpenVPN 10.8.0.1,Besoin de modifier le code machine。
◎ Exécutez regedit,到下列路徑:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters

 

◎ Changez la valeur de ScopeAddress en 10.8.0.1。

◎ Redémarrez le serveur OpenVPN,Et laissez le client se reconnecter。

[Utiliser AD comme méthode de vérification de compte]

Premier,Merci J. Ortega. Écrit par VBScript,Rendons facile pour OpenVPN de passer AD pour vérification,Merci merci encore merci。Dans "Authentification Active Directory pour les implémentations OpenVPN pour Windows – amigo4life2"Cette page contient des instructions de configuration très détaillées,Mais à cause de l'âge,Alors suivez sur Windows 2008、2012 Version future,Il y a encore des actions à faire,Voici la méthode de réglage après avoir terminé:

◎ Téléchargez Auth4OpenVPNv2.0.zip,Et décompressez le contenu dans “C:/Fichiers programme / OpenVPN / Config”

 

◎ Modifier Auth4OpenVPN.ini,Entrez des informations sur AD,Les exemples sont les suivants:

  Server = "192.168.53.20"  Domain = "abc"  DN = "dc=abc,dc=com,dc=tw"  Group = "(Group)OpenVPN"  Logging = "On"  

 

Prochaine action,Avec J. Ortega. Légèrement différent sur la page,C'est iceh Forum de la communauté OpenVPN Corrections des problèmes de sécurité dans la nouvelle version de Windows Server,Merci aux internautes iceh。

◎ Ouvrez le bloc-notes,Coller les éléments suivants:

  set LOCALAPPDATA=C:\Users\%USERNAME%\AppData\Local  set CommonProgramFiles=C:\Program Files\Common Files  set CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files  set CommonProgramW6432=C:\Program Files\Common Files  C:\Windows\System32\cscript.exe "C:\Program Files\OpenVPN\config\Auth4OpenVPN.vbs"  exit %errorlevel%  

◎ Enregistrez le fichier dans “C:\Fichiers programme OpenVPN config”,fichier nommé “Auth4OpenVPN-64bitWrapper.cmd”。

◎ Ajoutez les deux lignes d'instructions suivantes à server.ovpn:

  script-security 3  auth-user-pass-verify Auth4OpenVPN-64bitWrapper.cmd via-env  

◎ Ajoutez les deux lignes d'instructions suivantes à client.ovpn côté client:

  auth-user-pass  auth-retry interact  

◎ Alors,Le client se connecte,La fenêtre du mot de passe du compte apparaîtra pour vous connecter。

 

【Information supplémentaire】

◎ Auth4OpenVPN fournit des fonctions de test,Il est recommandé d'utiliser la commande suivante pour tester la connexion à AD et il n'y a pas de problème,Faisons des actions de suivi。

auth4openvpn.vbs <user> <password>

◎ Auth4OpenVPN laissera le résultat de la vérification dans le journal de l'application Windows,Si défini selon la méthode de la page Web d'origine,peut apparaître “Auth4OpenVPN: -2147221164, Catégorie non enregistrée” Message d'erreur,Pour le moment, selon les internautes iceh fournis “Auth4OpenVPN-64bitWrapper.cmd” Méthode de réparation,Peut résoudre le problème des paramètres environnementaux。

◎ Si vous souhaitez que le client puisse accéder à Internet via le réseau d'entreprise (l'Internet),Recherchez simplement la chaîne suivante dans le fichier server.ovpn,Et ajoutez la note précédente(;)Enlève-le。

;push "redirect-gateway def1 bypass-dhcp"

◎ OpenVPN Connect lors de l'importation du fichier client.ovpn,Vérifie si le certificat et les fichiers de clé se trouvent dans le même répertoire que le fichier client.ovpn,S'il n'y a pas d'erreur。Après avoir terminé l'importation,Lors de la connexion ultérieure,OpenVPN Connect suivra les paramètres de client.ovpn pour lire le certificat et les fichiers de clé dans le chemin de commande;L'interface graphique OpenVPN n'a pas ce problème。

◎ Si vous souhaitez vérifier le compte natif OpenVPN et Windows,Vous pouvez vous référer au partagé par smiley22 SAMAuth4OpenVPN élément。

◎ Je n'ai toujours pas adopté cette solution,Parce que le continent a un filtrage pour OpenVPN,Il y aura donc des problèmes étranges pendant le processus de connexion。

 

Référence [lien]

Laisser un commentaire

S'il vous plaît noter: La modération des commentaires est activée et peut retarder votre commentaire. Il n'est pas nécessaire de renvoyer votre commentaire.