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

בשרשרת יש שלוש חוליות, ו-Plex רואה רק את האחרונה

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

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

חוליה ראשונה: העבירו פורט אצל ספק ה-VPN

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

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

חוליה שנייה: הפנו את הפורט עם עוגן pf

ב-macOS ההפניה שייכת לעוגן pf, כלל אחד לכל ממשק שיכול לשאת את החבילה. כתבו את כלל המנהרה ראשון ואת כלל ה-Ethernet שני, עם אותו פורט חיצוני בשניהם, אחרת תעבורה שמגיעה דרך Wi-Fi במהלך מעבר גיבוי נוחתת בשום מקום.

# /etc/pf.anchors/plex.forward
rdr pass on tun0 inet proto tcp from any to any port 41893 -> 127.0.0.1 port 32400
rdr pass on en0 inet proto tcp from any to any port 41893 -> 127.0.0.1 port 32400

קובץ העוגן לבדו לא עושה דבר; התצורה הראשית חייבת להפנות אליו ולטעון אותו. שימו את שתי השורות האלה בקובץ /etc/pf.conf לפני כל כללי הפניה קיימים, ואז טענו מחדש וקראו מה הליבה באמת קיבלה.

rdr-anchor "plex"
load anchor "plex" from "/etc/pf.anchors/plex.forward"

sudo pfctl -vnf /etc/pf.anchors/plex.forward
sudo pfctl -f /etc/pf.conf
sudo pfctl -s nat

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

חוליה שלישית: נעלו את אותו פורט בתוך Plex

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

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

אשרו כל חוליה לפני שאתם מאשימים את Plex

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

sudo lsof -nP -iTCP:32400 -sTCP:LISTEN

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

sudo pfctl -s nat | grep 41893
nc -vz 203.0.113.42 41893

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

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