ב-Windows, לשאלה "היכן הפרופיל של OpenVPN שלי" יש שתי תשובות שונות, ובחירה בתשובה הלא נכונה עולה אחר צהריים שלם. ה-OpenVPN GUI הקהילתי מתייחס לתיקייה כרשימת הפרופילים שלו: כל קובץ .ovpn בתיקייה המוגדרת מופיע בתפריט מגש המערכת, וקובץ שהוסר מאותה תיקייה נעלם. OpenVPN Connect עובד ממאגר ייבוא, ולכן הוא שומר פרופיל שמחקת מהדיסק ומתעלם מקובץ שהעתקת לתוכו. ההשוואה שלמטה היא זו שאני משתמש בה כדי להחליט איזו תיקייה לפתוח לפני שאני נוגע במשהו.

רשימת תיקייה לעומת מאגר ייבוא

ה-GUI הקהילתי מונה קבצים בעת ההפעלה: הוא קורא תיקיית תצורה אחת, שנבחרה בזמן ההתקנה, וקובץ .ovpn שנמצא שם הוא פרופיל. סגור את הלקוח, העתק קובץ לתיקייה הזו, הפעל אותו שוב, והרשומה נמצאת בתפריט.

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

ה-GUI הקהילתי: איזו תיקייה באמת בשימוש

שתי תיקיות חשובות. התקנה למשתמש בודד קוראת %USERPROFILE%\OpenVPN\config; התקנה לכל המשתמשים קוראת C:\Program Files\OpenVPN\config, או נתיב x86 כשהלקוח הוא 32-bit. אם פרופיל מופיע רק עבור חשבון Windows אחד, הוא בתיקייה למשתמש בודד והחשבון השני לעולם לא יראה אותו.

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

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

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

Connect: מאגר הייבוא ומלכודת ה-AppData הכפולה

גרסאות 2.x ו-3.x הנוכחיות שומרות פרופילים תחת %APPDATA%\OpenVPN Connect\profiles. גרסאות בסביבות 2.5 השתמשו במקום ב-%ProgramFiles(x86)%\OpenVPN Technologies\OpenVPN Client\etc\profile, ולכן תשובות פורום ישנות וחדשות נראות סותרות זו את זו. מחשב שעודכן במקום עדיין יכול להחזיק את שתיהן.

הנתיבים מתקלקלים כשמספרים אותם מחדש. %AppData% כבר נפתר ל-AppData\Roaming, ולכן כתיבת %AppData%\Roaming\OpenVPN Connect\profiles מתרחבת ל-AppData\Roaming\Roaming ולא מצביעה לשום מקום. השתמש במשתנה או בנתיב המילולי, לעולם לא בשילוב של השניים.

מחק דרך הלקוח: פתח Profiles, השתמש בסמל העיפרון, בחר Delete. זה מסיר את הרשומה ואת העותק השמור יחד. הסרת התיקייה בזמן ש-Connect פועל עלולה להשאיר רשומה שלא פותחת דבר, וזו התלונה "profile still shows up" בצורתה האחרת.

העותק שיובא הוא זה שהלקוח מריץ. עריכת ה-.ovpn שנשאר ב-Downloads לא משנה דבר, כי Connect קורא את העותק השמור שלו; כדי לשנות remote או cipher, ערוך את הפרופיל בתוך הלקוח, או ערוך את הקובץ וייבא אותו שוב .

למה פרופיל שנמחק חוזר

שתי התקנות של אותה משפחת לקוחות היא הסיבה הרגילה. ל-GUI למשתמש בודד ול-GUI לכל המשתמשים יש תיקיות תצורה נפרדות, ולכן מחיקה מאחת משאירה את השנייה שלמה והמגש עדיין מציג את השם. Programs and Features הוא המקום שבו אתה מאשר אם שתיהן מותקנות.

הסיבה השנייה היא פרופיל שמעולם לא היה בתיקייה שבדקת. פתיחת .ovpn פעם אחת משיתוף רשת או מתיקיית Downloads יכולה להעתיק אותו לתיקיית התצורה למשתמש בודד, ופרופילי Connect מיובאים קיימים רק ב-AppData. לפני עריכת משהו, חפש את שם הקובץ תחת %USERPROFILE% וגם %APPDATA%. תיקיית פרופיל מחזיקה בדרך כלל את המפתח הפרטי לצד ה-.ovpn, ולכן לעולם אל תדביק את התיקייה בכרטיס או בצ'אט כדי להוכיח איזה פרופיל הסרת - ציין במקום זאת את שם הקובץ ואת חותמת הזמן.

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

שתי מנהרות בו-זמנית: קודם מתאמים, אחר כך המסלול

ה-GUI יכול להחזיק כמה חיבורים, אחד לכל מתאם וירטואלי; הוסף מתאמים מהרשומה בתפריט Start שמתקינה את TAP-Windows6, ואז אשר את המספר ב-Network Connections, כי שתי מנהרות בו-זמנית צריכות שני מתאמים ושתיהן אמורות לקבל את הכתובת שלהן אוטומטית. הניתוב הוא הגבול הקשה יותר. שני פרופילים שכל אחד מהם מפנה את כל התעבורה מתחרים על המסלול המוגדר כברירת מחדל, ורק אחד יכול להחזיק בו, ולכן אתה מקבל כשלים לסירוגין במקום שתי מנהרות עובדות. שמור מנהרה מלאה אחת ותן לשנייה פרופיל split-tunnel שדוחף רק את תת-הרשת של עצמו.

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

שמות מתאמים אומרים לך למה אתה מסתכל. Get-NetAdapter ב-PowerShell מציג את מתאמי TAP-Windows ואת מתאם Wintun לפי שם, וזה מהיר יותר מלספור סמלים ב-Network Connections כשמנהרה עלתה על המתאם הלא נכון.

הפעלת פרופיל בשם מתוך סקריפט

ה-GUI מקבל שם פרופיל ביחס לתיקיית התצורה שלו, ולכן מפעיל נראה כך: "C:\Program Files\OpenVPN\bin\openvpn-gui.exe" --connect "myvpn.ovpn". נתיב מוחלט, או תהליך שהופעל בתיקיית עבודה אחרת, נכשל בשקט, ולכן קיצור דרך שעובד בלחיצה כפולה נשבר תחת Task Scheduler.

הגדר את תיקיית העבודה במקום לקוות. במפעיל AutoHotkey זה SetWorkingDir, C:\Program Files\OpenVPN\config; ב-Task Scheduler זה השדה Start in של הפעולה. העברת --config_dir עם אותו נתיב הופכת את המפעיל לבלתי תלוי בשניהם.

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

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