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

שני הארגומנטים שהעוזר מקבל

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

server 10.72.16.0 255.255.240.0

זו הצורה עבור /20. השורה שלמטה היא הטעות, והיא נכשלת בניתוח האפשרויות, לא בזמן ריצה:

server 10.72.16.0/20 255.255.240.0

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

יישרו את הרשת לפני שאתם מקלידים את המסכה

הכתובת הראשונה היא כתובת הרשת של הטווח, לא כתובת לקוח נוחה בתוכו. עבור /20 הטווח נע מ-10.72.16.0 עד 10.72.31.255, ורק הראשונה שבהן היא ארגומנט רשת תקף. /21 משתמש ב-255.255.248.0 ומכסה מ-10.72.16.0 עד 10.72.23.255, ולכן השורה שלו היא server 10.72.16.0 255.255.248.0.

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

אשרו את המאגר מצד השרת

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

openvpn --config /etc/openvpn/server.conf --verb 4 --dev tun9 --port 1195

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

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

קראו את המסכה של הלקוח מתוך מחשבה על הטופולוגיה

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

בדקו את הטופולוגיה המוגדרת ואת הכתובת שהוקצתה יחד לפני שתסיקו מסקנה:

ip -4 addr show tun0

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

שינוי מאגר חי

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

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

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

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