AWS Client VPN לא עולה ב-Linux? התאימו את סביבת ההרצה
כשל עלייה שמציין ספרייה משותפת הוא בעיית התאמת סביבת הרצה, לא בעיית פרופיל. בדקו את הלקוח ומערכת ההפעלה הנתמכים לפני ייבוא חבילות.
התקנתם את חבילת AWS Client VPN באובונטו, הפעלתם אותה וקיבלתם שגיאת טוען על ספרייה משותפת חסרה לפני שנקרא שום פרופיל. האינסטינקט הוא לקחת את הספרייה הזו מגרסה ישנה יותר ולהמשיך. זה בדרך כלל מחליף תלות שבורה אחת במערכת שכבר אינה תואמת למסד החבילות של עצמה. כשל העלייה הוא שאלה של גבול התמיכה, לא של הרשת.
השגיאה מציינת ספרייה, לא את הרשת
לקוח VPN לשולחן עבודה חייב לטעון את סביבת ההרצה שלו לפני שהוא יכול להסתכל בפרופיל או בנקודת הקצה שלכם. כשהטוען הדינמי אינו יכול לפתור סמל, התהליך מת בשנייה הראשונה והחלון לא מופיע לעולם. שום כמות של עריכת פרופיל, עבודת DNS או שינויי מסלול אינה מגיעה לשלב הזה. קראו את ההודעה כפשוטה, כי היא אומרת בדיוק איזה אובייקט הטוען רצה.
כך גם מפרידים בין שתי משפחות כשל. אובייקט משותף חסר הוא בעיית אריזה במארח שלכם, בעוד דחיית אימות היא החלטה מצד השירות שמגיעה הרבה יותר מאוחר ברצף.
שניהם מסתיימים בחלון שנסגר, ולכן הם מתערבבים בדוחות תקלות.
מתגי גלובליזציה הם בעיה אחרת
שגיאות שמזכירות ICU או גלובליזציה מגיעות מסביבת ההרצה של .NET שמתחת לחלק מגרסאות הלקוח, ולא מערימת ה-TLS. הגדרת מתג הגלובליזציה הבלתי משתנה משנה כיצד סביבה זו מטפלת בנתוני תרבות, והיא אינה מספקת libssl חסרה. החלתו כדי להשקיט שגיאת TLS משאירה לכם לקוח שעולה ואז נכשל במקום אחר.
החזיקו את השניים בקופסאות נפרדות: האחד משנה את התנהגות סביבת ההרצה, השני מספק את המקשר. הושטת יד לראשון כשיש לכם השני היא הרגל שכדאי לנטוש.
אם המארח באמת אינו יכול לספק את סביבת ההרצה הנדרשת, התשובה הנתמכת היא מארח אחר, ולא מארח ששונה.
מדוע ייבוא OpenSSL ישן פוגע בכם
העתקת libssl ו-libcrypto מהפצה ישנה יותר אל /usr/lib עובדת לעתים קרובות מספיק כדי לפתות. היא גם מעמידה ספרייה מחוץ לשליטת מנהל החבילות, כך שכל עדכון אבטחה מאוחר יותר או מפספס אותה או מתנגש בה. במארח שמריץ גם דפדפן או לקוח SSH, שיניתם את ערימת ההצפנה לתוכניות שמעולם לא ביקשו זאת.
המסלול הנתמך הוא מקור החבילות המתועד ופתרון התלויות שלו בדיוק עבור גרסת מערכת ההפעלה והארכיטקטורה שלכם. בדקו את דרישות לקוח AWS ל-Linux ואת הערות הגרסה של הגרסה שאתם מתקינים, כי מטריצת התמיכה נעה בין גרסאות.
פתרון פורום ישן הוא תמונת מצב של זוג גרסאות, לא ערובה לתאימות.
שמרו על הגדרת השירות של הספק
יש מדריכים שנותנים יחידת systemd מינימלית כדי להחליף את היחידה הארוזה. יחידה כזו בדרך כלל מפילה ארגומנטים, הגדרות הקשחה ואינטגרציה שהספק הוסיף מאוחר יותר, והכשל הנובע מכך מופיע במקום שלא תקשרו אותו לעריכה.
אם אתם צריכים שינוי, השתמשו במקום זה ב-drop-in: קובץ עקיפה קטן בספריית ה-.d של היחידה שמוסיף או מחליף הנחיה אחת, עם הערה שמסבירה מדוע הוא קיים וכיצד להחזיר אותו. הקובץ של הספק נשאר שלם, ועדכון החבילה הבא לא מבטל את עבודתכם בשקט וגם לא משכפל אותה.
רשמו את נתיב העקיפה בהערות שלכם, כי מנהל המערכת הבא יסתכל שם קודם.
הוכיחו את העלייה לפני שאתם מדבגים מסלולים
גרמו ללקוח לעלות באופן אמין עם הפרופיל המאושר, ואז התחברו, ואז אשרו את המנהרה, ורק אחר כך הסתכלו במסלולים, ב-DNS ובמשאבים פרטיים. כל שלב מייצר ראיה משלו, וערבובם גורם לבעיית סביבת הרצה להיראות כמו בעיית ניתוב. אם אתם צריכים תמיכת ספק, תפסו את אירוע העלייה השימושי הראשון במקום צילום מסך של החלון שנסגר.
לעולם אל תצרפו מפתח פרטי או פרופיל מלא עם פרטי התחברות מוטמעים כחומר אבחון.
שאלה אחת פותרת את רוב הפניות האלה: האם גרסת הלקוח המותקנת עדיין נתמכת במהדורת מערכת ההפעלה הזו? אם לא, התיקון הוא זוג נתמך, לא עוד חיפוש ספריות.