محمد نصیری
بنیانگذار انجمن تخصصی فناوری اطلاعات ایران ، هکر کلاه خاکستری ، کارشناس امنیت اطلاعات و ارتباطات

آموزش راه اندازی کامل OSPF در روترهای سیسکو در قالب سناریو

قبلا در همین سری آموزش توسینسو در خصوص چگونگی پیاده سازی Static Routing و پیاده سازی پروتکل RIP ، پیاده سازی پروتکل IGRP و ... صحبت کردیم و آموزش های تقریبا خوبی را به اشتراک گذاشتیم. در ادامه در این آموزش به پیاده سازی پروتکل مسیریابی Open Shortest Path First یا OSPF می پردازیم . قبلا در خصوص انواع پروتکل های مسیریابی و به ویژه در خصوص پروتکل های مسیریابی Link State صحبت کردیم و گفتیم که OSPF نیز یکی از همین پروتکل های Link State است .

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

اگر با پروتکل مسیریابی OSPF آشنایی کاملی ندارید پیشنهاد می کنیم قبل از خواندن این آموزش به مطلب معرفی پروتکل مسیریابی OSPF مراجعه کنید تا خود را برا ادامه این آموزش آماده کنید .پیاده سازی OSPF روی روترهای سیسکو با توجه به Link state بودن این پروتکل مسیریابی به نسبت دارای پیچیدگی بیشتری از پروتکل های Distance Vector است و شما با استفاده از دستورات زیر و قالب دستوری زیر می توانید این پروتکل را روی روترهای خود پیاده سازی کنید :

ITPRO-Router(config)# router ospf process_ID
ITPRO-Router(config-router)# network network_id wildcard_mask area area_#

نکات مهم در خصوص دستور OSFP بالا

  • Process_ID : در مثال بالا گزینه process_ID یک عدد در محدوده 1 تا65535 است که مشخص کننده OSPF Process ID یا شناسه فرآیند های پروتکل مسیریابی OSPFاست. در واقع OSPF Process ID یک عدد منحصر به فرد است که که بر روی روتر قرار می گید که مجموعه ای از تنظیمات و پیکربندی های OSPF را در خود نگه می دارد و همه آنها را در یک Process یا فرآیند خاص اجرا می کند.
  • Wildcard Mask : گزینه wildcard_mask در مثال بالا در واقع حالت inverse شده subnetmask است . اگر octet در حالت wildcardmask بصورت عدد 0 باشد به معنی این است که Octet هایی که در شبکه وجود دارند می بایست دقیقا با مسیری که تعریف شده است برابری کنند. از طرفی دیگر اگر در این قسمت عدد 255 قرار بگیرد به معنی این است که شما به عددی که در octed شبکه وجود دارد توجهی نخواهید داشت. ترکیب network و wildcard mask به شکل 192.168.10.0 0.0.0.0 فقط محدوده آدرس 192.168.10.0 را قبول می کند و هیچ شبکه دیگری قابل قبول نخواهد بود.
  • Area Number : گزینه _# در مثال بالا به منزله Area Number می باشد. Area Number همیشه یا بهتر بگوییم معمولا در شبکه های کوچک عدد صفر یا 0 است ، اما برای شبکه های بزرگتر Area Number ها هم بایستی به گونه ای طراحی شوند که بتوانند تمامی routing update هایی که از Area 0 دریاف می شود را پشتیبانی کنند.

تشریح کامل راه اندازی سناریوی پروتکل مسیریابی OSPF

همانطور که در شکل زیر نیز مشاهده می کنید سناریویی که تاکنون برای پیاده سازی Static Routing و پروتکل مسیریابی RIP و IGRP استفاده کردیم برای پیاده سازی OSPF نیز مورد استفاده قرار می گیرد و از لحاظ ساختار سناریو تفاوتی با شکل ظاهری سناریوهای قبلی مسیریابی ندارد که در انجمن تخصصی فناوری اطلاعات ایران به شما آموزش دادیم ، طبق معمول سه عدد روتر ، سه عدد سویچ و سه عدد Host داریم که با سه محدوده آدرسی دهی متفاوت به هم متصل شده اند :

