Cấu hình Q-in-Q (Dot1q) Tunnelling trên Switch Cisco – CNTTShop

Cấu hình Q-in-Q (Dot1q) Tunnelling trên Switch Cisco – CNTTShop

Dot1q là gì

Trong bài viết này, mình sẽ hướng dẫn các bạn cấu hình Q-in-Q tunnel trên Router hoặc Switch Cisco.

Q-in-Q (Dot1q) Tunnelling là gì?

Q-in-Q Tunnel là 1 kỹ thuật thường được dùng trong các mạng Metro Ethernet, sử dụng như một đường hầm VPN Layer 2 để cung cấp dịch vụ kết nối layer 2 cho khách hàng có nhiều site tại nhiều địa điểm khác nhau.

Q-in-Q Tunnel cũng có thể được gọi bằng các tên gọi khác như VLAN stacking, dot1q tunnels hay VLAN Double tagging cũng được.

Một trong nhưng ưu điểm của giải pháp này là dễ thực hiên, bạn không cần phải có các thiết bị hỗ trợ các giao thức chuyên dụng, cũng không phải chạy các giao thức định tuyến giữa ISP và khách hàng như MPLS. Chúng ta chỉ cần thiết bị hỗ trợ VLAN và dot1q tunnel là được, và các tính năng này thì không yêu cầu thêm license. Từ quan điểm của khách hàng, nó giống như việc các site của khách hàng được kết nối trực tiếp trên 1 đường layer 2.

Để đơn giản hơn thì các bạn có thể hình dung về VLAN Tagging. Ban đầu chúng ta sẽ có Frame gồm các trường như des, source, type, và data. Khi đi qua cổng Trunk thì Frame này sẽ được tag thêm VLAN ID vào (như hình bên dưới).

vlan tagging khi đi qua cổng trunk

Khi đi qua mạng ISP được cấu hình Dot1q Tunnel, Frame sẽ được tag thêm 1 Provider Tag, khi đó Frame sẽ có 2 Tag, do vậy nên nó được gọi là VLAN Stacking hoặc VLAN Double Tagging.

provider tag trong qinq

Trong bài Lab này thì mình đang xây dựng 1 mô hình đơn giản gồm 5 thiết bị.

mô hình kết nối qinq

Khi các bạn cấu hình VLAN, như trong mô hình thì mình sẽ dùng 2 router Cisco là 2 router của Custormer tại 2 địa điểm khác nhau. Do vậy mình sẽ cấu hình subinterface 10 trên cổng e0/0 cho VLAN 10.

Khi gói tin đi qua subinterface 10 thì nó sẽ được tag thêm VLAN ID 10 vào, đây chính là Custormer Tag hay C-Tag.

Cổng e0/0 của switch Provider Edge 1 và 2 sẽ được cấu hình access vào VLAN 100 trên mạng của ISP và các cổng này sẽ được cấu hình Dot1q tunneling.

Khi gói tin đi qua cổng e0/1 của Switch Pro-Edge-1, nó sẽ được tag thêm 1 VLAN ID 100 của IPS nữa vào gói tin, đây gọi là Provider Tag hay S-Tag, lúc này gói tin của chúng ta sẽ được Tag 2 VLAN ID. Khi gói tin đi qua Switch Pro-Edge-2 thì nó sẽ gỡ Provider Tag, lúc này chỉ còn Custormer Tag là 10, và gói tin sẽ được xử lý tương tự như các gói tin thông thường trong LAN thôi.

Cấu hình Q-in-Q Tunnelling với Router Cisco

mô hình kết nối Q-in-Q Tunnelling với router Cisco

Ok bây giờ mình sẽ cấu hình Dot1q Tunnelling cho mô hình này để 2 site có thể ping được đến nhau. Trường hợp này 2 đầu Custormer mình sẽ sử dụng Router của Cisco.

READ  Tiêu chuẩn thiết kế cầu thang công trình công cộng

Cấu hình trên Switch Pro-SW, trên switch Pro-SW thì mình chỉ cần cấu hình VLAN 100, 2 cổng e0/0 và e0/1 mình sẽ cấu hình trunking và allow vlan 100 là được.

