جشنواره تخفیف های جمعه سیاه
مریم حیات رمضانی
کارشناس شبکه های مایکروسافت و پایگاه داده

آموزش مفاهیم مسیریابی (Routing) در ویندوز سرور و نحوه پیاده سازی

در این مقاله به بررسی مفاهیم روتینگ خواهیم پرداخت . روتر یک مسیریاب هست که موجب برقراری ارتباط شبکه هایی با رنج آی پی متفاوت با یکدیگر می شود.برای برقراری ارتباط شبکه ها در سطح گسترده از روترهای فیزیکی استفاده می کنند اما می توان برای ایجاد ارتباط میان چند شبکه در سطح محدود از قابلیت روتینگ موجود در ویندوزسرور نیز که توسط سرویس RRASیا (Routing & Remote Access Service) ارائه میشود ،استفاده کرد.

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

سرویس RRAS نقشهای عملیاتی Routingو Remote Access و VPN و Radius Server را در برمیگیرد که در اینجا ما به تشریح مفاهیم مربوط به عملیات روتینگ توسط ویندوز سرور 2008 خواهیم پرداخت. شبکه های با subnet متفاوت برای برقراری ارتباط با یکدیگر درخواست خود را برای روتر ارسال می کنند و روتر به کمک لیستی از IPها که به آن Routing Table می گویند به شناسایی مقصد درخواستهای ارسالی می پردازد .اگر مسیریاب یا روتر موفق به یافتن مقصد مورد نظر نشد درخواست را برای Gateway ارسال خواهد کرد . با تایپ دستور route print در cmd می توان اطلاعات مربوط به Routing table را مشاهده کرد.

وب سایت توسینسو

در خروجی گرفته شده از دستور route print اولین بخشی که مشاهده می شود Interface list نام دارد که در آن IPهای رابط ویندوز سرور یا همان IP interface ها (کارت شبکه ها )با شماره های رابط برچسب می خورند.کاربرد آن برای هر زمانیست که یک رابط رابه جدول مسیر یابی اضافه و یا از آن حذف می کنیم .بدین ترتیب میتوان از تعداد کارت شبکه های اضافه و یا حذف شده با خبر شد.دومین بخش IPv4 route table نام دارد.در واقع این جدول بیانگر مقصدی است که ویندوز سرور ترافیک را به آن route می کند.

  • Network destination: مقصد مورد نظر route ای که add شده را بیان می کند.
  • Netmask: بیانگر subnet آی پی مقصد است.
  • Gateway:هر IP آدرسی که سیستم به کمک routing table قادر به شناسایی آن نباشد برای gateway ارسال خواهد کرد.
  • Interface: نشان دهنده IP رابط و کارت شبکه ای است که روتردرخواست route را از طریق آن ارسال خواهد کرد.(در اینجا در واقع تعداد کارت شبکه ها مد نظر است و تنها کارت شبکه های فیزیکی را در برنمی گیرد بلکه شامل loopbackو Bluetooth و wi-fi و ... نیز می شود.)
  • Metric:پارامتری است که هزینه مناسبترین مسیر را برای رسیدن به مقصد IP مورد نظر بیان می کند و این هزینه بسته به نوع الگوریتم روتینگ متفاوت است.

در محیط گرافیکی نیز میتوان اطلاعات مربوط به routing table را مشاهده کرد. برای این منظور وارد کنسول مدیریتی RRAS (که در ادامه مقاله نصب و راه اندازی آن را توضیح خواهیم داد ) می شویم و با راست کلیک روی عبارت Static routes و انتخاب گزینه show IP routing table پنجره مربوط به آن نمایان خواهد شد.

وب سایت توسینسو

نحوه اضافه کردن یک مسیر یا route

به دو طریق میتوان route های مورد نظر را add کرد: به صورت static ونیز استفاده از پروتکل های Routing

    • Add کردن static یک route: به کمک دستور route add می توان یک route را اضافه کرد باید بخاطر داشت که این دستور را باید با دسترسی Administrator در محیط command prompt اجرا کرد.قالب کلی دستور به صورت زیر است:
Route add  (destination address)  mask  (subnet mask)  (gateway ) metric (metric) IF (interface)  –p

p- در واقع مفهوم permanent را در بردارد .وقتی یک route را add می کنیم ،این دستور پس از یک بار restart سیستم از routing table حذف خواهد شد.استفاده از دستور –p موجب می شود که route بصورت دائمی وثابت درون routing table قرارگیرد.

