התקן את שרת OpenVPN בשרת Windows והשתמש ב- AD (LDAP) בצע אימות חשבון

OS מערכת הפעלה של שרת: Windows Server 2019
◎ OpenVPN: OpenVPN 2.4.9 (קהילה)
Component רכיב אימות AD: Auth4OpenVPNv2.0
מערכת ההפעלה לקוח מערכת ההפעלה: Windows 10

 

בגלל ציוד החומרה של VPN של החברה ישן,פתרונות VPN אחרונים שנערכו בסקר,אני רוצה להתחיל עם פתרונות קוד פתוח תחילה,בהתחלה חשבתי על OpenVPN שנבחן לפני חמש שנים.,אך לאחר הורדת קובץ ה- VM מהאתר הרשמי והשלמת ה- build,גיליתי שהגרסה הזו פותחת רק שני חיבורי לקוח חינמיים,הירשמו לעוד。חשבתי שהתחלתי לחייב,לא פלא שרת ולקוח (OpenVPN Connect) ממשק תוכנה הפך להיות כל כך יפה,נהגתי לזכור לשנות את ההגדרות דרך פנקס הרשימות。

ואז מצאתי את ה- VPN של SoftEther מיפן,אחרי שביליתי קצת זמן במחקר ובנייה,חשבתי שהסט הזה צריך לעבוד,באופן בלתי צפוי, כשעשיתי את המבחן,,מצא באג חיבור SQL טיפה ב- VPN של SoftEther,והנתונים מדווחים על הנושא זה שנתיים,הפקיד עדיין לא תיקן,אז נאלצתי לוותר בחוסר רצון。 כיצד להגדיר SoftEther VPN,עיין【הערות settings הגדרות שרת SoftEther VPN

בהמשך חזרתי למצוא את פרטי הרישיון הרלוונטיים של OpenVPN,מצא רק את גרסת הקהילה,לאחר התקנת ההורדה,מסך הגדרת קובץ הטקסט המוכר מופיע שוב,חה。להלן מטרת ושיטת ההגדרה לבנייה זו:

【מטרות】
◎ השרת משתמש במערכת Windows。
◎ השתמש ב- AD כשיטת אימות החשבון。
Side צד הלקוח משתמש בפלח רשת עצמאי,ולקבל IP באופן אוטומטי。
Side הצד של הלקוח יזרום VPN רק עבור תנועה מסוימת בפלחי רשת,התחבר (מרשתת) לא יהיה。
◎ הלקוח יכול להתחבר לקטעי רשת אחרים בתוך הארגון。

 

◎ ראשית,אל הורדות קהילת OpenVPN הורד את הגרסה האחרונה מהדף。

 

Refer אז התייחס לקהילה Easy_Windows_Guide,השלם את הגדרות השרת והלקוח,להלן הגדרות המפתח ללכידה。


 

[עבודה מקדימה]

Tick ​​אנא סמן בעצמך בעת ההתקנה “EasyRSA 2 תסריטים לניהול אישורים” אֵלֵמֶנט。

הפעל cmd כ"מנהל מערכת ",ובצע את הפקודות הבאות לפי הסדר:

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

 

שנה את פרטי אישור ברירת המחדל,ארכיון לאחר שינוי。

set KEY_COUNTRY = ארה"ב
הגדר KEY_PROVINCE = CA
set KEY_CITY = SanFrancisco
set KEY_ORG = OpenVPN
הגדר KEY_EMAIL=mail@host.domain

 

◎ בצע את הפקודות הבאות לפי הסדר:

vars
clean-all

 

【בניית תעודה ומפתח】
Ec בצע את הפקודות הבאות:

build-ca

 

◎ הזן פרטי אישור:

שם המדינה (2 קוד אותיות) [לָנוּ]:
שם מדינה או מחוז (שם מלא) [CA]:
שם יישוב (לְמָשָׁל, עִיר) [סן פרנסיסקו]:
שם ארגון (לְמָשָׁל, חֶברָה) [OpenVPN]:
שם היחידה הארגונית (לְמָשָׁל, סָעִיף) []:
שם נפוץ (לְמָשָׁל, השם שלך או שם המארח של השרת שלך) []:
כתובת דוא"ל [mail@host.domain]:

 

