شبکه , هک و امنیت اطلاعات

امام سجاد(ع):آن کس که بر دوستی ما در دوران غیبت قائم ما پایدار بماند، خداوند به او پاداش هزار شهید از شهیدان بدر واحد بدهد

 
Static route در سیسکو

Static route در سیسکو

 

 

یکی از مقوله های بسیار کاربردی و پایه در زمینه routing در IOS سیسکو ، نوشتن static route می باشد. کابرد های static route بسیار زیاد است اما پرکاربردترین آن زمانی است که شما برای فرستادن ترافیک به یک destination از یک routing protocol استفاده نمی کنید و یا routing protocol شما یک feasible route به آن مقصد ندارد. برای نوشتن static route باید به configuration mode رفته و مطابق با دستور زیر آن را نوشت: 

Ip route prefix mask { next-hop | interface [ip address] } [disctance] [name next-hop-name] [permenant]

در ساده ترین حالت برای نوشتن یک ip route نوشتن سه مشخصه از این دستور اجباری می باشد . 

  • 1.Prefix
  • Mask .2
  • Next-hop | interface .3

 

برای نوشتن یک دستور ip route ساده تنها نیاز است که فرمان ip route را نوشته و ابتدا آدرس network و یا host مقصد (prefix) را وارد کنیم. در ادامه باید که subnet mask مربوط به مقصد (mask) را نوشت. 
لازم به تذکر است که برای یک host خاص باید که subnet mask مربوط به آن را 255.255.255.255 بنویسیم .
در صورتی که subet خود را برای ip یک host هر subnet بجز /32 وارد شود پیغام خطای %Inconsistent address and mask نشان داده خواهد شد . در گام بعدی می بایست ip address مربوط به روتر next-hop و یا interface که packet ها می توانند برای رسیدن به next-hop استفاده کنند نوشته شود. 
دستور زیر یک مثال ساده از نوشتن Ip route می باشد :


Ip route 172.16.0.0 255.255.0.0 Ethernet 0 
Ip route 172.16.0.0 255.255.0.0 192.168.1.2


اما یکی از تفاوت های اصلی این دو فرمان در نحوه نمایش route مورد نظر در routing table است. برای مشاهده static route های به تنهایی می توان از فرمان show ip route static استفاده کرد. هنگامی که از exit interface استفاده شود ، router به شکل Directly Connected در routing table نمایش داده می شود 

Prefix/mask is directly connected, exit-interface example: 172.16.0.0/24 is directly connected, Serial1/0

اما زمانی که از next-hop استفاده شود ، route مورد نظر در جدول routing به شکل زیر نمایش داده می شود :

prefix [AD/metric] via ip-next-hop example : 15.1.1.0 [1/0] via 172.16.0.2

همانطور که از مثال بالا مشخص است metric مربوط به static route ها برابر صفر و AD آنها برابر 1 می باشد. اما علاوه بر نحوه نمایش ، استفاده از interface و next-hop در نوشتن static routes تفاوت های محسوسی با یکدیگر دارد. هنگامی در نوشتن static route از next-hop استفاده شود روتر به طور پیش فرض هر 60 ثانیه یکبار next-hop را چک می کند و در صورت عدم دریافت جواب route را از routing table حذف می کند . برای تغییر این زمان می توان از فرمان زیر استفاده کرد.

Ip route static adjust-time number


در دستور فوق ، number عددی بین 1 تا 60 ثانیه است. در صورت استفاده از exit-interface تنها زمانی route از routing table حذف می شود که exit interface به نحوی fail شود ( به طور مثال interface مربوطه shutdown شود). 

Static route هایی که به یک interface اشاره می کنند از طریق RIP ، EIGRP و سایر Dynamic Routing Protocol ها advertise خواهد شد بدون توجه به اینکه از فرمان redistribute static برای آن routing protocol ها تعریف شده باشد. دلیل این آنست که این interface به عنوان directly connected در نظر گرفته می شوند و در این حالت دیگر به عنوان یک static route مطرح نخواهند شد. به هر حال ، یک static route که در یک فرمان network تعریف نشده باشد ، قابل advertise کردن نمی باشد مگر اینکه از فرمان redistribute static استفاده کنیم.

همانطور که اشاره شد در نوشتن static route می توان هم به exit interface ( مثل Serial0) و هم next-hop استفاده کرد. با استناد بر Cisco همیشه استفاده از next-hop به جای exit interface پیشنهاد می شود . در صورتی که static route به یک broadcast interface مثل Ethernet اشاره کند route مربوط به آن تنها زمانی در routing table قرار می گیرد که interface مربوط به آن up باشد. به علاوه router فرض می کند محدوده تمام ip هایی که از طریق static route اشاره شده به صورت directly connect هستند و روتر برای ارسال به هر destination که در static route به آن اشاره شده است یک ARP ارسال می کند. در این حالت روتر می بایست برای استفاده از proxy-arp تنظیم شده باشد. نمونه چنین route زیر می باشد :

