האם אתה דואג לאיך תוכל לגשת לאינטרנט בחופשיות מבלי להיתקע על מגבלות מיותרות ובעיות בטחות מידע? אל תדאג יותר! התחל להפעיל שרת VPN שלך באמצעות OpenVPN ב-Docker.
עם טכנולוגיות Docker ו-OpenVPN, אתה יכול להתקין ולהפעיל את שרת ה-VPN שלך בקלות ובמהירות. ובמדריך זה, תלמד את היסודות הבסיסיים של הפעלת שרת OpenVPN המארח בתוך תוכנית Docker.
הישאר מחובר ושמור את שרת ה-VPN שלך באופן בטוח עם OpenVPN Docker!
דרישות מוקדמות
המדריך הזה יהיה הדגמה מעשית. אם תעקוב, תצטרך את הדברים הבאים:
- A Linux-based operating system (OS) – This tutorial uses Ubuntu v22.04, but other Linux distributions will work.
- התקנת Docker והפעלתו – מדריך זה משתמש ב-Docker v20.10.17.
- התקנה של מכשיר אנדרואיד עם האפליקציה OpenVPN Connect מותקנת – מדריך זה משתמש ב-אנדרואיד v11 ו-OpenVPN Connect v3.2.7.
יצירת מיכל Docker עבור OpenVPN
הכלאה היא כמו לארוז קוד וכל תלותיו כיחידת תוכנה סטנדרטית כדי להריץ את היישום שלך בצורה מהירה ואמינה. ישנם מספר דרכים ליצירת מיכל Docker של OpenVPN. אתה יכול לבנות את המיכל מאפס או למשוך מיכל מוכן מראש מ-Docker Hub.
אבל במדריך זה, תשתמש בקובץ תמונת Docker של OpenVPN קיים. מיכלים מוכנים מראש מציעים מספר יתרונות כיוון שהם עוברים בדיקות יסודיות נגד פגיעויות שונות עם תמיכה של קהילת מפתחים גדולה. בנוסף, מיכלים אלה עוזרים לך לחסוך זמן ולהימנע מהצורך להמציא את הגלגל מחדש.
ליצירת מיכל Docker של OpenVPN:
1. פתח את הטרמינל שלך והרץ את הפקודה OVPN_DATA למטה, שלא מספקת פלט אך מגדירה שם נפח נתונים ל-ovpn-data-test למשתנה OVPN_DATA.
2. לאחר מכן, הרץ את הפקודה הבאה docker volume create כדי ליצור נפח נתונים עם ה–name שהגדרת במשתנה $OVPN_DATA.
הפקודה הזו לא מספקת פלט אך יוצרת מיכל נפח נתונים עבור OpenVPN שבו כל הנתונים, קבצי ההגדרה, והתעודות מאוחסנים.
3. לבסוף, הרץ את הפקודה הבאה docker run כדי להוריד ולהתקין את תמונת Docker של OpenVPN עם הבא:
- ציין את מרחב האחסון (
-v
) בתוך המיכל שהוא נפרד משאר מערכת הקבצים של המיכל. במקרה זה, תמונת ה- Docker של OpenVPN מאוחסנת בתיקייה/etc/openvpn
.
- ציין את המנגנון המתחבר (
--log-driver
) ששומר על מידע של המיכלים והשירותים הרצים (none
).
- מורה ל- Docker להסיר באופן אוטומטי (–rm) את המיכל כאשר הוא כבר קיים.
ודא כי תחליף (YourPublicIP.com) בכתובת ה- IP הציבורית של השרת שלך (מארח) או בשם הדומיין (אם יש לך אחד) דרך פרוטוקול UDP. אך שים לב כי תוכל גם להשתמש בפרוטוקול TCP.
TCP הוא פרוטוקול המבוסס על חיבור, בעוד ש- UDP הוא פרוטוקול בלתי מחובר

שים לב כי אם אתה מתכוון להשתמש בשירות איכות עצמית או IP ציבורית, עליך להגדיר הפניית פורטים בנתב/מודם שלך.
אבטחת הלקוח של OpenVPN עם תעודות
התקנת בהצלחה את לקוח ה- Docker של OpenVPN במחשב שלך, אז יאי! אך לפני שתשתמש ב- OpenVPN, עליך תחילה להגדיר את התצורה של לקוח OpenVPN.
רק כי אתה עובד על OpenVPN לא אומר שעליך לפתוח את שרת ה- VPN שלך לעולם. תצטרך תעודות כדי לאבטח את לקוח ה- OpenVPN שלך:
1. הריצו את הפקודה הבאה docker run כדי ליצור ולאחזר את אישורי ה־CA והלקוח. פקודה זו יוצרת תקופות OpenVPN פעילות (–it) מהתמונה המצויה בתוך הקונטיינר הראשי.
ברוב המקרים, יצירת אישורי שרת CA לוקחת זמן, תלוי במשאבים של המכונה שאתם משתמשים בה.
הקלידו yes ולחצו על Enter, כפי שמוצג למטה, כדי להתחיל את מערכת ה־OpenVPN PKI.

2. לאחר מכן, ספקו ואשרו סיסמת אישור CA חדשה, ולחצו על Enter. שמרו את הסיסמה במקום בטוח מאוד מכיוון שתצטרכו אותה מאוחר יותר בעת הגדרת ויצירת אישור לקוח.

3. הגדירו שם ייחודי עבור אישור CA שלכם, ולחצו על Enter.

4. כעת, הזינו את סיסמת ה־CA שהגדרתם בשלב שני כדי לבדוק שהבקשה תואמת לחתימה.

5. הזינו שוב את הסיסמה שלכם כדי ליצור מפתח פרטי.

6. לאחר מכן, הריצו את הפקודה הבאה כדי להתחיל את שירות השרת OpenVPN ב־Docker כדי להגדיר לקוח OpenVPN, היכן ש:
- האפשרות -p מגדירה את הפורט (1194) שמאזין ומתחיל את החיבור בין השרת והלקוח.
ניתן לשנות את הפורט 1194 כדי להתאים אותו להעדפותיכם אם אינכם נוחים בשימוש בפורט ברירת המחדל של OpenVPN.
- הארגומנט –cap-add=NET_ADMIN מוסיף יכולות Linux נוספות על ידי שינוי ממשקי הרשת ש־Docker לא מעניק ברירת מחדל.

7. לאחר שהפורט מוגדר, הריצו את הפקודה הבאה docker run
כדי לבצע את הפעולות הבאות:
- הפקת תעודת הלקוח והורדת קובץ התצורה של הלקוח (.ovpn) מתוך המיכל של Docker לשרת המארח. התעודה שנוצרה אינה מוגנת בסיסמה, כפי שצוין בארגומנט no-pass בפקודה.
- הגדר את שם הקובץ של תעודת האימות וזיהוי הלקוח של OpenVPN ל-CLIENTAPP. התעודה מאוחסנת בספריית המשתמש של המארח, ולא במיכל של Docker.
הזן את הסיסמה שלך, כפי שמוצג למטה, כדי להשלים את תהליך הפקת התעודה.

8. לאחר מכן, הפעל את הפקודה שלהלן כדי ליצור ולהוריד את קובץ התצורה של חיבור ה-OpenVPN (ovpn_getclient) מהמיכל לשרת המארח.
9. נווט אל תיקיית user/home בשרת המארח שלך (מכונת לינוקס), והעבר את קובץ ה-.ovpn (CLIENTAPP.ovpn) אל המכשיר שלך של Android.
10. לבסוף, הפעל את אפליקציית הלקוח שלך של OpenVPN Connect על מכשיר ה-Android שלך.
גע ב-BROWSE תחת הלשונית FILE, ובחר את קובץ ה-.ovpn (CLIENTAPP.ovpn) שהעברת למכשיר ה-Android שלך. בכך נוספת פרופיל חדש ללקוח של OpenVPN Connect.

ברגע שיתקיים חיבור מוצלח, תראה את התוצאה למטה.

גישה לממשק המשתמש של OpenVPN באינטרנט
האם אתה מודאג מכמות הפקודות שהיית צריך להשתמש כדי לגשת אל שרת ה-VPN שלך? למה לא לנסות ממשק משתמש פשוט בעזרת האינטרנט?
OpenVPN מציע סט כלי יישום והגדרה בממשק אינטרנטי שמאפשר תקנה מהירה של פתרונות גישה רחוקה ל-VPN. הערכת הכלים מגיעה בחבילה יחידה בשם OpenVPN Access Server.
כדי לגשת לממשק האינטרנטי של OpenVPN, יש להתקין את החבילה הבאה:
1. הרץ את הפקודה הבאה docker pull כדי להוריד ולהתקין את ה-OpenVPN Docker container (openvpn-as) האחרון מה-Linux Server Docker Hub (linuxserver).

2. לאחר הורדת החבילה, הרץ את הפקודה docker create ליצירת Docker container חדש בשם openvpn-as עם ההגדרות הבאות:
-v /home/docker/openvpn-as/config: /config
– מגדיר את התיקייה לאחסון קבצי התצורה.
--restart=always
– מבטיח שה-container יתחיל תמיד באמצעות המערכת. ניתן לבחור לא להוסיף את הארגומנט הזה אם אין רצון שה-container יפעיל מחדש.
-e PGID=1001 -e PUID=1001
– מגדיר את זהות המשתמש כדי למנוע בעיות הרשאה בין שרת המארח ל-container.
-e TZ=Africa/Nairobi
– מציין את מידע אזור הזמןtime zone information.
- –net=host –privileged – קובע איך OpenVPN Access Server רץ ב-container.

