RIPng

ripngd از پروتکل RIPng که در RFC 2080 توصیف شده است پشتیبانی می‌کند. این یک نسخه IPv6 از پروتکل RIP است.

RIPng (RIP next generation) یک پروتکل مسیریابی distance-vector برای شبکه‌های IPv6 است که بر اساس RIP نسخه 2 برای IPv4 ساخته شده است. RIPng برای شبکه‌های کوچک تا متوسط IPv6 مناسب است و از مکانیزم‌های مشابه RIP استفاده می‌کند اما برای پشتیبانی از آدرس‌های IPv6 و ساختار بسته‌های IPv6 تطبیق یافته است.

سناریو ۱: پیکربندی پایه RIPng

در سناریوی زیر قصد داریم مسیریابی پویا را با استفاده از پروتکل RIPng در روتر ها تنظیم کنیم.

در این روتر در اینترفیس های ge2 , ge1 پروتکل RIPng فعال شده است :

Ipv6

پیکربندی RIPng

router ripng [vrf NAME]

دستور router ripng برای فعال کردن RIPng استفاده می‌شود. RIPng باید قبل از انجام هر یک از دستورات RIPng فعال شود.

ابتدا به تنظیمات روتر RIPng با دستورات زیر وارد می‌شویم :

soodar1# conf t
soodar1(config)# router ripng
network NETWORK

اینترفیس‌های فعال RIPng را با استفاده از NETWORK تنظیم می‌کند. اینترفیس‌هایی که آدرس‌های IPv6 آن‌ها با NETWORK مطابقت دارد فعال می‌شوند.

network IFNAME

اینترفیس فعال RIPng را با استفاده از IFNAME تنظیم می‌کند. هم ارسال و هم دریافت بسته‌های RIPng در اینترفیس مشخص شده فعال می‌شود.

اضافه کردن شبکه ها

می توان با استفاده از آدرس شبکه و هم چنین نام اینترفیس شبکه هایی که قرار است روی آن ها RIPng اجرا شود و با دیگر روتر ها صحبت کند مشخص کرد :

soodar1(config-router)# network 2001:1:2::0/64
soodar1(config-router)# network ge2

route NETWORK

یک مسیر استاتیک RIPng را برای اعلام NETWORK تنظیم می‌کند. این دستور خاص FRR است و یک مسیر استاتیک فقط در داخل RIPng ایجاد می‌کند.

allow-ecmp [1-MULTIPATH_NUM]

کنترل می‌کند که RIPng چند مسیر ECMP می‌تواند برای همان prefix تزریق کند. اگر بدون عدد مشخص شود، حداکثر (64) در نظر گرفته می‌شود.

توزیع مسیرها

soodar1(config-router)# redistribute connected

به همین ترتیب تنظیمات برای روتر های soodar2 , soodar3 را نیز انجام می دهیم :

soodar2# conf t
soodar2(config)# router ripng
soodar2(config-router)# network 2001:1:2::0/64
soodar2(config-router)# network 2001:1:3::0/64
soodar2(config-router)# redistribute connected
soodar2(config-router)#end
soodar2# write
------------------------------------
soodar3# conf t
soodar3(config)# router ripng
soodar3(config-router)# network 2001:1:3::0/64
soodar3(config-router)# network 2001:2:3::0/64
soodar3(config-router)# redistribute connected
soodar3(config-router)#end
soodar3# write

مشاهده جدول مسیریابی

با استفاده از دستور زیر می توانید جدول مسیر یابی را مشاهده کنید :

soodar1# sh ipv6 fib 
Codes: K - kernel route, C - connected, S - static, R - RIPng,
       O - OSPFv3, I - IS-IS, B - BGP, N - NHRP, T - Table,
       v - VNC, V - VNC-Direct, A - Babel, D - SHARP, F - PBR,
       f - OpenFabric,
       > - selected route, * - FIB route, q - queued route, r - rejected route