Ip route 0.0.0.0 0.0.0.0 Ethernet 0

در صورتی که packet های زیادی برای دستیابی به destination های کثیری از این فرمان استفاده کنند ، CPU Utilization روتر بسیار بالا می رود و یک جدول arp cache بسیار بزرگ ایجاد می شود که می تواند حتی روتر را overload کند . اضافه کردن numerical address و به بیان واضح تر IP مربوط به next-hop دو مزیت عمده دارد. یکی از ارسال arp ها جلوگیری می کند. و دو اینکه در صورت down شدن آن interface از طریق recursive route سعی در پیدا کردن route دسترسی به آن ip می کند. برای نوشتن این نوع route می بایست که interface و next-hop هر دو نوشته شوند. مثال آن در زیر نوشته شده است.

Ip route 0.0.0.0 0.0.0.0 Ethernet 0 172.16.0.2

استفاده از exit interface به تنهایی فقط زمانی پیشنهاد می شود که نوع interface خروجی point-to-point می باشد. یکی از مرسوم ترین point-to-point interface ها serial interfaceها می باشد.



یکی از مهم ترین نکاتی که در باید به آن پرداخت بیان تفاوت AD در static route در اشاره به interface و یا next-hop است. در اکثر مقالات نوشته شده که در static route هایی که به interface اشاره می کنند ، به دلیل اینکه به شکل directly Connected در routing table نمایش داده می شوند و چونکه AD مربوط به Directly Connected برابر با صفر است پس این static route ها نیز دارای metric صفر می باشند. اما این جمله همیشه صادق نیست. از IOS نسخه 12.2 تمامی static route ها دارای metric 1 هستند. اثبات این موضوع با استفاده دستورات وارد شده در router و خروجی آن نشان داده شده است.

R1(config)#ip route 11.0.0.0 255.0.0.0 Serial1/0 
R1(config)#ip route 13.0.0.0 255.0.0.0 172.16.1.2
R1(config)#do show ip route 
S 11.0.0.0/8 is directly connected, Serial1/0
S 13.0.0.0/8 [1/0] via 172.16.0.2
R1(config)#do sh ip route 11.0.0.0
Routing entry for 11.0.0.0/8
Known via "static", distance 1, metric 0 (connected)
Routing Descriptor Blocks:
* directly connected, via Serial1/0
Route metric is 0, traffic share count is 1
R1(config)#do sh ip route 13.0.0.0
Routing entry for 13.0.0.0/8
Known via "static", distance 1, metric 0
Routing Descriptor Blocks:
* 172.16.0.2
Route metric is 0, traffic share count is 1

یکی دیگر از کاربرد های static route استفاده در کنار Dynamic routing protocol می باشد و یک route جایگزین و redundantرا در صورت down شدن مسیر advertised شده معرفی می کند که در اصطلاح به آن floating static route گفته می شود . در حالت عادی static route ها دارای Administrative Distance (AD) عدد 1 می باشند که مقدم بودن آنها را بر Dynamic Routing Protocols را اثبات می کند. در صورتی که شما AD مربوط به route نوشته شده را به عدد بیشتری از AD مربوط به Dynamic route اختصاص دهید در صورت fail شدن آن route از از static route نوشته شده استفاده می کند. بطور مثال فزض کنید شما از پروتکل EIGRP در شبکه خود استفاده می کنید که دارای AD برابر با 90 می باشد . در صورتی که شما AD مربوط به static route خود را به عددی بزرگتر از 90 قرار دهید می تواند نقش floating route را برای شما ایفا کند. همانطورکه می دانید محدود قابل اختصاص AD عددی بین 0 تا 255 می باشد . اما به این نکته داشته باشید که اختصاص AD عدد 255 آن route رو به عنوان Unreachable route در نظر گرفته می شوند و لذا این route هیچگاه در routing table قرار نمی گیرد. برای تعیین metric مربوط به static route مورد نظر تنها نیاز است تا در ادامه دستورات قبلی ، عدد metric مورد نظر وارد شود.

Ip route 172.16.0.0 255.255.0.0 192.168.1.2 150

با کمک کلمه name می توان برای route یک نام تعیین کرد. استفاده از نام تعیین شده کمک می کند تا زمانی که route های زیادی داریم به راحت تر آنرا در configuration file پیدا کنیم. مثال زیر کاربرد این فرمان را نشان می دهد. 

ip route 172.0.0.0 255.0.0.0 10.0.0.1 name Tehran2Shiraz
show running-config | in Tehran2Shiraz

استفاده از کلمه permanent در ip route این امکان را می دهد که در صورت shutdown شدن exit interface همچنان route در routing table باقی بماند و remove نشود. 

ip route 10.1.1.1 255.255.255.255 serial0 permanent