EoIP לוקח מסגרת Ethernet שלמה, עוטף אותה ב־GRE ושולח אותה לכתובת מרוחקת מוגדרת, ולכן התוצאה מתנהגת כמו כבל ולא כמו נתיב. מה שיוצא מהנתב הוא פרוטוקול IP מספר 47 עם המסגרת המקורית כמטען, ולכן שידורים, ARP ופרוטוקולים שאינם IP עוברים כולם. GRE אינו מוסיף סודיות משל עצמו, והמסגרת נשארת קריאה לכל דבר שרואה את החבילה החיצונית. העובדה האחת הזו קובעת את סדר המעבדה הזו: קודם בונים את הנתיב המוצפן, ואחר כך נושאים Ethernet בתוכו.

מה EoIP עוטף, ומה הוא לא

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

לכן הסודיות חייבת לבוא מהנתיב שהחבילה של GRE עוברת בו. בתכנון הזה השכבה התחתונה היא מנהרת WireGuard או IPsec בין שני הנתבים, ו־EoIP נישא בתוכה. MikroTik גם מציע אפשרות IPsec אוטומטית על ממשק ה־EoIP עצמו, וזו פריסה אחרת ואינה מה שהמעבדה הזו מגדירה.

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

דרישות מוקדמות: שכבה תחתונה מוצפנת ושתי יציאות שאינן בשימוש

שני הנתבים זקוקים לקישור מוצפן מבוסס ולכתובת עליו שהעמית יכול להגיע אליה. צד ה־LTE יוזם את החיבור החיצוני, ולכן הרכז אף פעם לא מחייג לרשת הסלולרית, והנתב של LTE שומר על מצב ה־NAT שהמפעיל דורש. ודאו שהמנהרה פעילה לפני שמוסיפים עליה משהו, מפני שממשק EoIP שאינו מגיע לכתובתו המרוחקת נראה בדיוק כמו ממשק שהוגדר שגוי.

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

Hub tunnel address:    10.44.7.1/32
LTE tunnel address:    10.44.7.2/32
Lab ports:             ether7 on both routers, unused
Test hosts:            192.168.77.11/24 and 192.168.77.12/24

הערכים האלה הם דוגמה ולא דרישה. הם חייבים לשבת על ממשקי המנהרה ולהנותב דרך הנתיב המוגן. מדיניות חומת האש בשני הנתבים חייבת להתיר GRE בין שתי כתובות המנהרה, ו־GRE הוא פרוטוקול IP מספר 47, לא יציאת TCP או UDP שמספרה 47. התכנון הזה אף פעם לא חושף GRE גולמי לאף אחת משתי רשתות ה־WAN.

צרו את זוג המנהרות עם מזהים תואמים

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

/interface eoip add name=eoip-lab local-address=10.44.7.1 remote-address=10.44.7.2 tunnel-id=37 mac-address=02:1A:2B:00:00:01

בנתב ה־LTE הכתובות מתהפכות וה־MAC שונה:

/interface eoip add name=eoip-lab local-address=10.44.7.2 remote-address=10.44.7.1 tunnel-id=37 mac-address=02:1A:2B:00:00:02

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

המדריך העדכני של EoIP מתעד את שדות נקודת הקצה וה־ID של המנהרה, ואומר בבירור ש־EoIP הוא Ethernet מעל GRE. שום דבר בפקודה הזו אינו מצפין דבר, ולכן בדיקת השכבה התחתונה באה ראשונה.

גשרו רק את יציאות הבדיקה

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

/interface bridge add name=br-eoiphub protocol-mode=rstp auto-mac=no admin-mac=02:1A:2B:00:01:01
/interface bridge port add bridge=br-eoiphub interface=ether7
/interface bridge port add bridge=br-eoiphub interface=eoip-lab

בנתב ה־LTE:

/interface bridge add name=br-eoiplte protocol-mode=rstp auto-mac=no admin-mac=02:1A:2B:00:01:02
/interface bridge port add bridge=br-eoiplte interface=ether7
/interface bridge port add bridge=br-eoiplte interface=eoip-lab

הפקודות האלה יוצרות גשרים חדשים ומוסיפות בדיוק שתי יציאות לכל אחד. ממשק ה־EoIP הוא החבר בשכבה השנייה; המנהרה המוצפנת נשארת תחבורה מנותבת ואסור להוסיף אותה לעולם כיציאת גשר. אל תוסיפו יציאת ייצור ואל תפעילו שרת DHCP על גשר המעבדה.

תנו לשני מארחי הבדיקה כתובות בתת־רשת שאינה בשימוש וללא שרת DHCP מתחרה, כמו 192.168.77.11/24 ו־192.168.77.12/24. הם אינם זקוקים לשער ברירת מחדל כדי להגיע זה לזה בתוך אותה תת־רשת, וכתובת ממשק של נתב אינה נדרשת כדי שהמסגרות יעברו.

חשבו את תקורת הכותרת לפני שאתם מרחיבים LAN

EoIP מעל IPv4 מוסיף כותרות Ethernet, GRE ו־IP חיצוני סביב המטען הנישא. במקרה ללא תג MikroTik מתעד 42 בתים, ולכן שכבה תחתונה עם 1400 בתים של IP MTU שמיש משאירה 1358 בתים למסגרת הפנימית. המספר הזה הוא תקציב ולא ערך MSS אוניברסלי, והוא אינו כופה על מארח מגושר לשדר מסגרות קטנות יותר.

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

/interface eoip print detail where name=eoip-lab
/interface bridge host print where bridge=br-eoiphub
/ping 192.168.77.12 count=4 interface=br-eoiphub

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

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

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