Switch#conf t Enter configuration commands, one per line. End with CNTL/Z. Switch(config)#hostname Pro-SW Pro-SW(config)#vlan 100 Pro-SW(config-vlan)#interface range e0/0-1 Pro-SW(config-if-range)#sw trunk encapsulation dot1q Pro-SW(config-if-range)#switchport mode trunk Pro-SW(config-if-range)#switchport trunk allowed vlan 100 Pro-SW(config-if-range)#end Pro-SW#write

Tiếp theo mình sẽ cấu hình trên switch Pro-Edge-1.

Đầu tiên vẫn cần đảm bảo các bạn đã tạo VLAN 100 trên cả 3 Switch của ISP nhé.

Cổng E0/1 kết nối lên Switch Pro-SW thì chúng ta chỉ cần cấu hình trunking như bình thường. Cổng e0/0 là cổng kết nối xuống Custormer, do vậy cổng này các bạn sẽ cần cấu hình port này access vào vlan 100 của ISP và cấu hình switchport sang mode dot1q-tunnel.

Giao thức CDP cũng không được phép trên tunnel này nên các bạn cần disable CDP trên cổng kết nối xuống Custormer nhé.

Switch#conf t Enter configuration commands, one per line. End with CNTL/Z. Switch(config)#hostname Pro-Edge-1 Pro-Edge-1(config)#vlan 100 Pro-Edge-1(config-vlan)#interface e0/1 Pro-Edge-1(config-if)#switchport trunk encapsulation dot1q Pro-Edge-1(config-if)#switchport mode trunk Pro-Edge-1(config-if)#switchport trunk allowed vlan 100 Pro-Edge-1(config-if)#interface e0/0 Pro-Edge-1(config-if)#switchport mode access Pro-Edge-1(config-if)#switchport access vlan 100 Pro-Edge-1(config-if)#switchport mode dot1q-tunnel Pro-Edge-1(config-if)#no cdp enable Pro-Edge-1(config-if)#end Pro-Edge-1#wr

Lệnh switchport mode dot1q-tunnel cho phép switch gán thẻ VLAN cho lưu lượng và lệnh switchport access vlan 100 để chỉ định QinQ của VLAN 100. Lúc này ISP sẽ sử dụng VLAN tag 100 để chuyển các gói tin giữa 2 site của khách hàng.

Tương tự các bạn cấu hình cho Switch Pro-Edge-2.

Switch#conf t Enter configuration commands, one per line. End with CNTL/Z. Switch(config)#hostname Pro-Edge-2 Pro-Edge-2(config)#vlan 100 Pro-Edge-2(config-vlan)#interface e0/1 Pro-Edge-2(config-if)#sw trunk encapsulation dot1q Pro-Edge-2(config-if)#switchport mode trunk Pro-Edge-2(config-if)#sw trunk allowed vlan 100 Pro-Edge-2(config-if)#interface e0/0 Pro-Edge-2(config-if)#switchport mode access Pro-Edge-2(config-if)#switchport acc vlan 100 Pro-Edge-2(config-if)#switchport mode dot1q-tunnel Pro-Edge-2(config-if)#no cdp enable Pro-Edge-2(config-if)#end Pro-Edge-2#wr

Trên 2 Router của Custormer thì các bạn chỉ cần cấu hình subinterface cho VLAN 10 và đặt IP 2 đầu là được.

Cấu hình Trên Router Cus-Router-1.

Router#conf t Enter configuration commands, one per line. End with CNTL/Z. Router(config)#hostname Cus-Router-1 Cus-Router-1(config)#interface e0/0 Cus-Router-1(config-if)#no shutdown Cus-Router-1(config-if)#int e0/0.10 Cus-Router-1(config-subif)#encapsulation dot1Q 10 Cus-Router-1(config-subif)#ip add 10.0.0.10 255.255.255.0 Cus-Router-1(config-subif)#end Cus-Router-1#w

Cấu hình Trên Router Cus-Router-2.

Router#conf t Enter configuration commands, one per line. End with CNTL/Z. Router(config)#hostname Cus-Router-2 Cus-Router-2(config)#interface e0/0 Cus-Router-2(config-if)#no shutdown Cus-Router-2(config-if)#int e0/0.10 Cus-Router-2(config-subif)#encapsulation dot1Q 10 Cus-Router-2(config-subif)#ip add 10.0.0.11 255.255.255.0 Cus-Router-2(config-subif)#end Cus-Router-2#wr

