שני לקוחות VPN, טבלת ניתוב אחת: מי זוכה בנתיב ברירת המחדל
שני לקוחות VPN כמעט אינם מתנגשים ישירות; הם דורסים את אותו נתיב ברירת מחדל. בדקו את הנתיב שנבחר, ואז מנעו מלקוח אחד לתבוע כל יעד.
נראה כאילו שני לקוחות VPN נלחמים על אותו שקע, והפתרון המובן מאליו חייב להיות הסרת אחד מהם. בפועל הם כמעט אינם נוגעים באותו שקע. כל חיבור כותב מחדש את טבלת הניתוב של מערכת ההפעלה, ופרופיל מנהרה מלאה תובע את נתיב ברירת המחדל. מי שהתחבר אחרון נוטה לנצח, ולכן נראה שהתסמין עובר בין הלקוחות.
הקונפליקט חי בטבלת הניתוב
מתאם וירטואלי ועוד נתיב ברירת מחדל — כך מנהרה מלאה לוכדת תעבורה. כשהלקוח השני מתקין נתיב ברירת מחדל משלו, הרשומה הישנה מוחלפת או מורדת לפי מדד, וכל יעד עובר כעת דרך המנהרה החדשה יותר. הלקוח הראשון נשאר מחובר ועדיין מציג סמל ירוק, כלומר הממשק פעיל בעוד הנתיב נעלם. בדיוק ההפרדה הזו בין מצב החיבור למצב הניתוב היא מה שהופך את ההתנהגות למבלבלת.
הלקוחות הם עורכים של טבלה משותפת אחת. הידיעה איזה שינוי התרחש אחרון מסבירה כמעט כל תסמין.
קראו איזו מנהרה מחזיקה בנתיב הנוכחי
בדקו את ההחלטה בפועל במקום לבטוח בלקוח שמדווח שהוא מחובר. שאלו את המערכת איזה ממשק יישא יעד מסוים.
ip route get 10.20.0.5
route print -4הפקודה הראשונה מציינת את הממשק ואת כתובת המקור עבור יעד אחד, וזו בדיוק השאלה שמעניינת אתכם. פלט הנתיבים מציג ב-Windows את רשומות ברירת המחדל המתחרות ואת המדדים שלהן, כך שאתם רואים מי מנצח כעת. הריצו את החיפוש עבור מארח בכל רשת מרוחקת, כי יעד אחד יכול להיות נכון בעוד הרשת השנייה אינה נגישה. אם התשובה מציינת את המנהרה הלא נכונה, התחברות מחדש לא תעזור; מדיניות הניתוב חייבת להשתנות.
הפסיקו את הלקוח השני מלתבוע הכול
לקוח אחד צריך להחזיק בנתיב ברירת המחדל, והשני צריך לשאת רק את הקידומות שלו. OpenVPN לקוחות יכולים לסרב למה שהשרת דוחף.
pull-filter ignore "redirect-gateway"
ip route get 10.30.4.10route-nopull מתעלם מכל נתיב שנדחף, בעוד pull-filter ignore "redirect-gateway" מפיל רק את הנחיית נתיב ברירת המחדל ומשאיר את ה-DNS ואת שאר האפשרויות שנדחפו. בחרו ביניהם לפי כמה מתצורת השרת אתם עדיין רוצים, ואז הוסיפו את הקידומות הספציפיות שהרשת השנייה צריכה. זכרו את ה-DNS, כי פותר שנדחף על ידי מנהרה שאינה נושאת את השאילתות אינו מחזיר דבר. בדקו מארח מוכר בכל רשת ואשרו את כתובת המקור שהצד המרוחק רואה.
אי אפשר לעקוף רשתות משנה חופפות
כששתי הרשתות מפרסמות את אותה קידומת, הגרעין מחזיק רשומה אחת לשני מקומות שונים וחייב לבחור. נתיב מארח אינו יכול להמציא את ההבחנה החסרה, וגם לא כוונון מדד. מספרו מחדש צד אחד, או הניחו למנהל שלו לתרגם את הטווח המרוחק כדי שהקידומות ייבדלו. בדקו את רשתות המשנה האמיתיות לפני שאתם מאשימים את הלקוחות, כי ברירת המחדל 192.168.1.0/24 של נתב ביתי מתנגשת בטווח משרדי לעתים קרובות יותר משמצפים. רשמו את שני הטווחים בכרטיס כדי שהשינוי הבא לא ישחזר את החפיפה.
הפרידו גם שני יעדים: להגיע לשתי הרשתות היא בעיית ניתוב, ואילו שרשור מנהרות לפרטיות הוא עיצוב אחר עם מפעיל נוסף בנתיב. אל תשתמשו באחד כדי לפתור את השני.