iptables לא מבצע NAT למחשב שמופעל בו קליינט VPN
-
שלום לכולם!
אני לא יודע אם זה הפורום המתאים לשאלה שלי,
אבל זה וודאי הפורום שמאגד כשרונות שמתאימים לשאלות כאלו...אז ככה,
הרשת בחברת הענק שלי (קרי: חדרון בבית שלי), מופעלת באמצעות ראוטר לינוקסאי עם קושחת קוד פתוח (Tomato).
ברשת יושב מחשב לינוקס (וירטואלי שמחובר לרשת בברידג') אשר משמש אותי כשרת פרטי - להלן: וירטואלי,
ובנוסף, על מחשב וירטואלי זה, מוגדר גם קליינט VPN שמתחבר לשרת נוסף בצידו השני של האוקיינוס - להלן: VPN.מה התכנון:
הצורך שלי הוא היכולת לגשת מכל מקום באינטרנט אל הוירטואלי, כולל היכולת להמשיך ממנו החוצה אל ה VPN.
לצורך כך, ראשית פתחתי ב iptables של הראוטר והוירטואלי גישה מכל האינטרנט אל הפורט הייעודי של השרת הוירטואלי,
ושנית, הגדרתי בטבלת ה nat של ה iptables בראוטר - שיפנה כל בקשה שמגיעה עם הפורט הייעודי של השרת הוירטואלי - אל הוירטואלי.מה למעשה:
כשאני ניגש ממחשבים [u:28mh5vb7]בתוך הטווח של הרשת הביתית[/u:28mh5vb7] אל השרת הוירטואלי,
הכל מתחבר יפה, כולל היכולת להמשיך מהוירטואלי אל ה VPN.
כשאני ניגש ממחשבים [u:28mh5vb7]שלא בטווח של הרשת הביתית[/u:28mh5vb7], אלא דרך האינטרנט,
ה iptables עם ה nat בראוטר עושים יפה את העבודה, ואני מגיע אל השרת בוירטואלי.
אבל, אם הקליינט VPN דולק בוירטואלי,
למרות שממחשבים בתוך הרשת אני פתוח אל השרת וממנו אל ה VPN,
ממחשבים מבחוץ אני לא מצליח להגיע אפילו אל השרת עצמו.תוצאות של בדיקות:
ניסיתי לבדוק איפה המוקש - עד כמה שידי יד כהה מגעת,
אז ראשית אני יכול לשלול בוודאות שמי שתוקע את המקלות בגלגלים זה הוירטואלי,
בדקתי בזמן אמת, וכאשר הקליינט VPN פועל עליו, הוא בכלל לא מזהה שמגיעות אליו בקשות לחיבורים נכנסים (אם הם הגיעו דרך האינטרנט).
שנית, בדקתי עם nmap מה קורה כשאני מנסה להתחבר מהאינטרנט (כותב את כתובת ה IP הקבוע של הבית עם הפורט המבוקש),
ואכן, כאשר הקליינט VPN בוירטואלי דולק - אני מקבל port filtered, וכאשר הקליינט VPN לא דולק - אני מקבל port open.
במילים אחרות לכאורה, ה iptables שעל הראוטר מודע לכך אם הקליינט VPN על הוירטואלי פעיל או מכובה ומשום מה מחליט לפי זה אם לפתוח או לסגור את הפורט שלי.וכאן הבן שואל:
למישהו יש מושג:
איך הראוטר יודע מה קורה על הוירטואלי אם ה VPN דולק או לא?
מה מעצבן אותו שהוא מחליט על דעת עצמו לסגור גישה לוירטואלי כאשר ה VPN פתוח?
באיזה דרך ניתן להרגיע אותו? ריטלין?תודה רבה מקרב לב לטורחים לקרוא,
וקל וחומר למי שיוכל לעזור.
אני רק אוסיף, שיש במהלך הזה - אם הוא יצליח להיות פעיל - צורך מצווה ממש!פורסם במקור בפורום CODE613 ב19/01/2017 00:07 (+02:00)
-
הסיבה היא מאוד פשוטה.
בגלל שה VPN דולק. אז שער ברירת מחדל משתנה ל VPN. ואז אפילו שהוא מקבל חבילות מהאינטרנט. הוא לא מחזיר אותם לאותו אינטרנט. הוא מחזיר אותם ל VPN.
אם אתה רוצה לראות את זה ממש בצורה מוחשית.
תריץ ככה.
tcpdump -i eth0
ואחרי זה תבדוק את האינטרפיס של ה VPN.לא עולה לי בראש איך אפשר לפתור את הבעיה.
אבל לא מבין למה צריך שזה יקבל בקשות. אתה רוצה לעשות פרוקסי דרך ה VPN ?פורסם במקור בפורום CODE613 ב19/01/2017 03:01 (+02:00)
-
mat, תודה רבה!
אכן צדקת,
למרות שבוירטואלי לא ראיתי (באמצעות watch -d -n1 lsof -i) שום חיבורים נכנסים כשהגישה נעשתה מהאינטרנט,
אבל מבדיקה עם tcpdump באמת רואים שהבקשות כן מגיעות לוירטואלי גם אם הם נשלחו מהאינטרנט.
מה שכמובן שולל את התאוריה שלי שהבעייה היא ה iptables בראוטר.בנוסף,
צדקת, השרת שלי בוירטואלי הוא שרת פרוקסי (אני חייב לדעת מה קורה ברשת שלי וגם להתערב כשצריך)...
וכשאני מנסה לגשת אליו מבחוץ דרך האינטרנט,
אני לא מקבל שום תגובה כלשהיא משרת הפרוקסי, אלא המחשב ממנו אני גולש מודיע time out.
במחשבה שנייה - לפי דבריך זה די הגיוני,
כי בעצם שרת הפרוקסי מבחינתו כן עונה תשובה ושולח אותה - רק לא למקום הנכון.אבל מצד שני,
כשאני עושה tcpdump לאינטרפייס של ה VPN,
לא נראה שהוא מנסה בכלל לשלוח פקטים כלשהם לאן שהוא - כשאני מנסה לגשת לוירטואלי מהאינטרנט,
ואם הבנתי אותך נכון - לא הייתי אמור לראות שהוא מנסה להחזיר פקטים דרך ה VPN?תודה רבה!
פורסם במקור בפורום CODE613 ב19/01/2017 15:15 (+02:00)