Lab – Cấu hình Policy và Shape trong QoS
Sơ đồ:
Mô tả:
Cấu hình tạo ra class-map phân loại traffic của vlan 10 đi internet và đi trong mạng nội bộ:
R2(config)#class-map vlan10-inter
R2(config-cmap)#match vlan 10
R2(config-cmap)#exit
R2(config)#ip access-list extended local-list
R2(config-ext-nacl)#permit ip any 192.168.0.0 0.0.255.255
R2(config-ext-nacl)#exit
Tạo class-map phân loại traffic với ACL ở trên:
R2(config)#class-map vlan10-local
R2(config-cmap)#match vlan 10
R2(config-cmap)#match access-group name local-list
R2(config-cmap)#exit
R2(config)#policy-map QoS-vlan10
R2(config-pmap-c)#class vlan10-local
R2(config-pmap-c)#set dscp ef
R2(config-pmap)#class vlan10-inter
R2(config-pmap-c)#set dscp af11
R2(config-pmap-c)#exit
Gán policy-map vào interface g0/0.10
R2(config)#interface g0/0.10
R2(config-subif)#service-policy input QoS-vlan10
R2(config-subif)#exit
Cấu hình tạo ra class-map phân loại traffic của vlan 20 đi internet và đi trong mạng nội bộ:
R2(config)#class-map vlan20-inter
R2(config-cmap)#match vlan 20
R2(config-cmap)#exit
R2(config)#class-map vlan20-local
R2(config-cmap)#match vlan 20
R2(config-cmap)#match access-group name local-list
R2(config-cmap)#exit
R2(config)#policy-map QoS-vlan20
R2(config-pmap-c)#class vlan20-local
R2(config-pmap-c)#set dscp ef
R2(config-pmap)#class vlan20-inter
R2(config-pmap-c)#set dscp af12
R2(config-pmap-c)#exit
Gán policy-map vào interface g0/0.20
R2(config)#interface g0/0.20
R2(config-subif)#service-policy input QoS-vlan20
R2(config-subif)#exit
Kiểm tra:
Trên R2:
Kiểm tra class-map đã cấu hình:
R2#show class-map
Class Map match-any class-default (id 0)
Match any
Class Map match-all vlan10-local (id 1)
Match vlan 10
Match access-group name local
Class Map match-all vlan20-local (id 4)
Match vlan 20
Match access-group name local
Class Map match-all vlan10-inter (id 2)
Match vlan 10
Class Map match-all vlan20-inter (id 3)
Match vlan 20
Kiểm tra policy-map đã cấu hình:
R2#show policy-map
Policy Map QoS-vlan20
Class vlan20-inter
set dscp af12
Class vlan20-local
set dscp ef
Policy Map QoS-vlan10
Class vlan10-local
set dscp ef
Class vlan10-inter
set dscp af11
Trên R1 cấu hình thêm classmap để thấy các trafic được đánh dấu tại R2
R1(config)#class-map af11
R1(config-cmap)#match dscp af11
R1(config-cmap)#class-map af12
R1(config-cmap)#match dscp af12
R1(config-cmap)#class-map ef
R1(config-cmap)#match dscp ef
R1(config-cmap)#exit
R1(config)#policy-map QoS
R1(config-pmap)#class af11
R1(config-pmap)#class af12
R1(config-pmap)#class ef
R1(config-pmap)#exit
R1(config)#interface g0/1
R1(config-if)#service-policy input QoS
Từ vlan 10 ping đi internet và local sau đó lên R1 để kiểm tra:
R1#show policy-map interface g0/1
GigabitEthernet0/1
Service-policy input: QoS
Class-map: af11 (match-all)
4 packets, 296 bytes
30 second offered rate 0000 bps
Match: dscp af11 (10)
Class-map: af12 (match-all)
0 packets, 0 bytes
30 second offered rate 0000 bps
Match: dscp af12 (12)
Class-map: ef (match-all)
4 packets, 296 bytes
30 second offered rate 0000 bps
Match: dscp ef (46)
Class-map: class-default (match-any)
5 packets, 554 bytes
30 second offered rate 0000 bps, drop rate 0000 bps
Match: any
Từ vlan 20 đi internet và local sau đó lên R1 để kiểm tra:
R1#show policy-map interface g0/1
GigabitEthernet0/1
Service-policy input: QoS
Class-map: af11 (match-all)
0 packets, 0 bytes
30 second offered rate 0000 bps
Match: dscp af11 (10)
Class-map: af12 (match-all)
4 packets, 296 bytes
30 second offered rate 0000 bps
Match: dscp af12 (12)
Class-map: ef (match-all)
4 packets, 296 bytes
30 second offered rate 0000 bps
Match: dscp ef (46)
Class-map: class-default (match-any)
4 packets, 376 bytes
30 second offered rate 0000 bps, drop rate 0000 bps
Match: any
Trên R2 cấu hình các class-map cho các traffic với dscp=af11, af12 và ef:
R2(config)#class-map af11
R2(config-cmap)#match dscp af11
R2(config-cmap)#class-map af12
R2(config-cmap)#match dscp af12
R2(config-cmap)#class-map ef
R2(config-cmap)#match dscp ef
R2(config-cmap)#exit
Cấu hình policy-map để shape traffic có dscp=ef và policy các traffic với dscp=af11 và af12 theo yêu cầu:
R2(config)#policy-map QoS-shape-police
R2(config-pmap)#class af11
R2(config-pmap-c)#police 20000 conform-action transmit exceed-action drop
R2(config-pmap-c-police)#class af12
R2(config-pmap-c)#police 18000 conform-action set-dscp-transmit af12 exceed-action set-dscp-transmit af13
R2(config-pmap-c-police)#class ef
R2(config-pmap-c)#shape average 20000 80000 0
R2(config-pmap-c)#exit
Áp dụng policy-map trên vào interface g0/1 và g0/3 của R2 theo chiều output:
R2(config)#interface range g0/1, g0/3
R2(config-if-range)#service-policy output QoS-shape-police
R2(config-if-range)#exit
Kiểm tra:
Dùng PC thuộc VLAN 10 và VLAN 20 ping tạo trafic nội bộ tới PC VLAN 30 và Ping đi internet sau đó kiểm tra Policy-map trên R2
Policy-map đã cấu hình trên interface g0/1 của R2:
R2#show policy-map interface g0/1
GigabitEthernet0/1
Service-policy output: QoS-shape-police
Class-map: af11 (match-all)
30 packets, 0 bytes
5 minute offered rate 0000 bps, drop rate 0000 bps
Match: dscp af11 (10)
police:
cir 20000 bps, bc 1500 bytes
conformed 0 packets, 0 bytes; actions:
transmit
exceeded 0 packets, 0 bytes; actions:
drop
conformed 0000 bps, exceeded 0000 bps
Class-map: af12 (match-all)
20 packets, 0 bytes
5 minute offered rate 0000 bps, drop rate 0000 bps
Match: dscp af12 (12)
police:
cir 18000 bps, bc 1500 bytes
conformed 0 packets, 0 bytes; actions:
set-dscp-transmit af12
exceeded 0 packets, 0 bytes; actions:
set-dscp-transmit af13
conformed 0000 bps, exceeded 0000 bps
Class-map: ef (match-all)
50 packets, 0 bytes
5 minute offered rate 0000 bps, drop rate 0000 bps
Match: dscp ef (46)
Queueing
queue limit 64 packets
(queue depth/total drops/no-buffer drops) 0/0/0
(pkts output/bytes output) 0/0
shape (average) cir 20000, bc 80000, be 0
target shape rate 20000
Class-map: class-default (match-any)
12 packets, 1224 bytes
5 minute offered rate 0000 bps, drop rate 0000 bps
Match: any
queue limit 64 packets
(queue depth/total drops/no-buffer drops) 0/0/0
(pkts output/bytes output) 12/1224
Cấu hình tạo ra class-map phân loại traffic telnet của vlan 30 và traffic đi ra ngoài lọc theo url:
R3(config)#class-map vlan30-telnet
R3(config-cmap)#match protocol telnet
R3(config-cmap)#exit
R3(config)#class-map vlan30-url
R3(config-cmap)#match protocol http url *.net*
R3(config-cmap)#match protocol http url *.exe*
R3(config-cmap)#match protocol http url *.eml*
R3(config-cmap)#exit
Kiểm tra:
Trên R3:
R3#show class-map
Class Map match-any class-default (id 0)
Match any
Class Map match-all vlan30-telnet (id 1)
Match protocol telnet
Class Map match-all vlan30-url (id 3)
Match protocol http url "*.net*"
Match protocol http url "*.exe*"
Match protocol http url "*.eml*"
R3(config)#policy-map QoS-shape-police
R3(config-pmap)#no class vlan30-fb-you
R3(config-pmap)#class vlan30-telnet
R3(config-pmap-c)#shape average 2000000 8000000 0
R3(config-pmap-c)#class vlan30-url
R3(config-pmap-c)#drop
R3(config-pmap-c)#exit
Áp dụng vào interface g0/2 và g0/3 theo chiều output:
R3(config)#interface range g0/2, g0/3
R3(config-if-range)#service-policy output QoS-shape-police
R3(config-if-range)#exit
Kiểm tra:
Trên PC VLAN 30 thực hiện mở trình duyệt web và đi đến các trang web có đuôi .net, .com, .org, .exe, .eml để kiểm tra khớp với các url đã khai báo thì không đi được. PC VLAN 30 Telnet tới R1 sau đó kiểm tra policy-map trên R3
Trên interface g0/2 của R3:
R3#show policy-map interface g0/2
GigabitEthernet0/2
Service-policy output: QoS-shape-police
Class-map: vlan30-telnet (match-all)
37 packets, 2226 bytes
30 second offered rate 0000 bps, drop rate 0000 bps
Match: protocol telnet
Queueing
queue limit 64 packets
(queue depth/total drops/no-buffer drops) 0/0/0
(pkts output/bytes output) 37/2226
shape (average) cir 2000000, bc 8000000, be 0
target shape rate 2000000
Class-map: vlan30-url (match-all)
35 packets, 0 bytes
30 second offered rate 0000 bps, drop rate 0000 bps
Match: protocol http url "*.net*"
Match: protocol http url "*.exe*"
Match: protocol http url "*.eml*"
drop
Class-map: class-default (match-any)
24 packets, 4045350 bytes
30 second offered rate 0000 bps, drop rate 0000 bps
Match: any
queue limit 64 packets
(queue depth/total drops/no-buffer drops) 0/0/0
(pkts output/bytes output) 50184/4045350
Sơ đồ:
Mô tả:
- Sơ đồ Lab gồm 3 router, 2 switch và 3 PC được đấu nối như hình. Bài Lab này được dựng trên Lab ảo hoá sử dụng các qemu Switch viosl2-adventerprisek9-m.SSA.high_iron, qemu Router vios-adventerprisek9-m.SPA.157-3.M3 và qemu Windows 7 win-7-x86-IPCC cùng các VPC.
- Trên sơ đồ này học viên sẽ thực tập cấu hình QoS shape và policy đảm bảo theo yêu cầu được đưa ra.
- Học viên thực hiện đấu nối thiết bị, đặt IP cũng như hostname của router và switch theo sơ đồ trên.
- Học viên tiến hành cấu hình ospf giữa các router với nhau và cấu hình router-on-sitck đảm bảo mọi địa chỉ trong sơ đồ có thể đi đến được nhau. Cấu hình NAT trên R3 đảm bảo mọi địa chỉ trong mạng đi được internet.
- Trên router R2 thực hiện phân loại các traffic với traffic từ vlan 10 đi internet thì có dscp=af11 còn đi tới các địa chỉ trong sơ đồ thì có dscp=ef. Đối với traffic từ vlan 20 thì traffic đi internet sẽ có dscp=af12 còn đi bên trong mạng thì dscp=ef.
- Trên router R2 cấu hình policy đảm bảo traffic từ vlan 10 đi ra internet được policy với tỉ lệ 20kps nếu vượt quá thì sẽ bị drop, còn traffic từ vlan 10 đi đến các địa chỉ khác trong mạng được shape với các tham số CIR=20kps, bc=80kps và tc=4s. Đối với traffic từ vlan 20 đi ra internet được policy với tỉ lệ 18kps nếu thỏa mãn thì set dscp=af12 nếu vượt quá thì set dscp=af13, còn traffic đi trong mạng sẽ được shape theo thông số như cho vlan 10.
- Trên router R3 cấu hình phân loại các traffic telnet của vlan 30 trong mạng và traffic đi ra bên ngoài lọc theo url có đuôi .net, exe, .eml.
- Trên R3 cấu hình policy đảm bảo traffic đi các url đã phân loại của vlan 30 sẽ bị drop, còn traffic đi telnet sẽ được shape với thông số CIR=2mbps, bc=8mbps và tc=4s.
- 1: Kết nối và cấu hình cơ bản
- 2: Cấu hình ospf và router-on-stick
- 3: Cấu hình phân loại traffic trên R2
Cấu hình tạo ra class-map phân loại traffic của vlan 10 đi internet và đi trong mạng nội bộ:
- Class-map traffic vlan 10 đi ra internet:
R2(config)#class-map vlan10-inter
R2(config-cmap)#match vlan 10
R2(config-cmap)#exit
- Class-map traffic vlan 10 đi trong mạng nội bộ:
R2(config)#ip access-list extended local-list
R2(config-ext-nacl)#permit ip any 192.168.0.0 0.0.255.255
R2(config-ext-nacl)#exit
Tạo class-map phân loại traffic với ACL ở trên:
R2(config)#class-map vlan10-local
R2(config-cmap)#match vlan 10
R2(config-cmap)#match access-group name local-list
R2(config-cmap)#exit
- Viết policy-map để gán dscp cho từng loại traffic:
R2(config)#policy-map QoS-vlan10
R2(config-pmap-c)#class vlan10-local
R2(config-pmap-c)#set dscp ef
R2(config-pmap)#class vlan10-inter
R2(config-pmap-c)#set dscp af11
R2(config-pmap-c)#exit
Gán policy-map vào interface g0/0.10
R2(config)#interface g0/0.10
R2(config-subif)#service-policy input QoS-vlan10
R2(config-subif)#exit
Cấu hình tạo ra class-map phân loại traffic của vlan 20 đi internet và đi trong mạng nội bộ:
- Class-map traffic vlan 20 đi ra internet:
R2(config)#class-map vlan20-inter
R2(config-cmap)#match vlan 20
R2(config-cmap)#exit
- Class-map traffic vlan 20 đi trong mạng nội bộ:
R2(config)#class-map vlan20-local
R2(config-cmap)#match vlan 20
R2(config-cmap)#match access-group name local-list
R2(config-cmap)#exit
- Viết policy-map để gán dscp cho từng loại traffic:
R2(config)#policy-map QoS-vlan20
R2(config-pmap-c)#class vlan20-local
R2(config-pmap-c)#set dscp ef
R2(config-pmap)#class vlan20-inter
R2(config-pmap-c)#set dscp af12
R2(config-pmap-c)#exit
Gán policy-map vào interface g0/0.20
R2(config)#interface g0/0.20
R2(config-subif)#service-policy input QoS-vlan20
R2(config-subif)#exit
Kiểm tra:
Trên R2:
Kiểm tra class-map đã cấu hình:
R2#show class-map
Class Map match-any class-default (id 0)
Match any
Class Map match-all vlan10-local (id 1)
Match vlan 10
Match access-group name local
Class Map match-all vlan20-local (id 4)
Match vlan 20
Match access-group name local
Class Map match-all vlan10-inter (id 2)
Match vlan 10
Class Map match-all vlan20-inter (id 3)
Match vlan 20
Kiểm tra policy-map đã cấu hình:
R2#show policy-map
Policy Map QoS-vlan20
Class vlan20-inter
set dscp af12
Class vlan20-local
set dscp ef
Policy Map QoS-vlan10
Class vlan10-local
set dscp ef
Class vlan10-inter
set dscp af11
Trên R1 cấu hình thêm classmap để thấy các trafic được đánh dấu tại R2
R1(config)#class-map af11
R1(config-cmap)#match dscp af11
R1(config-cmap)#class-map af12
R1(config-cmap)#match dscp af12
R1(config-cmap)#class-map ef
R1(config-cmap)#match dscp ef
R1(config-cmap)#exit
R1(config)#policy-map QoS
R1(config-pmap)#class af11
R1(config-pmap)#class af12
R1(config-pmap)#class ef
R1(config-pmap)#exit
R1(config)#interface g0/1
R1(config-if)#service-policy input QoS
Từ vlan 10 ping đi internet và local sau đó lên R1 để kiểm tra:
R1#show policy-map interface g0/1
GigabitEthernet0/1
Service-policy input: QoS
Class-map: af11 (match-all)
4 packets, 296 bytes
30 second offered rate 0000 bps
Match: dscp af11 (10)
Class-map: af12 (match-all)
0 packets, 0 bytes
30 second offered rate 0000 bps
Match: dscp af12 (12)
Class-map: ef (match-all)
4 packets, 296 bytes
30 second offered rate 0000 bps
Match: dscp ef (46)
Class-map: class-default (match-any)
5 packets, 554 bytes
30 second offered rate 0000 bps, drop rate 0000 bps
Match: any
Từ vlan 20 đi internet và local sau đó lên R1 để kiểm tra:
R1#show policy-map interface g0/1
GigabitEthernet0/1
Service-policy input: QoS
Class-map: af11 (match-all)
0 packets, 0 bytes
30 second offered rate 0000 bps
Match: dscp af11 (10)
Class-map: af12 (match-all)
4 packets, 296 bytes
30 second offered rate 0000 bps
Match: dscp af12 (12)
Class-map: ef (match-all)
4 packets, 296 bytes
30 second offered rate 0000 bps
Match: dscp ef (46)
Class-map: class-default (match-any)
4 packets, 376 bytes
30 second offered rate 0000 bps, drop rate 0000 bps
Match: any
- 4: Cấu hình policy và shape trên R2:
Trên R2 cấu hình các class-map cho các traffic với dscp=af11, af12 và ef:
R2(config)#class-map af11
R2(config-cmap)#match dscp af11
R2(config-cmap)#class-map af12
R2(config-cmap)#match dscp af12
R2(config-cmap)#class-map ef
R2(config-cmap)#match dscp ef
R2(config-cmap)#exit
Cấu hình policy-map để shape traffic có dscp=ef và policy các traffic với dscp=af11 và af12 theo yêu cầu:
R2(config)#policy-map QoS-shape-police
R2(config-pmap)#class af11
R2(config-pmap-c)#police 20000 conform-action transmit exceed-action drop
R2(config-pmap-c-police)#class af12
R2(config-pmap-c)#police 18000 conform-action set-dscp-transmit af12 exceed-action set-dscp-transmit af13
R2(config-pmap-c-police)#class ef
R2(config-pmap-c)#shape average 20000 80000 0
R2(config-pmap-c)#exit
Áp dụng policy-map trên vào interface g0/1 và g0/3 của R2 theo chiều output:
R2(config)#interface range g0/1, g0/3
R2(config-if-range)#service-policy output QoS-shape-police
R2(config-if-range)#exit
Kiểm tra:
Dùng PC thuộc VLAN 10 và VLAN 20 ping tạo trafic nội bộ tới PC VLAN 30 và Ping đi internet sau đó kiểm tra Policy-map trên R2
Policy-map đã cấu hình trên interface g0/1 của R2:
R2#show policy-map interface g0/1
GigabitEthernet0/1
Service-policy output: QoS-shape-police
Class-map: af11 (match-all)
30 packets, 0 bytes
5 minute offered rate 0000 bps, drop rate 0000 bps
Match: dscp af11 (10)
police:
cir 20000 bps, bc 1500 bytes
conformed 0 packets, 0 bytes; actions:
transmit
exceeded 0 packets, 0 bytes; actions:
drop
conformed 0000 bps, exceeded 0000 bps
Class-map: af12 (match-all)
20 packets, 0 bytes
5 minute offered rate 0000 bps, drop rate 0000 bps
Match: dscp af12 (12)
police:
cir 18000 bps, bc 1500 bytes
conformed 0 packets, 0 bytes; actions:
set-dscp-transmit af12
exceeded 0 packets, 0 bytes; actions:
set-dscp-transmit af13
conformed 0000 bps, exceeded 0000 bps
Class-map: ef (match-all)
50 packets, 0 bytes
5 minute offered rate 0000 bps, drop rate 0000 bps
Match: dscp ef (46)
Queueing
queue limit 64 packets
(queue depth/total drops/no-buffer drops) 0/0/0
(pkts output/bytes output) 0/0
shape (average) cir 20000, bc 80000, be 0
target shape rate 20000
Class-map: class-default (match-any)
12 packets, 1224 bytes
5 minute offered rate 0000 bps, drop rate 0000 bps
Match: any
queue limit 64 packets
(queue depth/total drops/no-buffer drops) 0/0/0
(pkts output/bytes output) 12/1224
- 5: Cấu hình phân loại traffic trên R3
Cấu hình tạo ra class-map phân loại traffic telnet của vlan 30 và traffic đi ra ngoài lọc theo url:
- Traffic telnet:
R3(config)#class-map vlan30-telnet
R3(config-cmap)#match protocol telnet
R3(config-cmap)#exit
- Traffic lọc các url:
R3(config)#class-map vlan30-url
R3(config-cmap)#match protocol http url *.net*
R3(config-cmap)#match protocol http url *.exe*
R3(config-cmap)#match protocol http url *.eml*
R3(config-cmap)#exit
Kiểm tra:
Trên R3:
R3#show class-map
Class Map match-any class-default (id 0)
Match any
Class Map match-all vlan30-telnet (id 1)
Match protocol telnet
Class Map match-all vlan30-url (id 3)
Match protocol http url "*.net*"
Match protocol http url "*.exe*"
Match protocol http url "*.eml*"
- 6: Cấu hình policy và shape trên R3:
R3(config)#policy-map QoS-shape-police
R3(config-pmap)#no class vlan30-fb-you
R3(config-pmap)#class vlan30-telnet
R3(config-pmap-c)#shape average 2000000 8000000 0
R3(config-pmap-c)#class vlan30-url
R3(config-pmap-c)#drop
R3(config-pmap-c)#exit
Áp dụng vào interface g0/2 và g0/3 theo chiều output:
R3(config)#interface range g0/2, g0/3
R3(config-if-range)#service-policy output QoS-shape-police
R3(config-if-range)#exit
Kiểm tra:
Trên PC VLAN 30 thực hiện mở trình duyệt web và đi đến các trang web có đuôi .net, .com, .org, .exe, .eml để kiểm tra khớp với các url đã khai báo thì không đi được. PC VLAN 30 Telnet tới R1 sau đó kiểm tra policy-map trên R3
Trên interface g0/2 của R3:
R3#show policy-map interface g0/2
GigabitEthernet0/2
Service-policy output: QoS-shape-police
Class-map: vlan30-telnet (match-all)
37 packets, 2226 bytes
30 second offered rate 0000 bps, drop rate 0000 bps
Match: protocol telnet
Queueing
queue limit 64 packets
(queue depth/total drops/no-buffer drops) 0/0/0
(pkts output/bytes output) 37/2226
shape (average) cir 2000000, bc 8000000, be 0
target shape rate 2000000
Class-map: vlan30-url (match-all)
35 packets, 0 bytes
30 second offered rate 0000 bps, drop rate 0000 bps
Match: protocol http url "*.net*"
Match: protocol http url "*.exe*"
Match: protocol http url "*.eml*"
drop
Class-map: class-default (match-any)
24 packets, 4045350 bytes
30 second offered rate 0000 bps, drop rate 0000 bps
Match: any
queue limit 64 packets
(queue depth/total drops/no-buffer drops) 0/0/0
(pkts output/bytes output) 50184/4045350