OpenVPN TUN מול TAP: שלושה תנאים שמכריעים
ממשק אחד מעביר מנות IP והאחר מעביר מסגרות Ethernet. בדקו את היישום, את תמיכת הלקוח ואת התסמין האמיתי לפני גישור כלשהו.
שתי מנהרות יכולות להעביר אותה העברת קבצים ובכל זאת להיות שונות לחלוטין במה שהן שמות על הקו. האחת מעבירה מנות IP בין שתי כתובות; האחרת מעבירה מסגרות Ethernet וניתן לגשר אותה אל תוך מקטע. ההבדל הזה מכריע אילו יישומים יעבדו, אילו לקוחות יוכלו להתחבר, וכמה תכנון רשת תיקחו על עצמכם.
שלושה תנאים מכריעים את זה בפועל. עברו עליהם לפי הסדר, כי הראשון בדרך כלל מסיים את הדיון.
מה כל ממשק באמת מעביר
התקן TUN הוא ממשק נקודה לנקודה בשכבה 3: הגרעין מוסר לו מנות IP והמנהרה מעבירה אותן לכתובת עמית. התקן TAP הוא ממשק בשכבה 2 שמעביר מסגרות Ethernet, וזה מה שמאפשר גישור בכלל, כפי שמתארת תיעוד הגרעין. אף אחד מהם לא משנה כיצד המטען מוצפן, ואף אחד מהם אינו הגדרת חוזק. הבחירה עוסקת במה שהקצוות חייבים להחליף, ולא בכמה טוב התעבורה מוגנת.
מסקנה אחת נובעת מיד: שני הקצוות חייבים להסכים. לקוח שהוגדר לסוג התקן אחד אינו יכול להצטרף לשרת שהוגדר לאחר, יהיה מה שיהיה בשאר.
תנאי ראשון: האם משהו זקוק לשכבה שתיים?
גישור מצדיק את מורכבותו כאשר פרוטוקול באמת זקוק לאותו תחום שידור: תעבורה שאינה IP, גילוי שאינו יכול לחצות נתב, או יישום שמתעקש להיות באותו מקטע. כל השאר הוא בעיית ניתוב, והניתוב פותר אותה במכונה הרבה יותר קטנה. הרחבת מקטע על פני אזור רחב מרחיבה גם את השידורים שלו, ולכן מניעת לולאות, תכנון כתובות ותחומי כשל הופכים כולם לחלק מהתכנון. זה הרבה לקבל עבור דרישה שנתיב אחד היה מספק.
המבחן מוחשי: נקבו בשם היישום שנכשל במנהרה מנותבת ואמרו מדוע. אם התשובה היא שהוא זקוק לשידור, שכבה שתיים היא התשובה הכנה. אם התשובה היא שמישהו לא הצליח להגיע לשרת אחד, הדרישה היא נתיב או כלל חומת אש.
תנאי שני: האם הלקוחות יכולים?
התמיכה אינה אחידה. לקוחות שולחניים בדרך כלל חושפים את שני סוגי ההתקן, בעוד שלקוחות ניידים ומשובצים מיישמים לעתים קרובות רק את המצב המנותב, ופרופיל שנטען בלי תלונות עלול בכל זאת להיכשל כאשר הוא מנסה ליצור את הממשק. בדקו את הלקוח והגרסה המסוימים במקום להסיק את התכונות משם הפלטפורמה.
שגיאת אפשרות לא נתמכת אינה הזמנה למחוק שורות לא מוכרות עד שהטעינה תצליח. היא אומרת שהפרופיל והלקוח חלוקים על מה שאפשרי, והתיקון שייך למפעיל שהנפיק את הפרופיל. הסרת אפשרות כדי להשתיק מאמת עלולה ליצור חיבור שנראה עובד בעודו משמיט בשקט את התכונה שלשמה נועד.
תנאי שלישי: האם זו באמת שאלה של ממשק?
שתי בחירות סמוכות מואשמות בבעיות ממשק. ההתקן הווירטואלי מחליט מה נכנס למנהרה, ואילו UDP או TCP מחליטים כיצד מתנהג התעבורה החיצונית, ואף אחד מהם אינו מרפא העברות שנתקעות. כאשר העברות גדולות נתלות בעוד קטנות מצליחות, גודל המנה וה-MTU ראויים לתשומת הלב במקום.
לקוח שמתחבר ואז אינו מצליח להגיע למארח פנימי אחד בדרך כלל בוחן ניתוב, כלל חומת אש או נתיב חזרה חסר.
לשירות מנוהל, השתמשו בסידור הממשקים שהפרופיל של המפעיל מגדיר, כי צד השרת כבר בנוי סביבו. לפריסה פרטית, בחרו לפי הדרישה האמיתית של היישום וכתבו את הסיבה לצד הבחירה.
השאלה אינה איזו אפשרות חזקה יותר. השאלה היא איזו מהן התעבורה באמת צריכה.