Kiểm tra kết nối

Để kiểm tra kết nối, trước tiên mình sẽ ping thử từ Router Cus-Router-2 sang IP của router Cus-Router-1.

Cus-Router-2#ping 10.0.0.10 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 10.0.0.10, timeout is 2 seconds: .!!!! Success rate is 80 percent (4/5), round-trip min/avg/max = 1/1/2 ms Cus-Router-2#

READ  Tải cài đặt game FIFA Online 3

Ping OK, như vậy là 2 Site của Custormer đã có thể giao tiếp với nhau thông qua mạng của ISP.

Để kiểm tra thì các bạn có thể sử dụng 1 số lệnh show.

Lệnh show dot1q-tunnel không cung cấp nhiều thông tin lắm, nó chỉ hiển thị cho chúng ta biết các cổng nào đã được cấu hình làm dot1q-tunnel thôi.

Pro-Edge-1#show dot1q-tunnel dot1q-tunnel mode LAN Port(s) – Et0/0 Pro-Edge-1#

Lệnh show interfaces trunk sẽ cho chúng ta thấy các VLAN được permit trên ISP. Các bạn có thể thấy chỉ có VLAN 100 được cho phép trên đường trunk này. Các bạn sẽ không thấy VLAN 10 ở đây do đó là VLAN của khách hàng, và nó đã được đóng gói trong VLAN ID của ISP là 100.

Pro-Edge-1#sh interfaces trunk Port Mode Encapsulation Status Native vlan Et0/1 on 802.1q trunking 1 Port Vlans allowed on trunk Et0/1 100 Port Vlans allowed and active in management domain Et0/1 100 Port Vlans in spanning tree forwarding state and not pruned Et0/1 100 Pro-Edge-1#

Trong lệnh show l2protocol-tunnel các bạn có thể thấy các gói tin đã được encaps hoặc decaps, đây là các gói tin của các giao thức Layer 2 được truyền qua Tunnel, ban đầu thì sẽ chưa có thông tin gì.

Pro-Edge-1#show l2protocol-tunnel COS for Encapsulated Packets: 5 Drop Threshold for Encapsulated Packets: 0 Port Protocol Shutdown Drop Encaps Decaps Drop Threshold Threshold Counter Counter Counter – – – – – – – Pro-Edge-1#

Có 1 câu hỏi đặt ra ở đây là Q-in-Q cung cấp 1 tunnel layer 2, vậy các giao thức layer 2 như CDP, STP, VTP sẽ thế nào?

Nó có thể trao đổi qua dot1q-tunnel, nhưng các bạn sẽ phải cấu hình tunneling cho từng giao thức trên cổng kết nối xuống Custormer. Ban đầu thì sẽ không có protocol nào.

Để bật các dịch vụ, các bạn sử dụng lệnh l2protocol-tunnel trong mode Interface nhé. Nó có thể tạo tunnel cho CDP, STP, VTP, LLDP hoặc thậm chí cả PagP hoặc LACP.

Pro-Edge-1(config)#interface e0/0 Pro-Edge-1(config-if)#l2protocol-tunnel ? cdp Cisco Discovery Protocol drop-threshold Set drop threshold for protocol packets lldp Link Layer Discovery Protocol point-to-point point-to-point L2 Protocol shutdown-threshold Set shutdown threshold for protocol packets stp Spanning Tree Protocol vtp Vlan Trunking Protocol Pro-Edge-1(config-if)#

Mình sẽ bật CDP và STP.

Pro-Edge-1(config-if)#l2protocol-tunnel cdp Pro-Edge-1(config-if)#l2protocol-tunnel stp

Các bạn có thể thấy 2 giao thức CDP và STP đã xuất hiện trong phần Protocol.

Pro-Edge-1#show l2protocol-tunnel COS for Encapsulated Packets: 5 Drop Threshold for Encapsulated Packets: 0 Port Protocol Shutdown Drop Encaps Decaps Drop Threshold Threshold Counter Counter Counter – – – – – – – Et0/0 cdp – – 1 0 0 – – – – – – stp – – 0 0 0 – – – – – – – – – – – – – – – – – – – – – – – – Pro-Edge-1#

