فیلتر کردن Route در EIGRP با Access-list و Distribute-list

در EIGRP گاهی لازم داریم همه routeها بین دو بخش شبکه رد و بدل نشوند. مثلا یک شعبه فقط باید چند شبکه مشخص را ببیند، یا نمیخواهیم routeهای آزمایشگاهی وارد شبکه اصلی شوند. یکی از روشهای ساده برای این کار، فیلتر کردن routeها با access-list و distribute-list است.
اینجا ACL نقش فایروال ترافیک را ندارد. قرار نیست packetهای کاربر را permit یا deny کند. اینجا ACL فقط prefixهایی را مشخص میکند که قرار است در فرآیند routing match شوند.
سناریوی ساده
فرض کنیم روتر ما چند شبکه از همسایه EIGRP دریافت میکند، ولی فقط میخواهیم شبکه 10.10.10.0/24 وارد جدول routing شود و بقیه routeها از همان سمت پذیرفته نشوند.
access-list 10 permit 10.10.10.0 0.0.0.255
router eigrp 100
distribute-list 10 in GigabitEthernet0/0
در این مثال، ACL شماره 10 شبکه مورد نظر را match میکند و distribute-list آن را برای routeهای ورودی از interface مشخصشده اعمال میکند.
فیلتر ورودی یا خروجی؟
اگر distribute-list را با in بگذاریم، روی routeهایی اثر میگذارد که از همسایه دریافت میکنیم. اگر با out استفاده کنیم، روی routeهایی اثر میگذارد که به همسایه advertise میکنیم.
router eigrp 100
distribute-list 10 out GigabitEthernet0/1
در طراحی واقعی باید مشخص باشد میخواهیم route را از دید خودمان حذف کنیم یا نمیخواهیم اصلا به سمت همسایه اعلام شود. این دو نتیجه عملیاتی متفاوت دارند.
ACL معمولی یا prefix-list؟
برای آموزش و سناریوهای ساده، ACL قابل فهم است. اما در شبکه production، مخصوصا وقتی بحث طول prefix مهم است، من معمولا prefix-list را تمیزتر میدانم. دلیلش این است که خواندن و کنترل prefix در prefix-list واضحتر است.
ip prefix-list BRANCH-IN seq 10 permit 10.10.10.0/24
router eigrp 100
distribute-list prefix BRANCH-IN in GigabitEthernet0/0
با این وجود دانستن روش ACL هنوز مهم است، چون در شبکههای قدیمیتر زیاد دیده میشود و برای فهمیدن کانفیگهای موجود به کار میآید.
بعد از اعمال فیلتر چه چیزی را چک کنیم؟
بعد از تغییر routing، فقط به اینکه command بدون خطا وارد شده اکتفا نکنید. جدول route، وضعیت neighbor و routeهایی که EIGRP میشناسد باید بررسی شود.
show ip route eigrp
show ip eigrp neighbors
show ip protocols
show ip protocols معمولا نشان میدهد distribute-list کجا اعمال شده است. این دستور برای پیدا کردن فیلترهای فراموششده هم مفید است.
اشتباه رایج
اشتباه رایج این است که ACL را مثل فیلتر ترافیک کاربر ببینیم. وقتی ACL در distribute-list استفاده میشود، داریم route را فیلتر میکنیم، نه packet را. ممکن است route حذف شود ولی ترافیک از مسیر دیگری هنوز عبور کند، یا برعکس مسیر برگشت مشکل پیدا کند.
پس قبل از اعمال فیلتر، مسیر رفت و برگشت را ببینید. در routing، نصفه دیدن مسیر معمولا نتیجه خوبی ندارد.

چرا مهندس شبکه و امنیت باید پایتون یاد بگیرد؟
مدل عملیاتی خدمات امنیت شبکه برای تیمهای کوچک IT
قبل از پیادهسازی فایروال سازمانی چه ریسکهایی را باید ببینیم؟
مهاجرت فایروال سازمانی با کمترین قطعی؛ برنامه مرحلهای اجرا
طراحی NAT در Cisco Firepower؛ وقتی Ruleها بعد از چند ماه غیرقابل فهم میشوند