כל מה שרצית לדעת על הגדרת פורטים ולא העזת לשאול
דף הבית  >>  >>  הרשם  |  התחבר
מאמרים

כל מה שרצית לדעת על הגדרת פורטים ולא העזת לשאול 

מאת    [ 03/06/2009 ]
מילים במאמר: 597   [ נצפה 3632 פעמים ]

 
 
על מנת שניתן יהיה לתקשר עם תוכנה כלשהי דרך הרשת (בפרוטוקול TCP), עליה להאזין ל PORT מסויים, שיהיה מוקדש רק לה על המחשב עליו היא רצה. (http://en.wikipedia.org/wiki/TCP_ports)

במקרה שלנו, התוכנה עליה אנו מדברים היא SQL.

הפורט שלו ה SQL מאזין משתנה בין שני מצבים התלויים בסוג ה Instance:

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

Named Instance - במצב זה, כברירת המחדל ה SQL מאזין לפורט דינמי.
מהו פורט דינמי? - פורט דינמי הוא פורט שמוקצה ל SQL בצורה דינאמית, זאת אומרת, הפורט לא קבוע. התהליך של הקצאת פורט דינמי הוא כדלהלן:

1. רק Named Instance יכול להשתמש בפורטים דינמיים.
2. כשה Instance עולה בפעם הראשונה הפורט מוגדר כ - 0 ,זאת אומרת שה Instance SQL מבקש ממערכת ההפעלה שתקצה לו פורט פנוי.
3. ברגע שמערכת ההפעלה מקצה ל Instance פורט, הוא מתחיל להאזין לו.
4. הפורט המוקצה נרשם ל REGISTRY
5. בכל פעם שה Instance עולה הוא ינסה להאזין לפורט שרשום ב REGISTRY.
6. אם תוכנה אחרת משתמשת בפורט, ה SQL Instance יבקש פורט אחר.
אז איך הלקוח (CLIENT) יודע לאיזה פורט להתחבר?

במקרה של Default Instance הלקוח מנסה להתחבר בפורט 1433 המוכר והידוע.

הבעיה מתחילה כשאנו משתמשים ב Named Instance ואז ישנן שתי דרכים להודיע ללקוח באיזה פורט להתחבר:

1) Connection String - ניתן לציין ב Connection String את הפורט לו מאזין ה Instance (טיפה בעייתי - מכיוון שהפורט דינמי ועשוי להשתנות). אם ברצוננו להזין את הפורט ב Connection String, עלינו להשתמש רק בשם המחשב ובמספר הפורט, ללא התחשבות בשם ה Instance. לדוגמא:
Myserver,1578 במקום Myserver/InstanceName.
כמובן שלצורך כך עלינו לדעת מה הפורט לו מאזין ה Instance, על כך בהמשך.

2) שימוש ב SQL Server Browser - זהו Service שרץ רק בסביבה עם לפחות Named Instance אחד, וכאשר הוא רץ הוא מאזין באופן קבוע לפורט UDP 1434. כאשר לקוח מנסה להתחבר ל Named Instance בצורה הבאה Myserver/InstanceName מה שקורה זה שנשלחת בקשה ל Browser על הפורט UDP 1434 ומתקבל כתשובה הפורט עליו מאזין ה Instance.
חשוב לציין, בשימוש ב Default Instance אין משמעות ל SQL Browser ולפורט UDP 1434.

בשלב הזה נשאלת השאלה - מה לכל הרוחות עושים אם רוצים לעבוד דרך FIREWALL ולא רוצים להשתמש בפורט שכולם מכירים????

האפשרויות הן:

לשנות את הפורט של ה Default Instance ולציין אותו ב Connection String- במצב כזה צריך לדאוג ב FIREWALL שהפורט הנ"ל יהיה פתוח.
לקבוע ל Named Instance פורט קבוע ולציין אותו ב Connection String- במצב כזה צריך לדאוג ב FIREWALL שהפורט הנ"ל יהיה פתוח.
לקבוע ל Named Instance פורט קבוע ולהמשיך להשתמש ב SQL Browser- במצב כזה צריך לדאוג ב FIREWALL ששני הפורטים (UDP 1434 והפורט הנ"ל) יהיו פתוחים.
במצב בו אנו משתמשים ב Named Instance עם פורט דינמי ושימוש ב Browser לא ניתן יהיה לוודא עבודה דרך ה FIREWALL מכיוון שהפורט עשוי להשתנות ולכן עדיף לא להשתמש בתצורה זו כשעובדים דרך FIREWALL.



אז איך משנים את הפורטים?

משתמשים ב SQL Server Configuration Manager... ובעצם, קוראים פה - http://msdn2.microsoft.com/en-us/library/ms177440.aspx

איך יודעים על איזה פורט מאזין ה INSTANCE?

1) לבדוק ב SQL Server Configuration Manager משם ל Network Configuration, משם ל TCP.
2) לבדוק ב REGISTRY -
SQL 2005
HKEY_LOCAL_MACHINESOFTWAREMicrosoftMicrosoft SQL ServerMSSQL.MSSQLServer
SuperSocketNetLibTCP

SQL 2008
HKEY_LOCAL_MACHINESOFTWAREMicrosoftMicrosoft SQL ServerMSSQL10.MSSQLServer
SuperSocketNetLibTCP





לסיכום - ב Default Instance אפשר לשנות את הפורט איתו עובדים (לצרכי אבטחה). ב Named Instance אפשר לעבוד עם פורט דינמי או פורט קבוע.

במקרה שמשנים את ערכי ברירות המחדל, צריך לציין את מספר הפורט ב Connection String:

Myserver,xxxx (כשמציינים מספר פורט, אין לציין את שם ה Instance).

אם משתמשים ב Named Instance אפשר לוותר על ציון הפורט ב Connection String ולהשתמש ב SQL Browser, שעובד בפורט UDP 1434.

שי אנגלברג
חברת ואלינור
http://www.valinor.co.il
http://www.sqlserver.co.il

LinkedIn - SQLServer Valinor
מאמרים נוספים שעשויים לעניין אותך:

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

©2017
כל הזכויות שמורות

מורנו'ס - שיווק באינטרנט

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



מדיה חברתית:
חלון מאמרים לאתרך
תנאי שימוש במאמרים
ערוצי מאמרים ב-RSS Recent articles RSS


מאמרים בפייסבוק מאמרים בטוויטר מאמרים ביוטיוב