Xin chào ! Nếu đây là lần đầu tiên bạn đến với diễn đàn, xin vui lòng danh ra một phút bấm vào đây để đăng kí và tham gia thảo luận cùng VnPro.
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • LAB – Triển khai CoPP

    LAB – Triển khai CoPP

    Sơ đồ:

    Click image for larger version

Name:	dataurl249448.png
Views:	19
Size:	26.0 KB
ID:	435062
    Hình 1 – Sơ đồ bài Lab
    Yêu cầu:
    1. Cấu hình ban đầu:
    Đặt địa chỉ IP cho các interface trên thiết bị Routers trong global configuration mode theo quy hoạch IP được chỉ ra trên hình. Cấu hình:


    Trên R1:
    R1(config)#hostname R1
    R1(config)#no ip domain lookup
    R1(config)#ip domain name CCNPv8.CoPP.Lab
    R1(config)#username admin privilege 15 algorithm-type scrypt secret cisco123
    R1(config)#banner motd # R1, Control Plane Policing #
    R1(config)#line con 0
    R1(config-line)#exec-timeout 0 0
    R1(config-line)#logging synchronous
    R1(config-line)#exit
    R1(config)#Interface g0/0/1
    R1(config-if)#ip address 10.10.1.1 255.255.255.0
    R1(config-if)#no shutdown
    R1(config-if)#exit
    R1(config)#interface g0/0/0
    R1(config-if)#ip address 172.16.12.1 255.255.255.252
    R1(config-if)#no shutdown
    R1(config-if)#exit
    R1(config)#router eigrp 123
    R1(config-router)#eigrp router-id 0.0.0.1
    R1(config-router)#network 172.16.12.0 0.0.0.3
    R1(config-router)#network 10.10.1.0 0.0.0.255
    R1(config-router)#exit
    R1(config)#line vty 0 4
    R1(config-line)#login local
    R1(config-line)#transport input telnet ssh
    R1(config-line)#exit
    R1(config)#crypto key generate rsa modulus 1024
    R1(config)#end
    R1# copy running-config startup-config

    Trên R2:

    R2(config)#hostname R2
    R2(config)# no ip domain lookup
    R2(config)#ip domain name CCNPv8.CoPP.Lab
    R2(config)#username admin privilege 15 algorithm-type scrypt secret cisco123
    R2(config)#banner motd # R2, Control Plane Policing #
    R2(config)#line con 0
    R2(config-line)#exec-timeout 0 0
    R2(config-line)#logging synchronous
    R2(config-line)#exit
    R2(config)#interface g0/0/0
    R2(config-if)#ip address 172.16.12.2 255.255.255.252
    R2(config-if)#no shutdown
    R2(config-if)#exit
    R2(config)#router eigrp 123
    R2(config-router)#eigrp router-id 0.0.02
    R2(config-router)#network 172.16.12.0 0.0.0.3
    R2(config-router)#exit
    R2(config)#line vty 0 4
    R2(config-line)#login local
    R2(config-line)#transport input telnet ssh
    R2(config-line)#exit
    R2(config)#crypto key generate rsa modulus 1024
    R2(config)#end
    R2# copy running-config startup-config

    Trên A1:

    A1(config)#hostname A1
    A1(config)#no ip domain lookup
    A1(config)#username admin privilege 15 algorithm-type scrypt secret cisco123
    A1(config)#ip domain name CCNPv8.CoPP.Lab
    A1(config)#banner motd # A1, Control Plane Policing #
    A1(config)#spanning-tree mode rapid-pvst
    A1(config)#line con 0
    A1(config-line)#exec-timeout 0 0
    A1(config-line)#logging synchronous
    A1(config-line)#exit
    A1(config)#line vty 0 15
    A1(config-line)#login local
    A1(config-line)#transport input telnet
    A1(config-line)#exit
    A1(config)#interface f0/1
    A1(config-if)#switchport mode access
    A1(config-if)#no shutdown
    A1(config-if)#exit
    A1(config)#interface vlan 1
    A1(config-if)#ip add 10.10.1.4 255.255.255.0
    A1(config-if)#no shutdown
    A1(config-if)#exit
    A1(config)#ip default-gateway 10.10.1.1
    A1(config)#crypto key generate rsa modulus 1024
    A1(config)#end
    A1# copy running-config startup-config

    2. Xác minh các kết nối ban đầu:
    Kiểm tra kết nối mạng và các dịch vụ trước khi áp dụng bất kỳ chính sách nào. Điều này đảm bảo rằng mạng hoạt động đầy đủ và việc mất kết nối hoặc chức năng là do chính sách được áp dụng chứ không phải là do sự cố mạng tồn tại từ trước.
    Khi kiểm tra kết nối TCP, một số dịch vụ sẽ nhắc nhập tên người dùng / mật khẩu. Tên người dùng được cấu hình là admin và mật khẩu là cisco123.
    Từ A1, kiểm tra kết nối telnet đến R1 và R2.
    Từ A1, kiểm tra kết nối SSH đến R1 và R2.
    3. Triển khai chính sách CoPP trên R1.
    Cấu hình ACL để xác định các luồng lưu lượng. Sau đó, sử dụng các ACL trong class maps để phân loại lưu lượng cho CoPP. Tiếp theo, liên kết các class maps đến policy map trong CoPP. Policy map này sẽ áp dụng các chính sách và hành động cần thực thi cho mỗi class map.Cuối cùng, áp dụng policy map vào control plane.
    3.1. Cấu hình ACL dạng named để xác định luồng lưu lượng.
    Hiểu được những gì cần thiết để phân loại lưu lượng có thể đạt được từ phân tích network protocol. Có thể sử dụng Cisco NetFlow và Embedded Packet Capture (EPC) để phân loại lưu lượng mạng.
    Sau khi lưu lượng đã được xác định, ta có thể xây dựng ACL phù hợp với lưu lượng đó. Định nghĩa về các ACL này là một trong những bước quan trọng nhất trong quy tình CoPP. Mức độ chi tiết thích hợp trong việc phân loại các giao thức này trong các ACL cho phép bảo vệ control plane CPU.
    • Sử dụng extended ACL dạng named TELNET để xác định lưu lượng telnet

    R1(config)# ip access-list extended TELNET
    R1(config-ext-nacl)# permit tcp any any eq 23
    R1(config-ext-nacl)# exit
    • Sử dụng extended ACL dạng named EIGRP để xác định tất cả lưu lượng EIGRP

    R1(config)# ip access-list extended EIGRP
    R1(config-ext-nacl)# permit eigrp any any
    R1(config-ext-nacl)# exit
    • Sử dụng extended ACL dạng named SSH để xác định tất cả các lưu lượng SSH

    R1(config)# ip access-list extended SSH
    R1(config-ext-nacl)# permit tcp any any eq 22
    R1(config-ext-nacl)# exit
    • Sử dụng extended ACL dạng named ICMP để xác định lưu lượng ICMP.

    R1(config)# ip access-list extended ICMP
    R1(config-ext-nacl)# permit icmp any any
    R1(config-ext-nacl)# exit

    Lưu ý: Các gói tin nào không khớp với bất kỳ câu lệnh permit nào sẽ được gửi đến control plane CPU trên R1.
    3.2. Cấu hình class map cho CoPP trên R1.
    Class map được sử dụng để phân loại lưu lượng cho CoPP. Các ACL được định nghĩa trước đó để chỉ định các gói tin IP nào thuộc về lớp nào. Việc ánh xạ các ACL vào class map hoàn thành quá trình phân loại lưu lượng. Class map hỗ trợ nhiều tiêu chí đối sánh; tuy nhiên, trong cấu hình này, tiêu chí đối sánh đơn sẽ đáp ứng chức năng cơ bản.
    • Cấu hình class map dạng named CM-TELNET để match các IP packets sẽ bị loại bỏ và không bao giờ đến được CPU control plane

    R1(config)# class-map match-all CM-TELNET
    R1(config-cmap)# match access-group name TELNET
    R1(config-cmap)# exit
    • Cấu hình class map dạng named CM-EIGRP để match các EIGRP packets. Điều này cho phép bạn áp dụng policy cho các gói tin định tuyến này. Điều tương tự là bạn có thể thực hiện đối với OSPF hoặc BGP nếu những giao thức định tuyến đó đang hoạt động.

    R1(config)# class-map match-all CM-EIGRP
    R1(config-cmap)# match access-group name EIGRP
    R1(config-cmap)# exit
    • Cấu hình class map dạng named CM-SSH để match IP packets trong ACL named SSH. Các gói tin IP này sẽ dành cho management plane.

    R1(config)# class-map match-all CM-SSH
    R1(config-cmap)# match access-group name SSH
    R1(config-cmap)# exit
    • Cấu hình class map dạng named CM-ICMP để match IP packets trong ACL named ICMP. Các gói tin IP này là các gói tin ICMP này giành cho Router

    R1(config)# class-map match-all CM-ICMP
    R1(config-cmap)# match access-group name ICMP
    R1(config-cmap)# exit

    3.3. Cấu hình policy map cho CoPP trên R1.
    Policy map xác định “đường cơ sở” về chính sách dịch vụ cho từng loại lưu lượng. Đối với mỗi lớp lưu lượng đã được cấu hình trước đó, policy map sẽ thực thi các hành động và tốc độ cho comtrol plane.
    Việc tìm kiếm tỷ lệ kiểm soát tốc độ tối ưu mà không ảnh hưởng đến sự ổn định của mạng đồi hỏi phải hiểu về các luồng lưu lượng truy cập theo thời gian. Để đảm bảo rằng CoPP không gây ra các vấn đề về tính ổn định, các hành động vi phạm phải được thiết lập để truyền cho tất cả các lớp quan trọng. Khi chính sách CoPP được xác nhận là có hiệu quả về mặt hoạt động, đó sẽ là thời điểm để chuyển đổi các hành động truyền “ Vượt quá hành động” thích hợp thành hành động bị loại bỏ.
    • Cấu hình policy map dạng names PM-COPP trên R1.

    R1(config)# policy-map PM-COPP
    • Liên kết các lưu lượng class map đến policy map và cấu hình các chính sách và hành động sau:
      • Đối với các gói tin Telnet, cấu hình chính sách ở 8kbps. Sau đó đặt hành động là drop và hành động vượt quá cũng là drop. Điều này sẽ làm giảm hiệu suất tất cả các gói tin telnet phù hợp với class map.
      • Đối với các gói tin EIGRP, cấu hình chính sách ở 20 gói tin per second (pps). Sau đó đặt hành động transmit và vượt quá hành động là drop.
      • Đối với các gói tin SSH, cấu hình chính sách ở 50 kbps, đặt hành động là transmit và vượt quá cũng là transmit. Điều này sẽ truyền tất cả các gói tin SSH phù hợp với class map.
      • Đối với các gói tin ICMP, cấu hình chính sách ở 10 pps. Sau đó đặt hành động là transmit và vượt quá hành động là drop

    R1(config-pmap)# class CM-TELNET
    R1(config-pmap-c)# police 8000 conform-action drop exceed-action drop
    R1(config-pmap-c-police)# exit
    R1(config-pmap-c)# class CM-EIGRP
    R1(config-pmap-c)# police rate 10 pps conform-action transmit exceed-action transmit
    R1(config-pmap-c-police)# exit
    R1(config-pmap-c)# class CM-SSH
    R1(config-pmap-c)# police 50000 conform-action transmit exceed-action transmit
    R1(config-pmap-c-police)# exit
    R1(config-pmap-c)# class CM-ICMP
    R1(config-pmap-c)# police rate 10 pps conform-action transmit exceed-action drop
    R1(config-pmap-c-police)# exit
    • Liên kết các class map mặc định với chính sách lưu lượng. Đặt lớp đến class-default và cấu hình chính sách ở 12 kbps. Sau đó set hành động là transmit và vượt quá thì hành động vẫn là transmit.

    R1(config-pmap-c)# class class-default
    R1(config-pmap-c)# police 12000 conform-action transmit exceed-action transmit
    R1(config-pmap-c-police)# end

    Lưu ý: Lớp class-default là lớp được tự động đặt ở cuối policy map. Theo bản chất của cơ chế đối sánh CoPP, một số lưu lượng nhất định sẽ luôn rơi và class-default. Điều này bao gồm lưu lượng truy cập ở lớp Layer 2 và lưu lượng truy cập không phải IP. Bởi vì các loại lưu lượng này yêu cầu để duy trì mạng control plane, thì class-default không bao giờ được kiểm soát với cả 2 hành động là conform và exceed được tthiết lập drop.
    3.4. Áp dụng chính sách CoPP vào giao diện ảo control plane trên R1.
    Policy map sẽ được áp dụng cho giao diện ản control plane theo chiều inbound sử dụng câu lệnh service-policy. Chính sách CoPP này chỉ ảnh hướng đến lưu lượng dành cho control plane của Router’s.
    • Vào chế độ cấu hình control plane và áp dụng chính sách CoPP.

    R1# conf t
    R1(config)# control-plane
    • Kế tiếp, đính kèm policy map vào giao diện control plane sử dụng câu lệnh nhập vào service-policy và chỉ định policy map dạng named PM-COPP trên giao diện ảo control plane

    R1(config-cp)# service-policy input PM-COPP
    R1(config-cp)# end

    4. Xác minh chính sách CoPP trên R1.
    4.1. Lệnh hiển thị access-list.
    Lệnh hiển thị access-list xác định lưu lượng truy cập cụ thể cho từng ACL.

    R1# show access-lists
    Extended IP access list EIGRP
    10 permit eigrp any any
    Extended IP access list ICMP
    10 permit icmp any any
    Extended IP access list SSH
    10 permit tcp any any eq 22
    Extended IP access list TELNET
    10 permit tcp any any eq telnet

    4.2. Lệnh hiển thị class-map.
    Chỉ các class map đã được cấu hình là sử dụng cho CoPP. Lưu ý câu lệnh match-any trong class map bên dưới class-default. Câu lệnh đối sánh được tự động thêm vào khi class map được đưa vào cấu hình policy map

    R1# show class-map
    Class Map match-all CM-TELNET (id 1)
    Match access-group name TELNET

    Class Map match-any class-default (id 0)
    Match any

    Class Map match-all CM-ICMP (id 5)
    Match access-group name ICMP

    Class Map match-all CM-EIGRP (id 2)
    Match access-group name EIGRP

    Class Map match-all CM-SSH (id 3)
    Match access-group name SSH

    4.3. Lệnh hiển thị policy-map.
    Lưu ý rằng policy map hiển thị các tốc độ chính sách đã được cấu hình cho mỗi class map, bao gồm cả class-default.

    R1#show policy-map
    Policy Map PM-COPP
    Class CM-TELNET
    police cir 8000 bc 1500
    conform-action drop
    exceed-action drop
    Class CM-EIGRP
    police rate 10 pps
    conform-action transmit
    exceed-action transmit
    Class CM-SSH
    police cir 50000 bc 1562
    conform-action transmit
    exceed-action transmit
    Class CM-ICMP
    police rate 10 pps
    conform-action transmit
    exceed-action drop
    Class class-default
    police cir 12000 bc 1500
    conform-action transmit
    exceed-action transmit

    4.4. Lệnh hiển thị policy-map control-plane.
    Đây là câu lệnh hữu ích nhất để xác minh chức năng của CoPP. Lưu ý rằng các gói tin EIGRP tuần theo quy tắt chính sách. Bởi vì không có gói tin nào vượt quá tốc độ được xác định cho EIGRP class map, tất cả các gói tin được truyền đến control plane để xử lý. Lưu ý rằng số lượng gói tin của bạn sẽ thay đổi so với ví dụ bên dưới:

    R1# show policy-map control-plane
    Control Plane

    Service-policy input: PM-COPP

    Class-map: CM-TELNET (match-all)
    0 packets, 0 bytes
    5 minute offered rate 0000 bps, drop rate 0000 bps
    Match: access-group name TELNET
    police:
    cir 8000 bps, bc 1500 bytes
    conformed 0 packets, 0 bytes; actions:
    drop
    exceeded 0 packets, 0 bytes; actions:
    drop
    conformed 0000 bps, exceeded 0000 bps

    Class-map: CM-EIGRP (match-all)
    34 packets, 2516 bytes
    5 minute offered rate 0000 bps, drop rate 0000 bps
    Match: access-group name EIGRP
    police:
    rate 10 pps, burst 2 packets
    conformed 34 packets, 2516 bytes; actions:
    transmit
    exceeded 0 packets, 0 bytes; actions:
    transmit
    conformed 0 pps, exceeded 0 pps

    Class-map: CM-SSH (match-all)
    0 packets, 0 bytes
    5 minute offered rate 0000 bps, drop rate 0000 bps
    Match: access-group name SSH
    police:
    cir 50000 bps, bc 1562 bytes
    conformed 0 packets, 0 bytes; actions:
    transmit
    exceeded 0 packets, 0 bytes; actions:
    transmit
    conformed 0000 bps, exceeded 0000 bps

    Class-map: CM-ICMP (match-all)
    0 packets, 0 bytes
    5 minute offered rate 0000 bps, drop rate 0000 bps
    Match: access-group name ICMP
    police:
    rate 10 pps, burst 2 packets
    conformed 0 packets, 0 bytes; actions:
    transmit
    exceeded 0 packets, 0 bytes; actions:
    drop
    conformed 0 pps, exceeded 0 pps

    Class-map: class-default (match-any)
    333 packets, 19788 bytes
    5 minute offered rate 0000 bps, drop rate 0000 bps
    Match: any
    police:
    cir 12000 bps, bc 1500 bytes
    conformed 333 packets, 19788 bytes; actions:
    transmit
    exceeded 0 packets, 0 bytes; actions:
    transmit
    conformed 0000 bps, exceeded 0000 bps

    4.5. Từ R2, ping R1.
    Từ R2, sử dụng lệnh ping 172.16.12.1 repeat 20 để giả lập đính kèm Dos trên control plane R1. Lưu ý tỷ lệ thành công là 70% và ping không thành công được hiển thị dấu chấm (.) trong các dấu chấm thang (thành công ). Từ kết quả ở trên, đểu này chỉ ra rằng R1 đang dropping mỗi gói tin thứ 3 của ICMP, dựa trên chính sách giới hạn tốc độ lưu lượng ICMP tới control plane trên R1.

    R2# ping 172.16.12.1 repeat 20
    Type escape sequence to abort.
    Sending 20, 100-byte ICMP Echos to 172.16.12.1, timeout is 2 seconds:
    !!.!!.!!.!!.!!.!!.!!
    Success rate is 70 percent (14/20), round-trip min/avg/max = 1/1/2 ms

    4.6. Từ R2, truy cập Telnet đến R1.
    Từ R2 truy cập telnet 172.16.12.1. Lưu ý rằng tất cả lưu lượng telnet đến R1 không thành công. Điều này là do chính sách của mình đã loại bỏ các gói tin lưu lượng telnet trực tiếp đến control plane trên R1

    R2# telnet 172.16.12.1
    Trying 172.16.12.1 ...
    % Connection timed out; remote host not responding

    4.7. Từ R2, truy cập Telnet đến A1.
    Từ R2, truy cập telnet 10.10.1.4. Khi hiển thị username / password enter admin và cisco123. Lưu ý rằng lưu lượng telnet từ R2 đi xuyên qua R1 đến A1 thì thành công

    R2# telnet 10.10.1.4
    Trying 10.10.1.4 ... Open
    A1, Control Plane Policing

    User Access Verification

    Username: admin
    Password:
    A1# exit
    [Connection to 10.10.1.4 closed by foreign host]

    4.8. SSH từ R2 đến R1.
    Từ R2 SSH vào trong R1 sử dụng dòng lệnh ssh –l admin 172.16.12.1. Khi hiển thị mật khẩu thì enter cisco123. Sau đó enter show running-config để phát ra các gói tin SSH.

    R2# ssh -l admin 172.16.12.1
    Password:
    R1, Control Plane Policing

    R1# show running-config
    Building configuration...
    (output omitted)

    R1# exit

    [Connection to 172.16.12.1 closed by foreign host]

    4.9. Kiểm tra chính sách CoPP trên R1.
    Trên R1, Lặp lại câu lệnh show policy-map control-plane để kiểm tra chính sách của ICMP, telnet, SSH, EIGRP và những gói tin khác.
    Lưu ý: Số lượng gói tin của bạn sẽ thay đổi theo kết quả sau:

    R1# show policy-map control-plane
    Control Plane

    Service-policy input: PM-COPP

    Class-map: CM-TELNET (match-all)
    4 packets, 232 bytes
    5 minute offered rate 0000 bps, drop rate 0000 bps
    Match: access-group name TELNET
    police:
    cir 8000 bps, bc 1500 bytes
    conformed 4 packets, 232 bytes; actions:
    drop
    exceeded 0 packets, 0 bytes; actions:
    drop
    conformed 0000 bps, exceeded 0000 bps

    Class-map: CM-EIGRP (match-all)
    487 packets, 36038 bytes
    5 minute offered rate 0000 bps, drop rate 0000 bps
    Match: access-group name EIGRP
    police:
    rate 10 pps, burst 2 packets
    conformed 487 packets, 36038 bytes; actions:
    transmit
    exceeded 0 packets, 0 bytes; actions:
    transmit
    conformed 0 pps, exceeded 0 pps

    Class-map: CM-SSH (match-all)
    68 packets, 5776 bytes
    5 minute offered rate 0000 bps, drop rate 0000 bps
    Match: access-group name SSH
    police:
    cir 50000 bps, bc 1562 bytes
    conformed 68 packets, 5776 bytes; actions:
    transmit
    exceeded 0 packets, 0 bytes; actions:
    transmit
    conformed 0000 bps, exceeded 0000 bps

    Class-map: CM-ICMP (match-all)
    10 packets, 1000 bytes
    5 minute offered rate 0000 bps, drop rate 0000 bps
    Match: access-group name ICMP
    police:
    rate 10 pps, burst 2 packets
    conformed 7 packets, 700 bytes; actions:
    transmit
    exceeded 3 packets, 300 bytes; actions:
    drop
    conformed 0 pps, exceeded 0 pps

    Class-map: class-default (match-any)
    4701 packets, 281816 bytes
    5 minute offered rate 0000 bps, drop rate 0000 bps
    Match: any
    police:
    cir 12000 bps, bc 1500 bytes
    conformed 4701 packets, 281816 bytes; actions:
    transmit
    exceeded 0 packets, 0 bytes; actions:
    transmit
    conformed 0000 bps, exceeded 0000 bps

    Từ đầu ra ở trên, lưu ý những điều sau đây:
    • Lưu ý rằng tất cả bốn gói tin Telnet đã bị loại bỏ.
    • Tất cả các gói tin EIGRP tuần theo quy tắt chính sách và được chuyển tiếp đến control plane để xử lý.
    • Tất cả các gói tin SSH cũng tuần theo quy tắt chính sách và chuyển tiếp đến control plane để xử lý.
    • Các gói tin Ping được giới hạn ở tốc độ 10 pps. Điều này cho phép “Bùng nổ” hay gói tin, với mỗi gói thứ 3 sẽ bị loại bỏ.
    5. Xác minh chính sách CoPP trên R1.
    Lưu ý trong đầu ra của lệnh hiển thị policy-map control-plane rằng có một số lượng đáng kể các gói tin đang được so khớp với lớp class-default. Một giải pháp để giúp xác định nguồn gốc của các gói tin này là cấu hình “CATCH-ALL” class map. Class map mới này sẽ thu thập mọi lưu lượng truy cập còn lại không khớp với class map trước đó và được chuyển tới control plane của thiết bị. Lớp “CATCH-ALL” này sẽ ngăn các gói tin kết thúc trong lớp class-default. Ví dụ, ACL được gọi là CATCH-ALL có thể được định nghĩa như sau:

    R1(config)# ip access-list extended CATCH-ALL
    R1(config-ext-nacl)# permit icmp any any
    R1(config-ext-nacl)# permit udp any any
    R1(config-ext-nacl)# permit tcp any any
    R1(config-ext-nacl)# permit ip any any
    R1(config-ext-nacl)# exit
    R1(config)#class-map match-all CM-CATCH-ALL
    R1(config-cmap)#match access-group name CATCH-ALL
    R1(config-cmap)#exit
    R1(config)#policy-map PM-COPP
    R1(config-pmap)#class CM-CATCH-ALL
    R1(config-pmap-c)#police 50000 conform-action transmit exceed-action drop

    ACL này có thể được so khớp class map được gọi là CM-CATCH-ALL có thể được kiểm soát đến 50 kbps với hành confirm là transmit và hành động vượt quá là drop.
    Triển khai class map mới trong policy map của bạn và, lập lại các xác minh trong phần 4, sau đó dùng lện show policy-map control-plane để xem nơi lưu lượng truy cập mặc định này được phân loại.




Working...
X