آموزش راه اندازی OSPF در روترهای سیسکو

اگر با ارتباطات کنسول یک روتر آشنایی ندارید می توانید به آموزش بنده با عنوان چگونه با استفاده از پورت کنسول به روتر متصل شویم مراجعه کنید ، اگر هم با استفاده از نرم افزار PUTTY می خواهید به روترها متصل شوید می توانید به مقاله بنده با عنوان چگونه با استفاده از PUTTY به روترها و سویچ های سیسکو متصل شویم مراجعه کنید. به هر حال قبل از اینکه بصورت کامل بتوانید سناریو را اجرا کنید ابتدا بایستی تنظیمات اسم روترها و آدرس های IP آنها را پیکربندی کنید ، با توجه به اینکه در سناریوی قبلیStatic Routing ما تمامی پیکربندی های اولیه را انجام داده ایم پیشنهاد می کنم به سناریوی قبلی Static Routing در همین آدرس مراجعه کنید و ساختار نامگذاری و آدرس های IP سرورها را به شکلی که در تصویر مشاهده می کنید انجام دهید. در نهایت با استفاده از دستورات و پیکربندی هایی که در ادامه عنوان می کنیم شما می توانید OSPF را روی روترهای خود پیاده سازی کنید.

انجام تنظیمات مربوط به پروتکل OSPF روی روتر ITPRO-R1

با استفاده از دستور زیر به پورت کنسول ITPRO-R1 متصل شوید و تنظیمات OSPF را روی آن انجام دهید. دستورات مربوط به پیکربندی OSPF را در ابتدای مقاله عنوان کردیم شما می توانید به پاراگراف اول همین آموزش مراجعه کنید. با استفاده از دستور network همانطور که در تصویر پایین مشاهده می کنید ما فقط لینک هایی که بصورت مستقیم به روتر متصل شده اند را به آن معرفی می کنیم ، دستورات زیر را می توانید بدون کمی و کاستی در روتر خود وارد کنید

ITPRO-R1>enable
ITPRO-R1#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
ITPRO-R1 (config)#router ospf 1
ITPRO-R1 (config-router)#network 172.16.0.0 0.0.255.255 area 0
ITPRO-R1 (config-router)#network 172.17.0.0 0.0.255.255 area 0
ITPRO-R1 (config-router)#exit
ITPRO-R1 (config)#exit
ITPRO-R1#


فراموش نکنید که بعد از وارد کردن دستورات بالا در انتها دستور copy running-config startup-config را در enable mode بزنید تا تنظیمات شما روی روتر بصورت دائمی ذخیره شود و بعد از restart شدن روتر تنظیمات از بین نرود.

انجام تنظیمات مربوط به پروتکل OSPF روی روتر ITPRO-R2

با استفاده از دستور زیر به پورت کنسول ITPRO-R2 متصل شوید و تنظیمات OSPF را روی آن انجام دهید. دستورات مربوط به پیکربندی OSPF را در ابتدای مقاله عنوان کردیم شما می توانید به پاراگراف اول همین آموزش مراجعه کنید. با استفاده از دستور network همانطور که در تصویر پایین مشاهده می کنید ما فقط لینک هایی که بصورت مستقیم به روتر متصل شده اند را به آن معرفی می کنیم ، دستورات زیر را می توانید بدون کمی و کاستی در روتر خود وارد کنید :

ITPRO-R2>
ITPRO-R2>enable
ITPRO-R2#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
ITPRO-R2(config)#router ospf 1
ITPRO-R2(config-router)#network 172.17.0.0 0.0.255.255 area 0
ITPRO-R2(config-router)#network 172.18.0.0 0.0.255.255 area 0
ITPRO-R2(config-router)#network 172.19.0.0 0.0.255.255 area 0
ITPRO-R2(config-router)#exit
ITPRO-R2(config)#exit

فراموش نکنید که بعد از وارد کردن دستورات بالا در انتها دستور copy running-config startup-config را در enable mode بزنید تا تنظیمات شما روی روتر بصورت دائمی ذخیره شود و بعد از restart شدن روتر تنظیمات از بین نرود.

انجام تنظیمات مربوط به پروتکل OSPF روی روتر ITPRO-R3

با استفاده از دستور زیر به پورت کنسول ITPRO-R3 متصل شوید و تنظیمات OSPF را روی آن انجام دهید. دستورات مربوط به پیکربندی OSPF را در ابتدای مقاله عنوان کردیم شما می توانید به پاراگراف اول همین آموزش مراجعه کنید. با استفاده از دستور network همانطور که در تصویر پایین مشاهده می کنید ما فقط لینک هایی که بصورت مستقیم به روتر متصل شده اند را به آن معرفی می کنیم ، دستورات زیر را می توانید بدون کمی و کاستی در روتر خود وارد کنید :

ITPRO-R3>enable
ITPRO-R3#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
ITPRO-R3(config)#router ospf 1
ITPRO-R3(config-router)#network 172.19.0.0 0.0.255.255 area 0
ITPRO-R3(config-router)#network 172.20.0.0 0.0.255.255 area 0
ITPRO-R3(config-router)#exit
ITPRO-R3(config)#exit
ITPRO-R3#


فراموش نکنید که بعد از وارد کردن دستورات بالا در انتها دستور copy running-config startup-config را در enable mode بزنید تا تنظیمات شما روی روتر بصورت دائمی ذخیره شود و بعد از restart شدن روتر تنظیمات از بین نرود.

مشاهده Routing Table های موجود روی ITPRO-R1

بعد از وارد کردن دستورات بالا برای پیاده سازی پروتکل OSPF در روتر ITPRO-R1 با استفاده از دستور show ip route در این روتر شما می توانید خروجی routing table موجود در این روتر را به شکل زیر مشاهده کنید :

ITPRO-R1>enable
ITPRO-R1#show ip route
  Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
* - candidate default, U - per-user static route, o - ODR
P - periodic downloaded static route
Gateway of last resort is not set
  C    172.16.0.0/16 is directly connected, FastEthernet0/0
  C    172.17.0.0/16 is directly connected, Serial0/0
  O    172.18.0.0/16 [110/65] via 172.17.0.2, 00:26:31, Serial0/0
  O    172.19.0.0/16 [110/128] via 172.17.0.2, 00:26:21, Serial0/0
  O    172.20.0.0/16 [110/129] via 172.17.0.2, 00:24:54, Serial0/0

در خروجی دستورات بالا کاراکتر O در ابتدای خط مربوط به routing table ها به معنی این است که مسیری که پیدا شده است از طریق پروتکل مسیریابی Open Shortest Path First یا OSPF شناسایی شده است و کاراکتر C به معنی اتصال مستقیم یا directly connected می باشد.

مشاهده Routing Table های موجود روی ITPRO-R2

بعد از وارد کردن دستورات بالا برای پیاده سازی پروتکل OSPF در روتر ITPRO-R2 با استفاده از دستور show ip route در این روتر شما می توانید خروجی routing table موجود در این روتر را به شکل زیر مشاهده کنید :

ITPRO-R2>enable
ITPRO-R2#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
* - candidate default, U - per-user static route, o - ODR
P - periodic downloaded static route
Gateway of last resort is not set
  O    172.16.0.0/16 [110/65] via 172.17.0.1, 00:30:20, Serial0/0
  C    172.17.0.0/16 is directly connected, Serial0/0
  C    172.18.0.0/16 is directly connected, FastEthernet0/0
  C    172.19.0.0/16 is directly connected, Serial0/1
  O    172.20.0.0/16 [110/65] via 172.19.0.2, 00:28:08, Serial0/1

در خروجی دستورات بالا کاراکتر O در ابتدای خط مربوط به routing table ها به معنی این است که مسیری که پیدا شده است از طریق پروتکل مسیریابی Open Shortest Path First یا OSPF شناسایی شده است و کاراکتر C به معنی اتصال مستقیم یا directly connected می باشد.

مشاهده Routing Table های موجود روی ITPRO-R3

بعد از وارد کردن دستورات بالا برای پیاده سازی پروتکل OSPF در روتر ITPRO-R3 با استفاده از دستور show ip route در این روتر شما می توانید خروجی routing table موجود در این روتر را به شکل زیر مشاهده کنید :

ITPRO-R3>enable
ITPRO-R3#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
* - candidate default, U - per-user static route, o - ODR
P - periodic downloaded static route
Gateway of last resort is not set
  O    172.16.0.0/16 [110/129] via 172.19.0.1, 00:29:43, Serial0/1
  O    172.17.0.0/16 [110/128] via 172.19.0.1, 00:29:43, Serial0/1
  O    172.18.0.0/16 [110/65] via 172.19.0.1, 00:29:43, Serial0/1
  C    172.19.0.0/16 is directly connected, Serial0/1
  C    172.20.0.0/16 is directly connected, FastEthernet0/0


در خروجی دستورات بالا کاراکتر O در ابتدای خط مربوط به routing table ها به معنی این است که مسیری که پیدا شده است از طریق پروتکل مسیریابی Open Shortest Path First یا OSPF شناسایی شده است و کاراکتر C به معنی اتصال مستقیم یا directly connected می باشد.

اطمینان از عملکرد درست و تست ارتباط بین شبکه ها با استفاده از دستور Ping

برای اینکه مطمئن شویم که پروتکل مسیریابی Open Shortest Path First یا OSPF به درستی کار می کند از طریق دستور ping از ITPRO-Host01 که دارای آدرس IP به شکل 172.16.0.10//16 است ITPRO-Host03 که دارای آدرس IP به شکل 172.20.0.10//16 است را ping می کنیم در صورتیکه عملیات با موفقیت مانند خروجی زیر انجام شد کار به درستی انجام شده است و OSPF پیاده سازی شده است :

C:\>ping 172.20.0.10
Pinging 172.20.0.10 with 32 bytes of data:
Reply from 172.20.0.10: bytes=32 time=172ms TTL=125
Reply from 172.20.0.10: bytes=32 time=188ms TTL=125
Reply from 172.20.0.10: bytes=32 time=157ms TTL=125
Reply from 172.20.0.10: bytes=32 time=188ms TTL=125
Ping statistics for 172.20.0.10:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 157ms, Maximum = 188ms, Average = 176ms


همانطور که در خروجی دستور ping بالا مشاهده می کنید خروجی reply from به درستی انجام می شود و این یعنی OSPF به درستی پیکربندی شده است ، امیدوارم مورد توجه شما قرار گرفته باشد. توسینسو باشید


محمد نصیری
محمد نصیری

بنیانگذار انجمن تخصصی فناوری اطلاعات ایران ، هکر کلاه خاکستری ، کارشناس امنیت اطلاعات و ارتباطات

محمد نصیری هستم ، هکر قانونمند و کارشناس امنیت سایبری ، سابقه همکاری با بیش از 50 سازمان دولتی ، خصوصی ، نظامی و انتظامی در قالب مشاور ، مدرس و مدیر پروژه ، مدرس دوره های تخصص شبکه ، امنیت ، هک و نفوذ ، در حال حاضر در ایران دیگه رسما فعالیتی غیر از مشاوره انجام نمیدم و مقیم کشور ترکیه هستم ، عاشق آموزش و تدریس هستم و به همین دلیل دوره های آموزشی که ضبط می کنم در دنیا بی نظیر هستند.

نظرات