تصویر زیر بیانگر اضافه کردن یک route بصورت static می باشد:

وب سایت توسینسو

با استفاده از دستور route delete نیز می توان یک route را حذف کرد.

وب سایت توسینسو
  • استفاده از پروتکل های روتینگ: با استفاده از قابلیت LAN Routing و در فعال کردن آن در سرویس RRAS می توان میان شبکه ها route ایجاد کرد زیراکه تمامی رابط های شبکه به کمک این قابلیت شناسایی شده و ارتباط میان شبکه ها برقرار می گردد و بسیار راحتتر از add کردن route به صورت دستی است.

شرح dynamic routing protocol ها

همانگونه که ذکر شد به کمک پروتکل ها دیگر نیاز به add کردن route به صورت دستی نیست. بنابراین استفاده از پروتکل ها موجب سهولت کار ما خواهد شد. می دانیم که در یک ساختار شبکه ای گسترده بیش از یک روتر وجود دارد مثلا ممکن است این ساختار ده ها و یا صدها شبکه را بر گیرد.در چنین شرایطی است که باید اطلاعات routing table ها با یکدیگر یکسان سازی شود ،اضافه کردن route ها روی تک تک روترها به صورت دستی عملا غیر ممکن است.بنابراین باید از پروتکل های روتینگ استفاده کنیم که به صورت خودکار اطلاعات routing table های روتر ها را با هم یکسان سازی و یکپارچه می کنند که به آنها Dynamic Routing Protocols می گوییم.

پروتکل های روتینگ بر دو نوع هستند : Distance-vector و Link –state

  • Distance-vector: بیشتر برای شبکه های کوچک و متوسط کاربرد دارد و اطلاعات routing table ها را به صورت متناوب برای روتر های مجاور ارسال می کند از پروتکل های آن می توان به IGRP و RIP اشاره کرد . RIP یا Routing Information Protocol پروتکلی است که توسط مایکروسافت پشتیبانی می شود و شامل سه ورژن RIPv1وRIPv2 و RIPng یا (RIP next generation)است. RIP آپدیت اطلاعات را هر 30 ثانیه یکبار برای تمام روترهای موجود در یک ساختار و مجموعه ارسال می کند. RIPv1 آپدیتها را به صورت broadcast برای روترهای مجاور (neighboring routers)ارسال می کند استفاده از این پروتکل ترافیک را به شدت افزایش خواهد داد چراکه به ازای هر آپدیت که صورت می گیرد کل بسته اطلاعاتی میان روتر ها پخش خواهد شد. اما ارسال آپدیت توسط RIPv2 به صورت Incremental بوده به این معنی که به جای کل بسته ی اطلاعاتی تنها آپدیت های صورت گرفته برای دیگر روترها فرستاده می شوند و این ارسال به صورت multicast انجام می شود و بالطبع ترافیک کمتری نسبت به نسخه قدیمی خود ایجاد می کند. RIP وجود 10 تا 50 روتر را در یک مجموعه پشتیبانی می کند اما بهتر این است که به دلیل افزایش بالای ترافیک توسط اینگونه از Distance-vector ها از آنها در محیط هایی که دارای یک تا حداکثر شانزده روتر هستند استفاده شود.
  • Link-state: بهترین مسیر را برای رسیدن به مقصد در نظر می گیرد.ازپروتکل های آن میتوان OSPF و IS-IS را نام برد و مایکروسافت نیز از میان آنها OSPF راپشتیبانی می کند در ویندوز سرور 2003 OSPF وجود داشت اما در ویندوز سرور 2008 این پروتکل حذف شده است.OSPF مخفف عبارت Open Shortest Path First می باشد. OSPF نیز همانند RIPv2 آپدیتها را بصورت Incremental انجام می دهد به عنوان مثال تنها route ای را که به تازگی add شده به جای کل بسته اطلاعاتی برای سایر روتر ها ارسال می کند و این باعث کاهش محسوس ترافیک خواهد شد.OSPF یک پروتکل هوشمند است و سریعترین مسیر را برای رسیدن به مقصد مورد نظر خود در نظر می گیرد.

پیاده سازی عملی روتینگ

