עבור לתוכן

סיקור| חיבור VNC ו NAT + עזרה קטנה לעשות NAT2NAT עם שרת SSH

Featured Replies

פורסם

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

סיקור: (הקושי שלי הוא בסוף העמוד)

יש לי שני מחשבים שנמצאים מאחורי ראטור עם NAT וכל היציאות סגורות.

כל מחשב נמצא במיקום אחר.

אני מעוניין לחבר בין שני המחשבים ב VNC.

לULTRAVNC יש שני פתרונות לחיבור מאחורי NAT ,

1. הוא REPEATER למצב שבו יש לי רשת שלימה של מחשבים ב NAT ואני מנתב פורט אחד למשל 5901 למחשב\שרת ובו מותקן הREPEATER וכשאני רוצה להתחבר למחשב ברשת הפנימית אני שם את כתובת האיפי של הרשת\נתב\NAT\באינטרנט והיציאה הנ"ל וביעד אני שם את כתובת האיפי או שם של המחשב ברשת הפנימית + יציאת שרת ה VNC ואני מגיע אליו.

2.ה REPEATER במצב שונה שבו יש מחשב שמחובר ישירות לאינטרנט ללא חציצה או עם שתי יציאות פתוחות 5900 ו 5500 ב NAT\פיירוול במחשב השרת א' שנמצא מאחורי NAT וסגור מפעילים את שרת הVNC ומתחברים למחשב האמצע + הגדרת ID למחשב א על מחשב האמצע.

בשלב הבא מחשב ב' שיושב מאחורי NAT וסגור מתחבר למחשב האמצע ומקיש את ה ID של מחשב א' ומקבל שליטה עליו (ללא סיסמא).

אופציה 2 נחמדה לי מאד חוץ משני חסרונות:

אין סיסמא בחיבור לשרת(בעיית אבטחה).

ולאחר שמחשב ב' סוגר את החיבור מתנתק מחשב א' ממחשב האמצע וצריך להגדרי מחדש ידנית את החיבור לשרת האמצע.

ישנו פתרון נוסף לבעיה שם מכנים אותו NAT2NAT.

הרעיון הוא שיש שרת אמצע כל שהוא בין לאומי שיושב באינטרנט שנקרא NH.

מפעילים על מחשב א' תוכנה בשם NSC מגדירים ידנית סיסמא ושם משתמש, מפעילים את שרת(או שזה מפעיל אותו ידנית לא בראש שלי לבדוק עכשיו) ה VNC מגדירים סיסמא ומחכים.

במחשב ב' שמעוניין להתחבר מפעילים את תוכנה בשם NVC ומקישים את את שם המשתמש והסיסמא שהקשנו במחשב א' בתוכנת ה NSC + מקישים את הסיסמא של שרת מחשב א' ומתחברים.

האפשרות הזאת מאד נחמדה אבל יש לה חסרון מסויים.

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

וישנו חלון DEBUGGING מעצבן שמראה את מצב מול שרת ה NH שנפתח כל 10 שניות מחדש הווה אומר תוך דקה יש לך 6 חלונות פתוחים.

(לא ניתן להשתמש בה כ SERVICE או בעת עליית המחשב).

וכמובן אתה תלוי בשרת ה NH.

בשביל להתגבר על הבלאגן חשבתי על הכיוון של שרת VPN אבל אצלי זה לא ישים.

לכן חשבתי על TUNNELING דרך שרת SSH.(שאגב עונה על בעיות אבטחת הנתונים)

יש לי שרת SSH חינמי FreeSSHd ואני משתמש או ב PUTTY או ב PLINK בשביל להתחבר לשרת ה SSH.

בשרת ביטלתי את אפשרות ה SFTP TELNET ו SHH והשארתי רק את אפשרות ה TUNNELING + אפשרתי לעשות Local ו Remote Port forwarding.

כך שכשאני יוצר התקשרות לשרת ה SSH אני מקיש שם משתמש וסיסמא או לחלופין באמצעות PLINK הגדרתי קובץ BATCH \LNK עם שם המשתמש והסיסמא והגדרות החיבור בשם SSHC.BAT.