C>* 2001:1::/64 is directly connected, ge2, 00:08:45
C>* 2001:1:2::/64 is directly connected, ge0, 00:09:14
C>* 2001:1:3::/64 is directly connected, ge1, 00:09:02
R>* 2001:2::/64 [120/2] via fe80::fe:50ff:fefb:819a, ge0, 00:02:38
R>* 2001:2:3::/64 [120/2] via fe80::fe:50ff:fefb:819a, ge0, 00:06:40
R>* 2001:3::/64 [120/2] via fe80::fe:a2ff:fe16:dafd, ge1, 00:02:49

فیلتر کردن مسیرهای RIPng

مسیرهای RIPng می‌توانند با استفاده از distribute-list فیلتر شوند.

distribute-list [prefix] LIST <in|out> IFNAME

می‌توانید access list ها را به اینترفیس با دستور distribute-list اعمال کنید. اگر prefix مشخص شود LIST یک prefix-list است. اگر prefix مشخص نشود، LIST نام access list است. in بسته‌های دریافتی را مشخص می‌کند و out بسته‌های خروجی را مشخص می‌کند. در نهایت اگر یک اینترفیس مشخص شود، در برابر اینترفیس خاص اعمال می‌شود.

دستور distribute-list می‌تواند برای فیلتر کردن مسیر RIPng استفاده شود. distribute-list می‌تواند access-list ها را به یک اینترفیس انتخاب شده اعمال کند. ابتدا باید access-list مشخص شود. سپس نام access-list در دستور distribute-list استفاده می‌شود.

مثال:

router ripng
 distribute-list private in ge0
!
ipv6 access-list private
 permit 2001:1::/64 any
 deny any any
!

distribute-list می‌تواند هم به داده‌های ورودی و هم خروجی اعمال شود.

نمایش اطلاعات RIPng

show ipv6 ripng [vrf NAME] status

وضعیت فعلی RIPng را نمایش می‌دهد. شامل تایمر RIPng، فیلتر کردن، اینترفیس فعال RIPng و اطلاعات همتا RIPng است.

دستورات Debug RIPng

debug ripng events

رویدادهای RIPng را نمایش می‌دهد. ارسال و دریافت بسته‌ها، تایمرها و تغییرات در اینترفیس‌ها رویدادهایی هستند که با ripngd نمایش داده می‌شوند.

debug ripng packet

اطلاعات دقیق در مورد بسته‌های RIPng را نمایش می‌دهد. مبدأ و شماره پورت بسته و همچنین dump بسته نمایش داده می‌شود.

debug ripng zebra

این دستور ارتباط بین ripngd و zebra را نمایش می‌دهد. اطلاعات اصلی شامل اضافه و حذف مسیرها به kernel و ارسال و دریافت اطلاعات اینترفیس است.

show debugging ripng

تمام اطلاعاتی که در حال حاضر برای debug ripngd تنظیم شده است را نمایش می‌دهد.

سناریو ۲: پیکربندی RIPng با فیلتر کردن مسیرها

در این سناریو می‌خواهیم فقط مسیرهای خاصی را در RIPng تبلیغ کنیم:

soodar1(config)# ipv6 access-list ripng-filter
soodar1(config-ipv6-acl)# permit 2001:1::/64 any
soodar1(config-ipv6-acl)# deny any any
soodar1(config-ipv6-acl)# exit
soodar1(config)# router ripng
soodar1(config-router)# distribute-list ripng-filter out ge0
soodar1(config-router)# distribute-list ripng-filter in ge1

سناریو ۳: پیکربندی RIPng با تنظیمات پیشرفته

مثال پیکربندی کامل:

debug ripng events
debug ripng packet

router ripng
 network ge0
 network 2001:1:2::/64
 route 3ffe:506::0/32
 distribute-list local-only out sit1
 allow-ecmp 4

ipv6 access-list local-only
 permit 3ffe:506::0/32 any
 deny any any