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

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

קראו את האזהרה לפני שאתם מאשימים אותה

block-outside-dns נועל DNS ב-Windows דרך פלטפורמת הסינון של Windows, ולקוח הלינוקס אין למה למפות אותו. כשהשרת דוחף אותו, הלקוח מדפיס שורה על אפשרות לא מזוהה עבור הרשומה הנדחפת וממשיך, משום שאפשרות שנדחפה אינה נחשבת קטלנית. אבל אותה שורה בקובץ שלכם היא עניין אחר: שם המנתח עוצר. החליטו איזו משתי אלה יש לכם לפני שנגעתם במשהו, כי רק אחת מהן מסיימת את הריצה.

כדי להסיר את הרעש, סננו אותו לפני הניתוח: רשומת pull-filter ignore לאותו שם, או --ignore-unknown-option כשהשורה נמצאת בקובץ המקומי. שתיהן משתיקות שורה שכבר קראתם; אף אחת מהן אינה מתקנת תקלה שלא אבחנתם.

הרשאות נכשלות לפני כל דבר אחר

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

שגיאת TLS פירושה שהלקוח עבר את השכבה הזו. תלונה על התקן או מסלול פירושה שהוא מעולם לא הגיע לשכבה שמעל.

מה ה-GUI עושה והמסוף לא

התחברות מוצלחת בזמן שכל שאילתה עדיין נכשלת היא השכבה השלישית. NetworkManager עושה את עבודת פותר השמות בעצמו, ולכן ייבוא משולחן העבודה יכול לחלק DNS גם כשסקריפט ה-up של הפרופיל מעולם לא רץ בהצלחה. הפקודה openvpn --config מבצעת את מה ש---up מציין, ואם העוזר הזה חסר, הממשק מופיע בזמן שהשאילתות ממשיכות לשרתים הקודמים. השוו את הסקריפטים של שני המסלולים לפני שתתקינו משהו.

השתמשו בעוזר הארוז של ההפצה שלכם; סקריפט שהועתק מפוסט בבלוג מכוון בדרך כלל לפותר שמות אחר. האינטגרציה שמסופקת עבור systemd-resolved אינה הסקריפט הגנרי בסגנון vpnc, וכל אחת מצפה לארגומנטים ולמשתנים שלה מהלקוח. סקריפטים מסוג up שמוגדרים על ידי המשתמש דורשים גם script-security 2 לפני שהלקוח בכלל יריץ אותם.

הפרידו את השכבות בריצה הבאה

הריצו פעם אחת עם --verb 4 וקראו את היומן לפי הסדר שבו קרה: יצירת התקן, מסלולים, לחיצת יד TLS, ואז פלט סקריפט ה-up. הכשל הראשון ברצף הזה הוא זה ששווה לתקן; כל מה שאחריו הוא בדרך כלל תוצאה. מנהרה שמתייצבת בזמן שפותר השמות לא עושה זאת מציבה אתכם בשכבה השלישית, שבה התעודה אינה רלוונטית. השאירו את הפרופיל שהורד ללא שינוי בזמן ההשוואה.

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

רשמו איזו שכבה נכשלה ומה שינה אותה, אחרת האדם הבא שיקבל את אותו קובץ ייעצר גם הוא באזהרה.

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