◎ בצע את הפקודות הבאות לפי הסדר:

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"

 

[הגדר קובץ תצורת שרת]

Ec בצע את הפקודות הבאות:

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"

 

◎ מצא את הטקסט הבא。

בערך crt
שרת cert.crt
מפתח שרת

dh dh2048.pem

 

החלף עם:

זֶה “ג:\\קבצי תוכנית \ OpenVPN \ config \ ca. crt”
cert “ג:\\קבצי תוכנית \ OpenVPN \ config server.crt”
מַפְתֵחַ “ג:\\קבצי תוכנית \ OpenVPN \ config \ server.key”

כְּלוֹמַר “ג:\\קבצי תוכנית \ OpenVPN \ config \ dh2048.pem”

 

ארכיב וסגור。

◎ מצא את הטקסט הבא,ולהסיר את הפסיק מול ההערה(;)。מכיוון שאני מתכנן להכין שובר אחד בלבד לכולם,זה עלול לגרום ללקוחות שונים להשיג אותה מערכת IP,אז הפעל את ההגדרה הזו,כך שכל אחד יכול לקבל IP שונה。

;כפול cn

 

【הגדר קובץ תצורת לקוח】

Ec בצע את הפקודות הבאות:

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"

 

◎ מצא את הטקסט הבא。

בערך crt
שרת cert.crt
מפתח שרת

tls-autor ta.key 1

 

החלף עם:

זֶה “ג:\\קבצי תוכנית \ OpenVPN \ config \ ca. crt”
cert “ג:\\קבצי תוכנית \ OpenVPN \ config \ client.crt”
מַפְתֵחַ “ג:\\קבצי תוכנית \ OpenVPN \ config \ client.key”

tls-autor “ג:\\קבצי תוכנית \ OpenVPN \ config \ ta.key” 1
# המדריך אינו כולל את הקטע הזה,זו טעות כשאני מנהל את הלקוח,ותוקן。

 

◎ להלן “השרת שלי 1” שנה אותו לכתובת FQDN או IP בפועל של OpenVPN。

remote my-server-1 1194

 

ארכיב וסגור。

 

【העתק תעודה、מפתח לתיקייה הנכונה]

Ec בצע את הפקודות הבאות:

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

 

◎ ב “ג:\קבצי תכנית OpenVPN מפתחות rsa ”,העתק את הקבצים הבאים:

crt
מפתח
client.crt
client.key
client.ovpn

 

◎ פורסם במחשב הלקוח “ג:\קבצי תוכנית OpenVPN config ”
נ.ב.. קובץ התקנת הלקוח זהה לשרת。

 

[התחל את OpenVPN]

הפעל את OpenVPN GUI כ"מנהל מערכת "בשרת。אם אינך פועל כ"מנהל מערכת "אתה יכול לעשות זאת,אך ייתכן שיומנים מסוימים אינם בעלי הרשאת כתיבה。אתה יכול גם לעבור ל"שירות Windows ",將 “OpenVPNService” שנה את "סוג ההפעלה" ל”אוטומטית”,ולחץ לחיצה ימנית על "הפעל"。

Side הצד של הלקוח מבצע ישירות את OpenVPN GUI,ולחץ באמצעות לחצן העכבר הימני על הסמל בפינה השמאלית התחתונה ובחר "התחבר"。ניתן להתקין לקוח גם עם ממשק טוב יותר, OpenVPN Connect,וקבע את הפרופיל (client.opvn) גררו לחלון。


 

האמור לעיל הוא תוכן ההוראה העיקרי של Easy_Windows_Guide,לאחר השלמת ההגדרות לעיל,אתה יכול להשלים את החיבור באמצעות אישור,הבא הוא להתאים את ההגדרות לסביבה שאני רוצה:

◎ הלקוח יכול להתחבר לקטעי רשת אחרים בתוך הארגון。
◎ השתמש ב- AD כשיטת אימות החשבון。

 

[אפשר ללקוח להתחבר לקטעי רשת אחרים בתוך הארגון]

לאחר בניית OpenVPN,שרת ברירת המחדל ייצור כרטיס רשת וירטואלי,ה- IP שלה הוא 10.8.0.1,והלקוח יקבל 10.8.0.6,בשלב זה הלקוח עובר לפינג 10.8.0.1 צריך לעבור。

בשלב הבא אנו מצמידים את כרטיס הרשת הפיזית של השרת (דוגמא 192.168.53.1) יגלה,בנוסף להוסיף ניתוב בשלב זה,גַםהפעל את הפונקציה "שיתוף חיבור לאינטרנט"。אני תקוע כאן הרבה זמן,מאוחר יותר זה סוף סוף היה ברשת ViRb3. "צור שרת OpenVPN Windows שמעביר פרוקסי לתעבורת אינטרנט · GitHubמאמר זה מוצא את הגדרת המפתח "שיתוף חיבור לאינטרנט"。

◎ מצא את ";דחף מסלול “192.168…」
◎ על פי המתכונת שלה,הוסף את הדברים הבאים,וארכיב。

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

 

◎ הזן את הגדרות כרטיס הממשק,הפעל את כרטיס הרשת הפיזי (192.168.53.1 זֶה) תכונה "שיתוף חיבור לאינטרנט" (勾選”אפשר למשתמשים ברשת אחרים להתחבר דרך חיבור האינטרנט של מחשב זה”)。
נ.ב.. מצאתי המון מאמרים לפני שידעתי לעשות את הפעולה הזו,תקוע כאן הרבה זמן。

 

לאחר הפעלת הפונקציה "שיתוף חיבור לאינטרנט",ה- IP של כרטיס הרשת הווירטואלית OpenVPN ישונה ל- 192.168.137.1,אז אם אנו רוצים להשתמש בברירת המחדל של OpenVPN 10.8.0.1,צריך לשנות את קוד המכונה。
◎ הפעל regedit,到下列路徑:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters

 

◎ שנה את הערך של ScopeAddress ל- 10.8.0.1。

Art הפעל מחדש את שרת OpenVPN,ותן ללקוח להתחבר מחדש。

[השתמש ב- AD כשיטת אימות החשבון]

  首先,תודה ג'. אורטגה. נכתב על ידי VBScript,בואו נקל על OpenVPN להעביר את המודעה לאימות,תודה תודה שוב תודה。ב"אימות Active Directory עבור OpenVPN ליישומי Windows – amigo4life2"לדף זה הוראות תצורה מפורטות מאוד,אבל בגלל הגיל,אז המעקב ב- Windows 2008、2012 גרסה עתידית,יש עדיין כמה פעולות לעשות,להלן שיטת ההגדרה לאחר סיום:

◎ הורד את Auth4OpenVPNv2.0.zip,ופתח את התוכן ל “ג:/קבצי תוכנית / OpenVPN / Config”

 

שנה Auth4OpenVPN.ini,הזן מידע על AD,הדוגמאות הן כדלקמן:

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

 

הפעולה הבאה,עם ג'. אורטגה. מעט שונה בעמוד,זה קרח פורום הקהילה של OpenVPN תיקונים לבעיות אבטחה בגירסה החדשה של Windows Server,תודה לך。

◎ פנקס רשימות פתוח,הדבק את הדברים הבאים:

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%

◎ שמור את הקובץ ב- “ג:\קבצי תוכנית OpenVPN config”,שם קובץ “Auth4OpenVPN-64bitWrapper.cmd”。

◎ הוסף את שתי שורות ההוראות הבאות ל- server.ovpn:

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

◎ הוסף את שתי שורות ההוראות הבאות ל- client.ovpn בצד הלקוח:

auth-user-pass
auth-retry interact

◎ אז,הלקוח מתחבר,חלון סיסמת החשבון יופיע בכניסה。

 

【מידע משלים】

◎ Auth4OpenVPN מספק פונקציות בדיקה,מומלץ להשתמש בפקודה הבאה כדי לבדוק את החיבור ל- AD ואין שום בעיה,בואו נעשה פעולות המשך。

auth4openvpn.vbs <user> <password>

◎ Auth4OpenVPN ישאיר את תוצאת האימות ביומן היישומים של Windows,אם מוגדר על פי שיטת דף האינטרנט המקורית,עשוי להופיע “Auth4OpenVPN: -2147221164, הקטגוריה אינה רשומה” 的錯誤訊息,נכון לעכשיו, לפי נתוני Iceh net “Auth4OpenVPN-64bitWrapper.cmd” שיטת תיקון,יכול לפתור את בעיית הפרמטרים הסביבתיים。

◎ אם אתה רוצה שהלקוח יוכל לגשת לאינטרנט דרך הרשת הארגונית (מרשתת),פשוט מצא את המחרוזת הבאה בקובץ server.ovpn,ולהוסיף את הפתק הקודם(;)פשוט תוריד את זה。

;push "redirect-gateway def1 bypass-dhcp"

◎ OpenVPN Connect בעת ייבוא ​​קובץ client.ovpn,יבדוק אם האישורים וקבצי המפתח נמצאים באותה ספרייה כמו קובץ client.ovpn,אם אין שגיאה。לאחר השלמת היבוא,כשאתה מתחבר בהמשך,OpenVPN Connect יעקוב אחר ההגדרות של client.ovpn כדי לקרוא את קבצי האישורים וקבצי המפתח בנתיב הפקודה;ל- GUV של OpenVPN אין בעיה זו。

◎ אם ברצונך לאמת את חשבון ה- OpenVPN ו- Windows המקורי,אתה יכול להתייחס לשותפים המשותפים על ידי smiley22 SAMAuth4OpenVPN אֵלֵמֶנט。

◎ עדיין לא אימצתי את הפיתרון הזה,מכיוון שביבשת יש סינון ל- OpenVPN,כך שיהיו כמה בעיות מוזרות בתהליך החיבור。

 

【參考連結】

3 תגובות

  1. שימוש בסביבת Windows AD לבניית Openvpn למימוש אימות חשבון תחום – בית ביוס אומר |

    […] שנה Auth4OpenVPN.ini,הזן מידע הקשור ל-AD,הדוגמאות הן כדלקמן:? […]

  2. פול אומר |

    שלום. תודה על ההדרכה שלך, אבל אני חייב להודות. הרשה לי להסביר :
    אני יכול ליצור קובץ שרת ב-Windows שלי ( יסודות השרת 2016) ואני מתחבר אליו מווינדוס 10 עם תיק הלקוח שלי. החיבור נוצר.
    אבל בשלב הפינג, כשאני פינג את הכתובת 10.8.0.1 מתחנת הלקוח שלי, תוצאה שלילית.
    יתר על כן, ברגע שאוכל לחבר את הלקוח שלי והשרת שלי, אין לי עוד חיבור לאינטרנט בתחנת העבודה של הלקוח שלי.
    יש לך מוביל שיעזור לי לצאת מזה…..
    האם העובדה שמדובר בגרסה חיונית יכולה למנוע פינג ?

    您好,אם אפילו 10.8.0.1 לא מצליח לבצע פינג,בהחלט ייתכן שחיבור ה-VPN לא הצליח להתבסס,כברירת מחדל,10.8.0.1ניתן לפינג。
    אולי תוכל להתייחס לשלבים במאמר שלי,הגדר את זה צעד אחר צעד,בהצלחה,שיה שיה

    אנסון תגובה |

השאיר תגובה

שים לב: תגובת התמתנות מופעלת ועלולה לעכב את התגובה שלך. אין צורך להגיש מחדש את התגובה שלך.