پس از شرح مفاهیم روتینگ به کمک یک سناریو عملیات روتینگ را پیاده سازی می کنیم. در واقع در اینجا ما قصد داریم که میان دو کلاینت با رنج IP و Subnetهای متفاوت(دو شبکه مجزا) از طریق روتر ارتباط برقرار کنیم . برای برقراری این ارتباطات سیستمی که بعنوان روتر استفاده می شود، باید به تعداد شبکه هایی که قصد برقراری ارتباط میان آنها را داریم ، دارای کارت شبکه و رابط باشد.که اصطلاحا به آنها leg می گویند.تصویر زیر مراحل سناریو مورد نظر ما را به روشنی بیان می کند:

وب سایت توسینسو

پس از Set کردن IP ها روی کلاینتها ،نوبت به سرور می رسد همانگونه که پیشتر گفتیم برای انجام عملیات روتینگ توسط سرور باید سرویس RRAS را فعال کرده و تنظیمات مربوط به LAN Routing را برای برقراری ارتباط میان شبکه ها و نیز NAT را برای اینترنت دادن به آنها انجام دهیم.بدین منظور ابتدا برای نصب سرویس RRAS وارد کنسول Server manager شده ، نقش Network policy & Access services را مارکدار می کنیم و مطابق تصاویر زیر روی Next کلیک می کنیم.

وب سایت توسینسو
وب سایت توسینسو

در این بخش نیز تیک مربوط به گزینه Routing &Remote Access Services را فعال می کنیم با مارکدار کردن این گزینه زیرمجموعه های آن نیز انتخاب خواهند شد و روی گزینه Install کلیک می کنیم .مراحل طی شده مشابه تصویر زیر خواهد بود.

وب سایت توسینسو
وب سایت توسینسو

پس از عملیات نصب با تایپ عبارت rrasmgmt.msc در Run و یا از طریق مسیر زیر به کنسول RRAS دسترسی خواهیم یافت:

Start => Administrative tools => Routing and Remote Access Services

علامت قرمز نشان داده شده روی سرور در تصویر بیانگر Offline بودن آن است برای فعال سازی سرور روی آن راست کلیک کرده و اولین گزینه را انتخاب می کنیم .بدین ترتیب ویزارد Routing & Remote Access Server باز خواهد شد.روی گزینه Next کلیک می کنیم.

وب سایت توسینسو

