OpenVPN Access Server: לאתחל את הדמון או להחיל את ההגדרה
systemctl restart openvpnas מאתחל את הדמון; sacli start מעלה את השירותים הפנימיים. פעלו לפי מה שאומר התיעוד של ההגדרה, ואז אמתו יותר מאשר active.
שתי פקודות מודבקות למה שנראה כמו אותה עבודה על OpenVPN Access Server, והן עושות דברים שונים. systemctl restart openvpnas עוצר ומפעיל את כל המוצר. sacli start מעלה את השירותים הפנימיים שקוראים את התצורה שזה עתה שיניתם. הבחירה ביניהן אינה עניין של טעם: היא תלויה במה שאומר התיעוד של ההגדרה עצמה, אם ההפעלה שלכם עוברת דרך השרת שאתם עומדים לאתחל, ואם אתם בכלל מסתכלים על המוצר הנכון.
שתי שכבות, דמון אחד
Access Server פועל כיחידת systemd אחת, openvpnas, והדמון הזה מפקח על השירותים הפנימיים שמאחורי ממשק האינטרנט ועל מאזיני ה-VPN. sacli הוא ממשק שורת הפקודה לאותה התקנה, בנתיב /usr/local/openvpn_as/scripts/sacli, והוא יכול להפעיל, לעצור ולשאול את הרכיבים הפנימיים האלה בלי להחליף את היחידה.
לכן קיימות שתי הפקודות. אתחול של הדמון מריץ הכול מחדש, כולל התהליך שמסיים מנהרות של לקוחות. sacli start מבקש מהדמון שכבר פועל להעלות את רכיביו כדי שיקראו את התצורה החדשה, וזה מה שרוב שינויי המאפיינים דורשים בפועל.
תנאי ראשון: מה אומר התיעוד של ההגדרה
קראו את העמוד של ההגדרה ששיניתם, לא של הגדרה ששיניתם בחודש שעבר. אחרי מאפיין שנכתב דרך ConfigPut מגיע בדרך כלל sacli start, והזוג הזה הוא שלב ההחלה המתועד. שינוי בהתנהגות ברמת המאזין, או כל דבר שהעמוד מתאר ככזה שדורש אתחול שירות, הוא הסוג שבו אתחול היחידה נכון.
שתי הפקודות אינן ניתנות להחלפה, ולכן אופן הכשל בניחוש אינו סימטרי. שימוש ב-sacli start כשנדרש אתחול מלא משאיר תהליך ישן שממשיך לשרת את התצורה הקודמת, וזה נראה כאילו ההגדרה הוזנחה. אתחול מלא כשדי היה ב-sacli start מפיל כל לקוח מחובר בלי סיבה.
תנאי שני: האם ההפעלה שלכם בתוך המנהרה
אם אתם מנהלים את Access Server דרך ה-VPN שהוא מספק, האתחול מסיר את החיבור שנושא את ה-shell שלכם. הפקודה עשויה להסתיים אחרי שההפעלה שלכם מתה, ואז אתם מנחשים אם היא עבדה. sacli start עשוי גם לקטוע הפעלה לזמן קצר מאותה סיבה כשהרכיב שמאותחל מטפל בתעבורה שלכם.
החזיקו נתיב מחוץ לרצועה פתוח לפני כל אחת מהפקודות: קונסולה של הספק, קונסולה של ההיפרוויזור או הפעלה סדרתית. התנאי הזה קובע מתי תריצו את הפקודה, לא איזו פקודה, והוא זה שהופך שינוי של שתי דקות לדוח תקלה.
תנאי שלישי: האם זה המוצר שאתם חושבים
Access Server אינו Community OpenVPN. התקנה קהילתית מריצה יחידות כמו openvpn@server או openvpn-client@profile, עם תצורה ב-/etc/openvpn, ו-sacli לא קיים שם. אתחול של כל יחידה שיש בה openvpn בשם על מארח משותף הוא הדרך שבה מנהרות לא קשורות נופלות יחד.
זהו לפני שאתם נוגעים במשהו: systemctl status openvpnas --no-pager עונה אם Access Server הוא מה שרץ, sacli status מפרט את רכיביו הפנימיים, ו-systemctl list-units --type=service מפרט יחידות ששמותיהן מכילים openvpn. אם הפקודה האחרונה מציגה יחידות עם שמות פרופיל, אתם על מוצר הקהילה ושאר הדברים כאן לא חלים עליכם.
החילו ואז אמתו מעבר ל-active
ליחידה שמדווחת active יש תהליך שרץ, וזה לא אותו דבר כמו נתיב אימות שעובד. אחרי שלב ההחלה, בדקו sacli status עבור הרכיבים שציפיתם שיאותחלו, אשרו שהערך נשמר עם sacli ConfigQuery, ואז הריצו התחברות לקוח מוגבלת אחת עם חשבון בדיקה.
סיימו במשהו ברמת היישום: הגיעו למשאב פרטי דרך המנהרה, לא רק פינג לכתובת הציבורית של השרת. לחיצת יד שמצליחה כשהמסלול שנדחף או הגדרת ה-DNS שגויים תעבור כל בדיקת שירות ועדיין תכשיל את האדם שדיווח על הבעיה.
המדריך של הספק לניהול שירותים הוא המקור לשאלה אילו פעולות שייכות ל-sacli, וכדאי לפתוח אותו לפני שאתם מחליטים שאתחול הוא האפשרות הבטוחה.
ההחלטה במעבר אחד
עברו על ארבע השורות האלה ועצרו בראשונה שמתאימה:
- עמוד ההגדרה מזכיר sacli start, או שהרצתם זה עתה ConfigPut: השתמשו ב-sacli start.
- העמוד דורש אתחול, או שהשינוי נוגע במאזינים ולא במאפיינים: השתמשו ב-systemctl restart openvpnas.
- ה-shell שלכם מגיע דרך השרת הזה: סדרו קודם גישה לקונסולה, ואז הריצו את הפקודה ששתי השורות למעלה בחרו.
- אימות: sacli status, ConfigQuery לערך, התחברות אחת, משאב פרטי אחד. מצב השירות לבדו אינו קו הסיום.
שתיים מהשורות הן בדיקות ושתיים הן פעולות, וזה כל העניין בסדר. אם אינכם יכולים לענות על שאלת המוצר, עצרו: הפקודה שעמדתם להריץ שייכת להתקנה אחרת, והמנהרה שתורידו לא תהיה זו שהתכוונתם אליה.