vpls
آشنایی با مفهوم VPLS
VPLS، سرویس VPN لایه 2ای برای ایجاد ارتباط Ethernet به صورت MultiPoint روی بستر MPLS و یا IP است. با استفاده از سرویس VPLS قادر خواهید بود ارتباط LAN های راه دور سازمان ها را از طریق بستر Provider به صورت Multipoint و به صورت Transparent برقرار نمائید. VPLS قادر است ارتباط Ethernet بین سایت ها را با در نظر گرفتن VLAN و یا بدون در نظر گرفتن VLAN برقرار کند. همچنین قادر است پروتکل های Signaling مرتبط با Ethernet را (مانند CDP، STP و VTP) به صورت Transparent بین سایت ها جابجا نماید به طوری که سازمان ارتباط Ethernet کاملا Transparent را احساس نماید.
آموزش راه اندازی VPLS در سودار
فرض کنید در سناریو زیر LDP در کل شبکه اجرا شده است و تمام مسیر MPLS میباشد. میخواهیم بین روترهای n1، n7 و n14 یک تونل VPLS برقرار کنیم.
برای ساخت یک سناریو VPLS باید به دو نکته توجه داشت:
ارتباطات به صورت Full-mesh میباشد.
نامگذاری اینترفیس تونلها به صورت mpls-tunnelX میباشد و لازم است که X از صفر شروع شده و به ترتیب افزایش پیدا کند.
حال به Config روترها میپردازیم:
n1
ابتدا اینترفیس ge3 را در یک دامنه bridge اضافه میکنیم
n1(config)# interface ge3
n1(config-if)# bridge-group 200
n1(config-if)# no shutdown
حال دو اینترفیس mpls-tunnel( یکی برای اتصال به n7 و دیگری برای اتصال به n14) میسازیم و به همان دامنه bridge میافزاییم:
n1(config)# interface mpls-tunnel0
n1(config-if)# bridge-group 200 split-horizon group 100
n1(config-if)# no shutdown
n1(config)# interface mpls-tunnel1
n1(config-if)# bridge-group 200 split-horizon group 100
n1(config-if)# no shutdown
توجه داشته باشید برای جلوگیری از ایجاد loop در bridge، این دو اینترفیس باید در یک split-horizon group قرار داشته باشند.
n1(config)# mpls ldp
n1(config-ldp)# router-id 222.1.1.1
برای ساخت VPLS لازم است که ldp lsr-id روترهای هدف( در این سناریو n7 و n14) را داشته باشیم. حال به ساختن VPLS میپردازیم:
n1(config)# l2vpn VPLS_TUNNEL type vpls
n1(config-l2vpn)# member pseudowire mpls-tunnel0
n1(config-l2vpn-pw)# neighbor lsr-id 222.7.7.7
n1(config-l2vpn-pw)# pw-id 170
n1(config-l2vpn)# member pseudowire mpls-tunnel1
n1(config-l2vpn-pw)# neighbor lsr-id 222.14.14.14
n1(config-l2vpn-pw)# pw-id 1140
هر تونل با pw-id آن شناخته میشود و در دو سر تونل باید این مقادیر یکسان باشد.
به شیوه مشابه روترهای n7 و n14 را نیز تنظیم مینماییم:
n7
n7(config)# interface ge2
n7(config-if)# bridge-group 200
n7(config-if)# no shutdown
n7(config)# interface mpls-tunnel0
n7(config-if)# bridge-group 200 split-horizon group 100
n7(config-if)# no shutdown
n7(config)# interface mpls-tunnel1
n7(config-if)# bridge-group 200 split-horizon group 100
n7(config-if)# no shutdown
n7(config)# l2vpn VPLS_TUNNEL type vpls
n7(config-l2vpn)# member pseudowire mpls-tunnel0
n7(config-l2vpn-pw)# neighbor lsr-id 222.1.1.1
n7(config-l2vpn-pw)# pw-id 170
n7(config-l2vpn)# member pseudowire mpls-tunnel1
n7(config-l2vpn-pw)# neighbor lsr-id 222.14.14.14
n7(config-l2vpn-pw)# pw-id 7140
n14
n14(config)# interface ge1
n14(config-if)# bridge-group 200
n14(config-if)# no shutdown
n14(config)# interface mpls-tunnel0
n14(config-if)# bridge-group 200 split-horizon group 100
n14(config-if)# no shutdown
n14(config)# interface mpls-tunnel1
n14(config-if)# bridge-group 200 split-horizon group 100
n14(config-if)# no shutdown
n14(config)# l2vpn VPLS_TUNNEL type vpls
n14(config-l2vpn)# member pseudowire mpls-tunnel0
n14(config-l2vpn-pw)# neighbor lsr-id 222.1.1.1
n14(config-l2vpn-pw)# pw-id 1140
n14(config-l2vpn)# member pseudowire mpls-tunnel1
n14(config-l2vpn-pw)# neighbor lsr-id 222.14.14.14
n14(config-l2vpn-pw)# pw-id 7140
مشاهده تونل های vpls
با زدن دستور show mpls pseudowires
میتوان از وضعیت تونلهای خود با خبر شد.
n1# sh mpls pseudowires
Interface Neighbor Labels Protocol Status
mpls-tunnel0 222.7.7.7 16/16 ldp UP
mpls-tunnel1 222.14.14.14 17/16 ldp UP
بخشی از تنظیمات اعمال شده در n1 را مشاهده می کنید :
!
interface loopback0
no shutdown
ip address 222.1.1.1/32
!
interface mpls-tunnel0
bridge-group 200 split-horizon group 100
no shutdown
!
interface mpls-tunnel1
bridge-group 200 split-horizon group 100
no shutdown
!
interface ge0
mpls ip
no shutdown
ip address 200.1.2.1/24
ip ospf hello-interval 3
ip ospf dead-interval 10
ip ospf priority 254
!
interface ge1
mpls ip
no shutdown
ip address 200.1.6.1/24
ip ospf hello-interval 3
ip ospf dead-interval 10
!
interface ge2
mpls ip
no shutdown
ip address 200.1.5.1/24
ip ospf hello-interval 3
ip ospf dead-interval 10
!
interface ge3
bridge-group 200 split-horizon group 0
no shutdown
!
interface ge4
no shutdown
ip address 1.2.1.1/24
!
router ospf
ospf router-id 222.1.1.1
redistribute connected
redistribute static
passive-interface ge3
network 1.2.1.0/24 area 0
network 200.1.2.0/24 area 0
network 200.1.5.0/24 area 0
network 200.1.6.0/24 area 0
network 222.1.1.1/32 area 0
!
mpls ldp
router-id 222.1.1.1
dual-stack transport-connection prefer ipv4
dual-stack cisco-interop
!
address-family ipv4
discovery transport-address 222.1.1.1
label local advertise explicit-null
!
interface ge0
!
interface ge1
!
interface ge2
!
exit-address-family
!
!
l2vpn VPLS_TUNNEL type vpls
!
member pseudowire mpls-tunnel0
neighbor lsr-id 222.7.7.7
pw-id 100
!
member pseudowire mpls-tunnel1
neighbor lsr-id 222.14.14.14
pw-id 200
!
!
end
بررسی عملکرد VPLS
بعد از برقراری تونل ها باید ارتباط n8 , n13, n15 از طریق تونل vpls برقرار باشد .
حذف تونل VPLS
برای حذف تونل vpls دستور زیر را وارد کنید. پس از آن اگر مجددا لیست تونل های vpls را مشاهده کنید مشخص است که تونل ها حذف شده اند .
n1(config)# no l2vpn VPLS_TUNNEL type vpls
---------
n1# sh mpls pseudowires
Interface Neighbor Labels Protocol Status
فعال کردن log های vpls
با دستور زیر می توانید Log های مربوط به vpls را فعال کنید:
soodar1# debug vpls event