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 برقرار کنیم.

Vpls8

برای ساخت یک سناریو VPLS باید به دو نکته توجه داشت:

  1. ارتباطات به صورت Full-mesh میباشد.

  2. نام‌گذاری اینترفیس تونل‌ها به صورت 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