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

מדוע הקובץ שנערך נוצר מחדש

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

הביטו במה שרצף האתחול כותב ומתי. התשובה כמעט תמיד סקריפט בתיקיית init או ההפעלה האוטומטית של הקושחה.

הכניסו את ההנחיה במקום שבו הסקריפט בונה את הקובץ

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

sed -i '/daemon_mgr/i echo client-config-dir clientconfig >>/etc/openvpn/server.conf' /etc/init.d/vpn_openvpn.sh
grep -c client-config-dir /etc/openvpn/server.conf

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

תקנו טופס ששמר מפתחות מהוססים

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

openssl dhparam -out dh2048.pem 2048
grep -n "BEGIN DH PARAMETERS" dh2048.pem

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

בדקו שוב לאחר שדרוגים

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

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

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