Prefix-list در Cisco و فیلتر کردن Routeهای EIGRP

Prefix-list در Cisco یکی از ابزارهای تمیز و دقیق برای match کردن routeهاست. اگر با access-list می‌شود بعضی prefixها را جدا کرد، با prefix-list این کار خواناتر و قابل کنترل‌تر انجام می‌شود؛ مخصوصا وقتی طول prefix برایمان مهم است.

در routing، خیلی وقت‌ها بحث ما packet filtering نیست. می‌خواهیم مشخص کنیم کدام route وارد جدول routing شود، کدام route advertise شود، یا کدام prefix وارد route-map شود. اینجا prefix-list ابزار مناسبی است.

Prefix-list چه فرقی با ACL دارد؟

ACL معمولی بیشتر برای match کردن آدرس استفاده می‌شود و در خیلی جاها هم هنوز کاربرد دارد. اما prefix-list برای routeها طبیعی‌تر است، چون خود prefix و طول mask را مستقیم و خوانا نشان می‌دهد.

ip prefix-list BRANCH-NETS seq 10 permit 10.10.10.0/24

این خط دقیقا شبکه 10.10.10.0/24 را match می‌کند. وقتی چند ماه بعد به کانفیگ برگردید، خواندن این خط از wildcard mask ساده‌تر است.

ge و le در prefix-list

قدرت prefix-list وقتی مشخص می‌شود که از ge و le استفاده کنیم. با این دو می‌توانیم محدوده طول prefix را کنترل کنیم.

ip prefix-list CUSTOMER-RANGES seq 10 permit 10.20.0.0/16 ge 24 le 28

یعنی routeهایی که داخل 10.20.0.0/16 هستند و طول prefix آن‌ها بین /24 تا /28 است match شوند. مثلا 10.20.5.0/24 قبول می‌شود، ولی 10.20.0.0/16 یا 10.20.5.0/29 نه.

فیلتر کردن EIGRP با prefix-list

فرض کنیم در EIGRP فقط می‌خواهیم چند شبکه مشخص به یک همسایه اعلام شود. اول prefix-list را می‌نویسیم، بعد آن را با distribute-list روی EIGRP اعمال می‌کنیم.

ip prefix-list EIGRP-OUT seq 10 permit 10.10.10.0/24
ip prefix-list EIGRP-OUT seq 20 permit 10.10.20.0/24

router eigrp 100
 distribute-list prefix EIGRP-OUT out GigabitEthernet0/1

در این حالت فقط routeهای match شده از آن interface به همسایه اعلام می‌شوند. اگر هدف کنترل routeهای دریافتی باشد، به جای out از in استفاده می‌کنیم.

router eigrp 100
 distribute-list prefix EIGRP-IN in GigabitEthernet0/0

ترتیب خط‌ها مهم است

Prefix-list هم مثل ACL از بالا به پایین بررسی می‌شود. هر خط sequence دارد و اولین match تصمیم را مشخص می‌کند. در انتها هم اگر چیزی match نشود، deny می‌شود.

برای اضافه کردن خط بین ruleهای قبلی بهتر است sequence را با فاصله بنویسید؛ مثلا 10، 20، 30. این کار بعدا امکان insert کردن rule جدید را راحت‌تر می‌کند.

ip prefix-list EIGRP-OUT seq 15 permit 10.10.15.0/24

بررسی بعد از تغییر

بعد از اعمال فیلتر routing، باید هم خود prefix-list و هم نتیجه روی EIGRP بررسی شود. تغییر routing را بدون verify رها نکنید.

show ip prefix-list
show ip protocols
show ip route eigrp
show ip eigrp topology

show ip protocols معمولا نشان می‌دهد distribute-list روی کدام interface و در چه جهتی فعال است. این دستور برای عیب‌یابی فیلترهای فراموش‌شده خیلی کمک می‌کند.

اشتباه رایج

اشتباه رایج این است که prefix-list را فقط یک ACL دیگر ببینیم. Prefix-list برای route طراحی شده و وقتی طول prefix مهم است، باید با دقت از ge/le استفاده شود. یک ge/le اشتباه ممکن است routeهای بیشتری از چیزی که انتظار داریم باز کند یا routeهای سالم را حذف کند.

در شبکه production، قبل از اعمال روی همسایه‌های اصلی، تغییر را در lab یا حداقل با خروجی routeهای فعلی مرور کنید. فیلتر routing اگر اشتباه باشد، مشکلش همیشه فوری و واضح خودش را نشان نمی‌دهد.

  • علیرضا عربیان
  • هیچ
  • 3,173 views
  • 26 مارس 16
برچسبها
مطالب مرتبط

دیدگاهی بنویسید.

بهتر است دیدگاه شما در ارتباط با همین مطلب باشد.