READ  Cách dùng Cấu trúc câu hỏi how often trong tiếng Anh đầy đủ nhất

Mình sẽ show CDP trên switch Cus-Router-1.

Cus-Router-1#show cdp neighbors Capability Codes: R – Router, T – Trans Bridge, B – Source Route Bridge S – Switch, H – Host, I – IGMP, r – Repeater, P – Phone, D – Remote, C – CVTA, M – Two-port Mac Relay Device ID Local Intrfce Holdtme Capability Platform Port ID Cus-Router-2 Eth 0/0 172 R B Linux Uni Eth 0/0 Total cdp entries displayed : 1 Cus-Router-1#

Trên Cus-Router-1 đã nhìn thấy Cus-Router-2 thông qua QinQ tunnel, như vậy có nghĩa là CDP đã có thể trao đổi qua hạ tầng của ISP thông qua Tunnel.

Lệnh show interface e0/0 switchport sẽ cho chúng ta thấy mode hoạt động của Interface này là tunnel, và VLAN là 100.

Pro-Edge-1#show int e0/0 switchport Name: Et0/0 Switchport: Enabled Administrative Mode: tunnel Operational Mode: tunnel Administrative Trunking Encapsulation: negotiate Operational Trunking Encapsulation: native Negotiation of Trunking: Off Access Mode VLAN: 100 (VLAN0100) Trunking Native Mode VLAN: 1 (default) Administrative Native VLAN tagging: enabled Voice VLAN: none

Cấu hình Q-in-Q Tunnelling với Switch Cisco

Ok bây giờ mình sẽ đổi qua trường hợp đầu Custormer chúng ta cắm vào switch.

mô hình Q-in-Q với đầu Custormer sử dụng switch cisco

Với trường hợp này thì trên switch của Provider vẫn giống như với trường hợp Router, chúng ta không cần thay đổi gì.

Với 2 Switch Custormer thì chúng ta vẫn cấu hình như với VLAN thông thường. Cổng E0/1 cấu hình access VLAN 10 cho các client, cổng e0/0 cấu hình trunking permit VLAN 10.

Cấu hình trên Cus-SW-1.

Switch#conf t Enter configuration commands, one per line. End with CNTL/Z. Switch(config)#hostname Cus-SW-1 Cus-SW-1(config)#vlan 10 Cus-SW-1(config-vlan)#interface e0/1 Cus-SW-1(config-if)#sw mode access Cus-SW-1(config-if)#switchport acc vlan 10 Cus-SW-1(config-if)#interface e0/0 Cus-SW-1(config-if)#switchport trunk encapsulation dot1q Cus-SW-1(config-if)#sw mode trunk Cus-SW-1(config-if)#sw trunk allowed vlan 10

Tương tự cho Cus-SW-2.

Switch#conf t Enter configuration commands, one per line. End with CNTL/Z. Switch(config)#hostname Cus-SW-2 Cus-SW-2(config)#vlan 10 Cus-SW-2(config-vlan)#interface e0/1 Cus-SW-2(config-if)#switchport mode access Cus-SW-2(config-if)#switchport access vlan 10 Cus-SW-2(config-if)#interface e0/0 Cus-SW-2(config-if)#switchport trunk encapsulation dot1q Cus-SW-2(config-if)#switchport mode trunk Cus-SW-2(config-if)#switchport trunk allowed vlan 10

Các PC thì các bạn chỉ cần đặt IP cùng dải của VLAN 10 là có thể ping được đến nhau.

Các lệnh kiểm tra thì vẫn như trường hợp với router thôi. Chủ yếu là chúng ta sẽ check trên các switch IPS là chính. Trên Custormer chúng ta chỉ cần check interface UP, đã tạo VLAN và cấu hình đúng mode trunk hoặc access theo mô hình là được.

Ok Như vậy là mình đã hướng dẫn bạn cấu hình Q-in-Q Tunnel trên switch Cisco. Nếu các bạn gặp khó khăn gì có thể comment bên dưới bài viết để mọi người cùng khắc phục nhé.

Chúc các bạn thành công!