3. לאחר מכן, הפעל את הפקודה הבאה docker start כדי לגשת לממשק האינטרנטי של OpenVPN דרך תכונת השרת של Docker שיצרת בשלב השני.

4. בסופו של דבר, פתח את דפדפן האינטרנט המועדף עליך ונווט אל ממשק האינטרנט של OpenVPN עם כתובת ה-IP המקומית שלך (לדוגמה, https://YourIP:943/admin). החלף YourIP בכתובת ה-IP האמיתית של השרת שלך.
תתקבל ברוך הבא לעמוד הכניסה של שרת הגישה של OpenVPN אם הכול יעבוד כצפוי, כפי שמוצג למטה.
הזן מנהל וסיסמה עבור שם המשתמש והסיסמה, ולחץ על כניסה כדי לגשת ללוח המחוונים של שרת הגישה של OpenVPN.
שים לב ששם המשתמש והסיסמה המוגדרים כברירת מחדל הם מנהל וסיסמה, בהתאמה. תוכל לשנות את פרטי הכניסה כפי שתעדיף.

לאחר התחברות, תראה את לוח המחוונים של שרת הגישה של OpenVPN כפי שמוצג למטה.

הגדרת DNS עבור חיבור מהיר ומאובטח
בנקודה זו, שרת הגישה שלך ל-OpenVPN פועל בצורה תקינה. אך כדי לשפר את ביצועי שרת ה-VPN שלך, עליך להגדיר את ה-DNS.
כדי להגדיר את ה-DNS, עליך לגשת לממשק האינטרנט של שרת ה-OpenVPN ולעדכן את ההגדרות של ה-DNS עם כתובות ה-DNS של Google או ה-DNS המועדפות עליך. Google מציעה את שרתי ה-DNS המהירים ביותר הזמינים, שתשתמש בהם בשרת הגישה שלך ל-OpenVPN.
1. לחץ על הגדרות VPN (פאנל שמאלי) בתחתית התפריט CONFIGURATION בלוח המחוונים של שרת הגישה שלך ל-OpenVPN.
נופלים למטה לקטע הגדרות DNS, ומפעילים את האפשרות של "השתמש בשרתי DNS ספציפיים על ידי לקוחות", כפי שמוצג למטה.

2. לאחר מכן, מעדכנים את שרת DNS הראשי (8.8.8.8) ושרת DNS משני (8.8.8.4) עם כתובות DNS של Google כפי שמוצג למטה, ולוחצים על "שמור הגדרות" כדי לשמור את השינויים.

3. לאחר שמירת השינויים, לחצו על "עדכן שרת פעיל" כדי לאתחל מחדש את השרת ולהפעיל את השינויים.

4. כעת, נווטו אל שרת OpenVPN Access (לדוגמה, https://YourIP:943/admin) במכשיר Linux שלכם. החליפו YourIP בכתובת ה-IP של השרת שלכם. אם התקנתם את התצורה בצורה נכונה, תראו את אותו הדף למטה.
התחברו עם הפרטים ברירת המחדל (admin ו-password) כשם משתמש וסיסמה.

5. לחצו על סמלי פלטפורמה כלשהי כדי להוריד את יישום הלקוח ולחצו על "עצמך" (פרופיל נעול למשתמש) כדי להוריד את הקובץ .ovpn.

6. לבסוף, הפעילו את לקוח OpenVPN שהורדתם וייבאו את הקובץ .ovpn כפי שעשיתם בשלב האחרון של "אבטחת לקוח OpenVPN באמצעות תעודות", כפי שמוצג למטה.

סיכום
לא להיתקל בקושי בהקניית שרת VPN אף פעם לא אמור להיות משימה מורכבת, ובוודאי לא אבטחת חיבור השרת שלכם. למרות זאת, OpenVPN Docker כמובן לכם לסייע. ובמדריך זה, למדתם איך להתקין, להגדיר ולהגן על OpenVPN באמצעות Docker ב-Ubuntu. גם נגעתם באבטחת גישה ל-OpenVPN בתוך תכולת Docker עם OpenVPN CA ותעודות לקוח.
בנוסף לגישה לשרת OpenVPN שלך דרך ממשק שורת פקודה, יש לך כעת דרך חזותית לעשות זאת דרך ממשק ה-UI של שרת ה-OpenVPN Access. גילית אפשרות מהירה להקנות VPN על ידי יצירת קבצי הגדרת לקוח עבור אפליקציות ה-OpenVPN.
למה לא לבנות על הידע החדש שקיבלת וליצור שירותי טונל VPN עבור היישומים שלך באמצעות WireGuard VPN? חקור את עולם האפשרויות הלא מוגבלות באמצעות שירותי VPN המארחים את עצמם!