שינוי שם של קובץ .visz של Viscosity ל-.ovpn לא משנה את מה שבתוכו, כי הסיומת מעולם לא תיארה פרוטוקול. ההשוואה החשובה היא בין חבילה עם תלויות לבין פרופיל לקוח רגיל בלי אף אחת. החליטו איזו מכולה באמת קיבלתם לפני שאתם מבקשים מיבואן ב-Linux לקרוא אותה.

מה כל מכולה מכילה

תיעוד הייצוא של Viscosity מתאר חבילת חיבור .visc וצורת ארכיון .visz, שהיא ארכיון tar דחוס. חבילה נושאת את התצורה יחד עם קובצי התעודה, המפתח והסקריפט שהיא תלויה בהם. פרופיל OpenVPN רגיל הוא קובץ אחד, וכל מה שהוא מפנה אליו חייב להתקיים בנפרד או להיות מוטבע בפנים.

ההבדל הזה הוא כל ההשוואה. היחסים של החבילה הם חלק מהחפץ; היחסים של הפרופיל הרגיל הם הנחה. העברת חבילה ל-Linux בלי לשמר את היחסים האלה מייצרת קובץ שנפתח ואז נכשל בהפניה הראשונה החסרה. פרופיל שמטביע את התעודות שלו נמנע מהכשל הזה בכך שהוא נושא הכול במקום אחד, וזה נוח עד שמישהו צריך להחליף אחת מהן.

הסיומת החיצונית אומרת איזו מכולה יש לכם, לא איזה לקוח יכול להשתמש בה.

איפה התצורה באמת מתחילה

בתוך החבילה, הספק מתעד config.conf לצד הקבצים התלויים, כשההפניות נפתרות מקומית. הקובץ הזה הוא נקודת ההתחלה, לא שם הארכיון ולא התעודה שבמקרה נמצאת בראש רשימת הספרייה.

ב-Linux החבילה יכולה להיראות כספרייה ולא כאובייקט יחיד, כי הארכיון נפרש לקבצים שמצפים לשבת יחד. שמרו על נתיבים יחסיים עקביים בסביבת העבודה שאליה אתם מחלצים, ואל תמירו נתיב מוחלט של Windows לנתיב Linux ביד. קובץ תלוי חסר ונתיב שגוי מייצרים את אותה תלונה מהלקוח.

מחיקת אפשרות אמון או זהות כדי להשתיק את התלונה הזו אינה תיקון.

מה החבילה לא מעבירה

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

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

המקור נשאר מוגן עד שההגירה מתקבלת.

מה הצד של Linux חייב להחליט

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

החזיקו אמון בשרת, זהות הלקוח והגנת המפתח הפרטי כשלוש שאלות נפרדות.

הבדיקה לפני ההתחברות

בדקו את נקודת הקצה והתעבורה, את שיטת האימות, כל הפניה לקובץ ואת מדיניות הנתיבים וה-DNS המיועדת. לאחר מכן אמתו את החיבור ואת היישום הנדרש בנפרד, כי מנהרה שעולה אינה אומרת דבר על כך שהיישום מגיע למה שהוא צריך.

openvpn --config ./config.conf --verb 4

השוו את התוצאה המנוהלת למה שהמפעיל אומר שהפרופיל אמור לעשות, ורשמו כל אפשרות שלקוח Linux התעלם ממנה.

כשההגירה מתקבלת, הוציאו את עותקי ההעברה משימוש דרך תהליך הטיפול הרגיל בפרטי גישה. חבילה שנשארת בתיקייה משותפת היא פרטי גישה שנשארו בתיקייה משותפת.

מאמרים קשורים