כשאר אני מפעיל את PLINK נשאר לי חלון פתוח שכל אחד יכול לסגור.

אז מצאתי סקריפט VBS שמפעיל את PLINK בדומה ל SERVICE (נסתר מהעין) וניתן לראות אותו בחלון התהליכים של חלונות.(עובד בחלונות 2000 ומעלה).

הנה הסקריפט:

קוד:


Const HIDDEN_WINDOW = 12

strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set objStartup = objWMIService.Get("Win32_ProcessStartup")

Set objConfig = objStartup.SpawnInstance_
objConfig.ShowWindow = HIDDEN_WINDOW
Set objProcess = GetObject("winmgmts:root\cimv2:Win32_Process")
errReturn = objProcess.Create("notepad.exe", null, objConfig, intProcessID)



מחליפים את הקובץ

NOTEPAD.EXE

בפקודה שאתה רוצה לבצע\ התוכנה שאתה רוצה להפעיל.

עד כאן הכל יפה.

בנסיון הראשון שלי בדקתי חיבור לשרת SSH ודרך ה TUNNEL להתחבר לשרת ה VNC על המחשב עם שרת ה SSH.

בשורת הפקודה של PLINK זה מה שהכנסתי.

קוד:

Plink -l user1 -pw 12345 -L 5900:127.0.0.1:5900 myhost.biz

בשרת ה VNC אפשרתי חיבור מ LOOPBACK = 127.0.0.1 \ Localhost.

(myhost.biz = כתובת לוגית או כתובת איפי של שרת ה SSH.)

בשלב הזה פתחתי את VNCVIEWER ובכתובת הכנסתי 127.0.0.1:5900 והתחברתי בלי בעיות לשרת הVNC דרך SSH.

עוד אופציה זה להתחבר למחשב למחשב כל שהוא שיש לשרת ה SSH גישה אליו.

פשוט משנים את 127.0.0.1 לכתובת האיפי של מחשב שנמצא בתוך אותה הרשת שלשרת ה SSH יש גישה אליו.

פה נתקעתי

עכשיו לשלב הבא: חיבור שני מחשבים שמאחורי NAT ללא יציאות פתוחות. לשרת ה SSH ושליטה מרחוב ב VNC או חיבור כל שירות\שרת אחר ביניהם.

אני לא הצלחתי להבין מה אני צריך לכתוב בשורת הפקודה של PLINK או לחלופין מה צריך להגדיר ב PUTTY בשביל שאני אוכל ליצור ניתוב נתונים בין מחשב א' לב' ו\או הפוך.

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

קישור

http://the.earth.li/%7Esgtatham/putty/0.60/htmldoc/Chapter4.html#config-ssh-portfwd

להסבר על שימוש בתעלות בתוכנה

PUTTY

אם יש אפשרות לשמור את הסיסמא לשרת אשמח מאד לדעת עליה.

תודה לכל מי שאפילו הציץ על זה.

פורסם

עבדת לפי המדריך הזה?

מה הבעיה פשוט להפנות פורטים לשתי המחשבים וזהו?

פורסם

יבגני את זה הוא כבר יודע לעשות (tunnel רגיל) הוא מנסה לגשר בין 2 tunnels שהוא יצר ממחשבים שונים בעולם לשרת SSH יחיד)

פותח הדיון - אני חושב שאתה לא יכול לעשות את זה בצורה שניסית,

אתה חייב להגדיר reverse ssh tunnel מאחת התחנות ו tunnel רגיל בתחנה השניה.

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

(יש מצב שאני מקשקש, תבדוק אותי)

אגב, בדיוק ככה גם Skype עוקפת כל פירוול אפשרי כמעט (ע"י "ניקוב חורים" בפירוולים מבפנים החוצה אל שרת חיצוני שמגשר)

(מגשר - רק ביצירת החורים, לאחר מכן התקשורת נעשית ישירות בין התחנות, בלי מעבר בשרת)

http://www.heise-online.co.uk/security/How-Skype-Co-get-round-firewalls--/features/82481

(יש שני עמודים למאמרון הזה)

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים