صادق شعبانی
کارشناس ارشد سیسکو

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

چگونه GRE Tunnel در روتر سیسکو راه اندازی کنیم؟ در این تایپیک میخواهیم که با هم تو روتر سیسکو ازطریق پروتکل GRE ، وی پی ان بزنیم و یک سناریوی ای رو حل کنیم. فایل این سناریو رو که شامل کانفیگ ها و خود فایل مربوط به سناریو هست رو در انتها تو یه فایل زیپ میگذارم. خب! سناریو اینه :

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

ما 2تا شبکه LAN در دو طرف داریم و می خواهیم که VPN بزنیم ، اما 2 تا سوال مطرحه ، 1-من چجوری بین 2تا روتر VPN بزنم؟ 2-بین 2 تا روتر چجور ROUTING PROTOCOL بنویسم و آنها رو همسایه کنم؟معمولا" routing رو وقتی می نوشتیم که 2 تا روتر بصورت فیزیکی به هم وصل بودند. جواب اینه که برای این منظور از روش های tunneling استفاده میکنیم. یکی از روش های tunneling که زیاد استفاده میشه ومتداول هست GRE Tunneling هست که اینطوریه که میگه وقتی packet رو خواستی در شبکه بفرستی اونو داخل یک بسته Tunnel بذار ، اونو encapsulate و بعدش اونو به شبکه بفرست.packet مسیر مورد نظر رو میره تا به مقصد برسه. روتر R2 ، روتر مخابرات هست که به ما 4 تا IP داده و قرار هست از اون برای بحث VPN استفاده کنیم. با این پیش فرض میریم جلو که ما به اینترفیس های 3 تا روتر IP دادیم و اونها رو no shut کردیم و یک ROUTING هم برای روتر روتر R1 و R3 نوشتیم ( کانفیگ هاش تو فایل هست )

R1(CONFIG)#IP ROUTE 0.0.0.0. 0.0.0.0 120.120.120.2
R3(CONFIG)#IP ROUTE 0.0.0.0. 0.0.0.0 130.130.130.1

روتر مخابرات هیچ چیزی در مورد اینکه پشت روترهای من هست و چه رنج IP ای داره نمیدونه.میخواهیم در یه حرکت کاملا" مویرگی ، روتر مخابرات رو ندید بگیریم ، VPNبزنیم و یک مسیر اختصاصی ایجاد کنیم که لازم هست یک اینتر فیس TUNNEL درست کنیم و یک NETWORK براش در نظر بگیریم که PACKET ها از اون TUNNEL عبور کنن. نکته ای که هست اینه که روتری که میخواهیم این حرکت رو روش انجام بدیم باید tunneling رو ساپورت کنه! یعنی اینکه وقتی نوشتیم :

tunnel

عبارت tunnel رو داشته باشه! خب بریم سر اصل مطلب.

R1 (CONFIG)#int tunnel 0
R1 (CONFIG-IF)#TUNNEL mode gre ip
R1 (CONFIG-IF)#TUNNEL source serial 0/3/0
R1 (CONFIG-IF)#TUNNEL destination 130.130.130.2
R1 (CONFIG-IF)#ip add 172.16.1.1 255.255.255.0

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

R1 (CONFIG)#int tunnel 0

تو خط دوم ، ما نوع پروتکل vpn رو مشخص کردیم

R1 (CONFIG-IF)#TUNNEL mode gre ip

تو خط سوم وچهارم ، مبدا و مقصد رو مشخص کردیم این تصویر رو ببینید

s & d

قرار هست که ما یه تونل بزنیم ،درست؟ قرار هم هست که روتر مخابرات رو ندید بگیریم دیگه؟درست؟مشکلی که نیست تا اینجا میخواهیم از پورت 120.120.120.1 روتر R1 (بدون در نظر گرفتن روتر مخابرات ) یه راست بریم سر پورت 130.130.130.2 روتر R3 یعنی در واقع مبدا ما میشه پورت 120.120.120.1 و مقصد ما میشه 130.130.130.2 تا اینجا یه مسیر یه طرفه رو رفتیم سمت روتر R3 ، خب این مسیر ما باید اسم و تو روتر یه IP Address داشته باشه یا نه ؟ تو خط بعد ما به این مسیر یعنی در واقع همون tunnel که زدیم باید یه ip اختصاص بدیم

 R1 (CONFIG-IF)#ip add 172.16.1.1 255.255.255.0

این از توضیحات این سر تونل ، باید دقیقا" کانفیگ های مشابهی رو برای روتر دیگه مون هم در نظر بگیریم

R3 (CONFIG)#int tunnel 0
R3 (CONFIG-IF)#TUNNEL mode gre ip
R3 (CONFIG-IF)#TUNNEL source serial 0/3/0
R3 (CONFIG-IF)#TUNNEL destination 120.120.120.1
R3 (CONFIG-IF)#ip add 172.16.1.2 255.255.255.0

بعد از کانفیگ بالا ما موفق شدیم تا یه تونل بزنیم و اگه از دو طرف روتر ها PING بگیریم ، به ما REPLAY میده ولی هنوز کار ما تموم نشده. حالاما باید یه ROUTING برای روترهای R1 و R3 بنویسم تا 2 تا NETWORK از وجود هم مطلع بشن. با نوشتنROUTING حالا بخواد STATIC route باشه یا ospf یا eigrp فرقی نمیکنه سناریو کامل شده و ما میتونیم ping داشته باشیم.

ping

صادق شعبانی
صادق شعبانی

کارشناس ارشد سیسکو

صادق شعبانی ( هکر قانونمند ، مهندس مایکروسافت ، کارشناس ارشد سیسکو ) : انسانی که کنار میکشه هیچوقت پیروز نمیشه و انسانی که پیروز میشه هیچوقت کنار نمی کشه.

نظرات