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

רשומת לקוח מציינת יעד, לא מאזין

בהגדרות המערכת > רשת > VPN ב-macOS Ventura ואילך, השדות שגרסאות ישנות יותר שומרות תחת העדפות רשת מתארים איך להגיע לנקודת הקצה של מישהו אחר: כתובת שרת, מזהה מרוחק, חשבון או תעודה, וכללי חיבור-לפי-דרישה אופציונליים. שמירת הרשומה הזו מאחסנת חיבור בתצורת הרשת של ה-Mac שלך. שום דבר בתהליך לא קושר פורט, לא פותח מאזין ולא רושם משתמש מרוחק.

אפשר לבדוק את זה מהמעטפת. ב-Mac שאתה חושד שמשרת, הרץ sudo lsof -nP -iUDP וחפש את הפורטים שהפרוטוקול שלך משתמש בהם: 500 ו-4500 ל-IKEv2, 1194 לברירת המחדל של OpenVPN, 51820 ל-WireGuard. מכונה שהיא לקוח בלבד מציגה sockets שמשויכים לכתובת ולפורט מרוחקים, ולא כריכה כללית שכל דבר באינטרנט יכול להגיע אליה. מנהרות שרצות בתוך Network Extension יכולות להתחמק מ-lsof, ולכן בדוק גם את חלונית המצב של האפליקציה; מה שלא תמצא הוא העדפת Apple שהופכת את ה-Mac הזה לשער.

שלוש שאלות מפרידות בין שני התפקידים

עבור עליהן לפי הסדר. הראשונה בדרך כלל מכריעה את השאר, והשלישית היא המקום שבו רוב התכנון הספציפי ל-Mac נכשל.

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

2. מה חייב להיות נגיש כשהמנהרה פעילה? שירות אחד על מארח אחד הוא החלטת העברת פורטים. תת-רשת שלמה, כולל פתרון שמות, היא החלטת ניתוב ו-DNS, והיא משנה את מה שהשער חייב להעביר ולא את מה שרשומת הלקוח אומרת.

3. איזו גרסת מערכת מריצה את הצד המקבל? לגבי Macs לשאלה הזו יש תשובה חדה. Apple מפרטת את VPN כמי שהוסר מ-macOS Server 5.7.1, ואפליקציית macOS Server עצמה הופסקה ב-21 באפריל 2022; הודעת היסטוריית השירות היא העמוד שיש לקרוא כשמדריך ישן מעביר אותך בתיבת סימון של שירות VPN שכבר לא קיימת.

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

היכן יכול השער לשכון במקום

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

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

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

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

בשער המועמד, הוכח שמאזין קיים במקום להאמין שהמתקין יצר אחד. ב-macOS זה אומר sudo lsof -nP -iUDP מסונן לפורטים שלמעלה, ובנוסף sudo pfctl -s nat אם כללי סינון מנות הם חלק מהתכנון. בלינוקס, ss -lunp מציג את אותן עובדות בלי עמימות.

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

רק אחרי זה תיגע בפרופילי לקוח. ב-Mac, scutil --nc list מדפיס את שירותי ה-VPN שהמערכת מכירה; אם השער שבנית זה עתה אינו ביניהם, אתה מגדיר מכונה אחרת מזו שבדקת. אם לחיצת היד מצליחה ב-LAN אך נכשלת מבחוץ, התקלה בנתיב הנכנס: כלל NAT, CGNAT של הספק, או חומת אש בשער, בסדר הזה.

לפני שאתה בונה משהו, סגור ארבע נקודות:

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

השלב הבא קונקרטי: בחר את מארח השער, אמת את המאזין שלו מבחוץ, ורק אז צור את רשומת הלקוח ב-Mac שמצביע עליו.

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