گزینه های موجود در این صفحه آپشن های مختلفی را برای راه اندازی سرویس در اختیار ما قرار می دهند:

  • (Remote Access (Dial up or VPN:شرایط را برای برقراری ارتباط کاربران از طریق dial-up و یا VPN با سرور فراهم می کند.
  • (Network address translation(NAT: اتصال به اینترنت برای کاربران داخلی شبکه با استفاده از یک IP آدرس عمومی.
  • Virtual Private Network (VPN) access & NAT: بستر را برای برقراری ارتباط کاربران به صورت ریموت و از راه دور با سرور از طریق VPN و برای دسترسی کابران لوکال به اینترنت به کمک NAT فراهم می آورد.
  • Secure connection between two private networks: شرایط ایمن ارتباط شبکه با یک شبکه دیگر مثلا ارتباط با شعبه ای از یک شرکت را ممکن می سازد.
  • Custom configuration: نوع برقراری ارتباط به عهده مدیریت سرور بوده و او میتواند هر کدام از ویژگی های موجود در این سرویس را بنا به صلاح دید خود برگزیند.

در اینجا ما گزینه Custom configuration را انتخاب می کنیم .

وب سایت توسینسو

در این مرحله سرویس LAN Routing را برای مسیر یابی و انجام عمل روتینگ میان شبکه ها انتخاب می کنیم با کلیک روی گزینه Next خلاصه ای از انتخاب های صورت گرفته نمایش داده خواهد شد .بهنگام خروج از این ویزارد پیغامی مبنی بر استارت این سرویس برای ما نمایش داده می شود ،برای شروع فعالیت این سرویس روی گزینه Start service کلیک می کنیم.

وب سایت توسینسو

پس از گذشت چند ثانیه سرویس استارت خورده و ویزارد بسته خواهد شد. تصویر زیر کنسول RRAS را پس از شروع فعالیت سرور نشان می دهد. علامت سبز رنگ روی سرور نیز نمایانگر سرور در وضعیت فعال می باشد.

وب سایت توسینسو

پیشتر ذکر کردیم که مایکروسافت در ویندوز سرور 2008 پروتکل RIPv2 را ساپورت می کند اکنون این پروتکل Dynamic و پویا را راه اندازی خواهیم کرد. در بخش IPv4 روی General راست کلیک کرده و گزینه New routing protocol را انتخاب می کنیم تا لیست پروتکل ها نمایش داده شوند:

  • DHCP Relay agent: همانطور که می دانیم روتر مانع عبور درخواستهای broad cast می شود اما DHCP relay agent یک استثنا ایجاد می کند و باعث میشود که روتر بسته های broadcast مبنی درخواست اخذ IP دریافتی از کلاینتها را بصورت unicast و مستقیم برای دریافت IP به DHCP ارسال کند.زیرا که IP مربوط به DHCP برای روتر تعریف شده است.
  • IGMP router and proxy: لیست اعضای گروه هاست ( host group membership) را در یک Subnet لوکال نگه می دارد.هاست به کمک IGMP ارتباط را برای ارسال درخواستهای اعضای گروه Multicast به روتر های multicast بر قرار می کند.پس از اینکه روتر ها درخواست ها را از اعضای گروه multicast دریافت کردند ، query هایی را برای تشخیص اینکه کدام گروه های هاست روی subnet لوکال فعال هستند یا خیر ، در فواصل معین ارسال میکنند.IGMP نیازمند استفاده از دو سطح Multicast هست .IPv6 از MLD یا (Multicast Listener Discovery) که جزئی از پروتکل IPV6 است برای مدیریت اعضای گروه به جای IGMP که همین کاربرد را در IPv4 دارد استفاده می کند.
  • RIP version 2 for internet protocol: در اینجا پروتکل RIPv2 را انتخاب می کنیم تا بواسطه آن فرآیند روتینگ بصورت پویا انجام شود.

با کلیک بر روی گزینه Ok پروتکل RIP در زیرمجموعه ی IPv4 قرار می گیرد.

وب سایت توسینسو

پس از نصب RIP نوبت به راه اندازی آن می رسد.در اینجا ما این پروتکل را در ساده ترین حالت، راه اندازی می کنیم بنابراین کافیست با راست کلیک رویRIP و انتخاب گزینه New Interface رابط های مورد نظر را به آن معرفی کنیم.

وب سایت توسینسو

پس از اضافه کردن هر رابط شبکه صفحه مربوط به Properties آن نمایان می شود که آپشن های متفاوتی را در بر می گیرد و بواسطه آنها میتوان تنظیمات و پیکر بندی های مورد نظر را انجام دادکه در این سناریو حالت پیش فرض را برای آن در نظر می گیریم.

وب سایت توسینسو

در یک ساختار که عملیات مسیر یابی در آن به کمک پروتکل RIP انجام می شود ،هر فردی که پروتکل RIP را روی سیستم خود راه اندازی کرده و قصد انجام عمل روتینگ میان دو شبکه را دارد ،قادر به دریافت اطلاعات Routing table سروری خواهد بود که تنظیمات Route روی آن صورت گرفته است. اما می توان با فعال کردن تیک گزینه Activate authentication و لحاظ کردن یک پسورد برای آن ، شرایطی را برای احراز هویت افراد فراهم کرد تا تنها آنهایی که دارای پسورد هستند بتوانند به routing table دسترسی پیدا کنند.

خلاصه

در این مقاله به تشریح مفاهیم مسیریابی پرداختیم و ذکر کردیم که یک روتر موجب برقراری ارتیاط میان شبکه هایی با subnet متفاوت خواهد شد و گفتیم که می توان route ها را به دو صورت static و dynamic اضافه نمود مختصری هم در رابطه با dynamic routing protocol ها شرح داده و همچنین عملیات مسیریابی (routing) را به صورت ساده و روان در یک محیط عملی پیاده سازی کردیم. امیدوارم که مفید واقع شده باشد.


مریم حیات رمضانی
مریم حیات رمضانی

کارشناس شبکه های مایکروسافت و پایگاه داده

کارشناس سیستم عامل و زیرساخت های مایکروسافت MCTS:Active Directory 2008 MCTS:Network Infrastruture 2008 MCTS:Application Infrastructure 2008 MCTS:Active Directory 2008 MCITP:Enterprise Administrator MCSA 2008

نظرات