TỔNG QUAN VỀ TÍNH NĂNG MACSEC TRÊN SWITCH CISCO CATALYST 9000 SERIES
MACsec Trên Switch Cisco 9000 Là Gì?
MacSec là công nghệ mã hóa Layer 2 được mô tả trong tiêu chuẩn IEEE 802.1AE. Tính năng MacSec giúp bảo mật dữ liệu khỏi các cuộc tấn công phổ biến thường xảy ra ở layer 2 như theo dấu, nghe trộm, giả mạo địa chỉ MAC, giả mạo ARP, tấn công DoS hay VLAN hopping. Chính vì thế, mã hóa MACsec được ưu tiên hơn bất kỳ phương pháp mã hóa nào khác cho các lớp cao hơn, chẳng hạn như IPsec và SSL.
Các dòng sản phẩm Cisco Catalyst 9000 Series được trang bị tính năng bảo mật MACSEC bao gồm:
Ưu Điểm Của MACsec Trên Cisco Catalyst 9000
Dưới đây là những ưu điểm tuyệt vời mà tính năng bảo mật MACSec trên các sản phẩm Switch Cisco 9000 mang đến cho người dùng:
Chế Độ Client-Oriented: MACsec được sử dụng trong các thiết lập trong đó hai thiết bị chuyển mạch ngang hàng có thể thay thế nhau để làm key server hoặc key client trước khi thực hiện trao đổi key
Kiểm Tra Tính Toàn Vẹn Của Dữ Liệu: MACsec sử dụng MKA để tạo Giá trị kiểm tra tính toàn vẹn (ICV) cho frame đến trên cổng. Nếu ICV được tạo ra giống với ICV trong frame, thì frame được chấp nhận; nếu không thì nó sẽ bị drop.
Mã Hóa Dữ Liệu: MACsec cung cấp mã hóa mức cổng trên các giao diện của thiết bị Cisco Catalyst 9000 Series. Điều này có nghĩa là các frame được gửi ra khỏi cổng đã cấu hình được mã hóa và các frame nhận được trên cổng được giải mã. MACsec cũng cung cấp một cơ chế để bạn có thể định cấu hình xem chỉ các khung được mã hóa hay tất cả
Replay Protection: Khi các frame được truyền qua mạng, có khả năng các frame thoát ra khỏi trình tự đã được sắp xếp. MACsec cung cấp một cửa sổ có thể định cấu hình chấp nhận một số lượng frame ngoài trình tự được chỉ định.
Các Trường Hợp Sử Dụng MACsec
Dưới đây là các trường hợp áp dụng MACsec trong các hệ thống mạng:
Mô Hình Mạng Campus
- Host-to-switch
- Giữa các Site hoặc Building
- Giữa các Floors trong kiến trúc Multi-tenancy
Data Center
- Kết nối Data Center
- Server-to-switch
Mạng WAN
- Kết nối Data Center
- Liên kết Campus
- Hub-spoke
Các Thuật Ngữ Liên Quan Đến MACsec
Các thuật ngữ liên quan đến MACsec được mô tả trong bảng dưới đây
MKA | MACsec Key Agreement | Được định nghĩa trong IEEE 802.1X REV-2010 như một giao thức thỏa thuận quan trọng để khám phá các MACsec ngang hàng và các khóa đàm phán |
CAK | Connectivity Association Key | Key chính với thời gian sử dụng lớn được sử dụng để tạo tất cả các key khác được sử dụng cho MACsec. Việc triển khai mạng LAN bắt nguồn từ MSK (được tạo ra trong quá trình trao đổi EAP) |
PMK | Pairwise Master Key | Một trong những thành phần được sử dụng để lấy các session key được sử dụng để mã hóa lưu lượng. Được cấu hình theo cách thủ công hoặc bắt nguồn từ 802.1X |
CKN | CAK key name | Được sử dụng để cấu hình giá trị key hoặc CAK. Chỉ cho phép số lượng ký tự HEX chẵn tối đa 64 ký tự |
SAK | Secure Association Key | Do Key Server được lựa chọn bởi CAK và là key được router/thiết bị đầu cuối sử dụng để mã hóa lưu lượng truy cập cho một phiên nhất định |
ICV | Integrity Check Value key | Bắt nguồn từ CAK và được gắn tag trong mọi data/control frame để chứng minh frame đó là từ một mạng ngang hàng được ủy quyền. 8-16 byte tùy thuộc vào bộ mật mã |
KEK | Key Encrypting Key | Bắt nguồn từ CAK (khóa chia sẻ trước) và được sử dụng để bảo vệ các MacSec Keys |
SCI | Secure Channel Identifier | Mỗi cổng ảo nhận một số nhận dạng kênh bảo mật (SCI) duy nhất dựa trên địa chỉ MAC của giao diện vật lý được nối với ID cổng 16 bit |
SỬA CÁC LỖI LIÊN QUAN ĐẾN MACSEC TRÊN SWITCH CISCO CATALYST 9000 SERIES
Trường Hợp 1: MACsec Switch Chuyển Sang Liên Kết Bảo Mật Của Switch Với SAP Ở Chế Độ Pre-Shared Key (PSK)
Bước 1: Xác thực cấu hình ở cả 2 phía của liên kết
9300_stack#show run interface gig 1/0/1 interface GigabitEthernet1/0/1 description MACSEC_manual_3850-2-gi1/0/1 switchport access vlan 10 switchport mode trunk cts manual no propagate sgt sap pmk AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA mode-list gcm-encrypt <-- use full packet encrypt mode 3850#show run interface gig1/0/1 interface GigabitEthernet1/0/1 description 9300-1gi1/0/1 MACSEC manual switchport access vlan 10 switchport mode trunk cts manual no propagate sgt sap pmk AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA mode-list gcm-encrypt NOTE: cts manual <-- Supplies local configuration for Cisco TrustSec parameters no propagate sgt <-- disable SGT tagging on a manually-configured TrustSec-capable interface, if you do not need to propage the SGT tags. sap pmk AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA mode-list gcm-encrypt <-- Use the sap command to manually specify the Pairwise Master Key (PMK) and the Security Association Protocol (SAP) authentication and encryption modes to negotiate MACsec link encryption between two interfaces. The default encryption is sap modelist gcm-encrypt null 9300_stack#(config-if-cts-manual)#sap pmk fa mode-list ? gcm-encrypt GCM authentication, GCM encryption gmac GCM authentication, no encryption no-encap No encapsulation null Encapsulation present, no authentication, no encryption Use "gcm-encrypt" for full GCM-AES-128 encryption. These protection levels are supported when you configure SAP pairwise master key (sap pmk): SAP is not configured— no protection. sap mode-list gcm-encrypt gmac no-encap—protection desirable but not mandatory. sap mode-list gcm-encrypt gmac—confidentiality preferred and integrity required. The protection is selected by the supplicant according to supplicant preference. sap mode-list gmac —integrity only. sap mode-list gcm-encrypt-confidentiality required. sap mode-list gmac gcm-encrypt-integrity required and preferred, confidentiality optional.
Bước 2: Xác minh trạng thái MACsec và các tham số/bộ đếm là chính xác
### Ping issued between endpoints to demonstrate counters ### Host-1#ping 10.10.10.12 <-- sourced from Host-1 IP 10.10.10.11 !!!!!!!!!!!!!!!!!!!!! 9300_stack#sh macsec summary Interface Transmit SC Receive SC <-- Secure Channel (SC) flag is set for transmit and receive GigabitEthernet1/0/1 1 1 9300_stack#sh macsec interface gigabitEthernet 1/0/1 MACsec is enabled Replay protect : enabled Replay window : 0 Include SCI : yes Use ES Enable : no Use SCB Enable : no Admin Pt2Pt MAC : forceTrue(1) Pt2Pt MAC Operational : no Cipher : GCM-AES-128 Confidentiality Offset : 0 ! Capabilities ICV length : 16 Data length change supported: yes Max. Rx SA : 16 Max. Tx SA : 16 Max. Rx SC : 8 Max. Tx SC : 8 Validate Frames : strict PN threshold notification support : Yes Ciphers supported : GCM-AES-128 GCM-AES-256 GCM-AES-XPN-128 GCM-AES-XPN-256 ! Transmit Secure Channels SCI : 682C7B9A4D010000 SC state : notInUse(2) Elapsed time : 03:17:50 Start time : 7w0d Current AN: 0 Previous AN: 1 Next PN: 185 SA State: notInUse(2) Confidentiality : yes SAK Unchanged : no SA Create time : 03:58:39 SA Start time : 7w0d SC Statistics Auth-only Pkts : 0 Auth-only Bytes : 0 Encrypt Pkts : 2077 Encrypt Bytes : 0 ! SA Statistics Auth-only Pkts : 0 Encrypt Pkts : 184 <-- packets are being encrypted and transmitted on this link ! Port Statistics Egress untag pkts 0 Egress long pkts 0 ! Receive Secure Channels SCI : D0C78970C3810000 SC state : notInUse(2) Elapsed time : 03:17:50 Start time : 7w0d Current AN: 0 Previous AN: 1 Next PN: 2503 RX SA Count: 0 SA State: notInUse(2) SAK Unchanged : no SA Create time : 03:58:39 SA Start time : 7w0d SC Statistics Notvalid pkts 0 Invalid pkts 0 Valid pkts 28312 Valid bytes 0 Late pkts 0 Uncheck pkts 0 Delay pkts 0 UnusedSA pkts 0 NousingSA pkts 0 Decrypt bytes 0 ! SA Statistics Notvalid pkts 0 Invalid pkts 0 Valid pkts 2502 <-- number of valid packets received on this link UnusedSA pkts 0 NousingSA pkts 0 ! Port Statistics Ingress untag pkts 0 Ingress notag pkts 36 Ingress badtag pkts 0 Ingress unknownSCI pkts 0 Ingress noSCI pkts 0 Ingress overrun pkts 0 ! 9300_stack#sh cts interface summary Global Dot1x feature is Disabled CTS Layer2 Interfaces --------------------- Interface Mode IFC-state dot1x-role peer-id IFC-cache Critical-Authentication ------------------------------------------------------------------------------------ Gi1/0/1 MANUAL OPEN unknown unknown invalid Invalid CTS Layer3 Interfaces --------------------- Interface IPv4 encap IPv6 encap IPv4 policy IPv6 policy -------------------------------------------------------------------------- ! 9300_stack#sh cts interface gigabitEthernet 1/0/1 Global Dot1x feature is Disabled Interface GigabitEthernet1/0/1: CTS is enabled, mode: MANUAL IFC state: OPEN Interface Active for 04:10:15.723 <--- Uptime of MACsec port Authentication Status: NOT APPLICABLE Peer identity: "unknown" Peer's advertised capabilities: "sap" Authorization Status: NOT APPLICABLE ! SAP Status: SUCCEEDED <-- SAP is successful Version: 2 Configured pairwise ciphers: gcm-encrypt ! Replay protection: enabled Replay protection mode: STRICT ! Selected cipher: gcm-encrypt ! Propagate SGT: Disabled Cache Info: Expiration : N/A Cache applied to link : NONE ! Statistics: authc success: 0 authc reject: 0 authc failure: 0 authc no response: 0 authc logoff: 0 sap success: 1 <-- Negotiated once sap fail: 0 <-- No failures authz success: 0 authz fail: 0 port auth fail: 0 L3 IPM: disabled
Bước 3: Xem lại các gỡ lỗi phần mềm khi liên kết xuất hiện
### Verify CTS and SAP events ### debug cts sap events debug cts sap packets ### Troubleshoot MKA session bring up issues ### debug mka event debug mka errors debug mka packets ### Troubleshoot MKA keep-alive issues ### debug mka linksec-interface debug mka macsec debug macsec *May 8 00:48:04.843: %LINK-3-UPDOWN: Interface GigabitEthernet1/0/1, changed state to down *May 8 00:48:05.324: Macsec interface GigabitEthernet1/0/1 is UP *May 8 00:48:05.324: CTS SAP ev (Gi1/0/1): Session started (new). *May 8 00:48:05.324: cts_sap_session_start CTS SAP ev (Gi1/0/1) peer:0000.0000.0000 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA CTS SAP ev (Gi1/0/1): Old state: [waiting to restart], event: [restart timer expired], action: [send message #0] succeeded. New state: [waiting to receive message #1]. *May 8 00:48:05.449: CTS SAP ev (Gi1/0/1): EAPOL-Key message from D0C7.8970.C381 <-- MAC of peer switch/router *May 8 00:48:05.449: CTS SAP ev (Gi1/0/1): EAPOL-Key message #0 parsed and validated. *May 8 00:48:05.449: CTS SAP ev (Gi1/0/1): Our MAC = 682C.7B9A.4D01 <-- MAC of local interface peer's MAC = D0C7.8970.C381. CTS SAP ev (Gi1/0/1): Old state: [waiting to receive message #1], event: [received message #0], action: [break tie] succeeded. New state: [determining role]. *May 8 00:48:05.449: cts_sap_generate_pmkid_and_sci CTS SAP ev (Gi1/0/1) auth:682c.7b9a.4d01 supp:d0c7.8970.c381, AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA CTS SAP ev (Gi1/0/1): Old state: [determining role], event: [change to authenticator], action: [send message #1] succeeded. New state: [waiting to receive message #2]. *May 8 00:48:05.457: CTS SAP ev (Gi1/0/1): EAPOL-Key message from D0C7.8970.C381. CTS SAP ev (Gi1/0/1): New keys derived: KCK = 700BEF1D 7A8E10F7 1243A168 883C74FB, KEK = C207177C B6091790 F3C5B4B1 D51B75B8, TK = 1B0E17CD 420D12AE 7DE06941 B679ED22, *May 8 00:48:05.457: CTS SAP ev (Gi1/0/1): EAPOL-Key message #2 parsed and validated. *May 8 00:48:05.457: CTS-SAP ev: cts_sap_action_program_msg_2: (Gi1/0/1) GCM is allowed. *May 8 00:48:05.457: MACSec-IPC: sending clear_frames_option *May 8 00:48:05.457: MACSec-IPC: geting switch number *May 8 00:48:05.457: MACSec-IPC: switch number is 1 *May 8 00:48:05.457: MACSec-IPC: clear_frame send msg success *May 8 00:48:05.457: MACSec-IPC: getting macsec clear frames response *May 8 00:48:05.457: MACSec-IPC: watched boolean waken up *May 8 00:48:05.457: MACsec-CTS: create_sa invoked for SA creation *May 8 00:48:05.457: MACsec-CTS: Set up TxSC and RxSC before we installTxSA and RxSA *May 8 00:48:05.457: MACsec-CTS: create_tx_sc, avail=yes sci=682C7B9A *May 8 00:48:05.457: NGWC-MACSec: create_tx_sc vlan invalid *May 8 00:48:05.457: NGWC-MACSec: create_tx_sc client vlan=1, sci=0x682C7B9A4D010000 *May 8 00:48:05.457: MACSec-IPC: sending create_tx_sc *May 8 00:48:05.457: MACSec-IPC: geting switch number *May 8 00:48:05.457: MACSec-IPC: switch number is 1 *May 8 00:48:05.457: MACSec-IPC: create_tx_sc send msg success *May 8 00:48:05.458: MACsec API blocking the invoking context *May 8 00:48:05.458: MACSec-IPC: getting macsec sa_sc response *May 8 00:48:05.458: macsec_blocking_callback *May 8 00:48:05.458: Wake up the blocking process *May 8 00:48:05.458: MACsec-CTS: create_rx_sc, avail=yes sci=D0C78970 *May 8 00:48:05.458: NGWC-MACSec: create_rx_sc client vlan=1, sci=0xD0C78970C3810000 *May 8 00:48:05.458: MACSec-IPC: sending create_rx_sc *May 8 00:48:05.458: MACSec-IPC: geting switch number *May 8 00:48:05.458: MACSec-IPC: switch number is 1 *May 8 00:48:05.458: MACSec-IPC: create_rx_sc send msg success *May 8 00:48:05.458: MACsec API blocking the invoking context *May 8 00:48:05.458: MACSec-IPC: getting macsec sa_sc response *May 8 00:48:05.458: macsec_blocking_callback *May 8 00:48:05.458: Wake up the blocking process *May 8 00:48:05.458: MACsec-CTS: create_tx_rx_sa, txsci=682C7B9A, an=0 *May 8 00:48:05.458: MACSec-IPC: sending install_tx_sa *May 8 00:48:05.458: MACSec-IPC: geting switch number *May 8 00:48:05.458: MACSec-IPC: switch number is 1 *May 8 00:48:05.459: MACSec-IPC: install_tx_sa send msg success *May 8 00:48:05.459: NGWC-MACSec:Sending authorized event to port SM *May 8 00:48:05.459: MACsec API blocking the invoking context *May 8 00:48:05.459: MACSec-IPC: getting macsec sa_sc response *May 8 00:48:05.459: macsec_blocking_callback *May 8 00:48:05.459: Wake up the blocking process *May 8 00:48:05.459: MACsec-CTS: create_tx_rx_sa, rxsci=D0C78970, an=0 *May 8 00:48:05.459: MACSec-IPC: sending install_rx_sa *May 8 00:48:05.459: MACSec-IPC: geting switch number *May 8 00:48:05.459: MACSec-IPC: switch number is 1 *May 8 00:48:05.460: MACSec-IPC: install_rx_sa send msg success *May 8 00:48:05.460: MACsec API blocking the invoking context *May 8 00:48:05.460: MACSec-IPC: getting macsec sa_sc response *May 8 00:48:05.460: macsec_blocking_callback *May 8 00:48:05.460: Wake up the blocking process CTS SAP ev (Gi1/0/1): Old state: [waiting to receive message #2], event: [received message #2], action: [program message #2] succeeded. New state: [waiting to program message #2]. CTS SAP ev (Gi1/0/1): Old state: [waiting to program message #2], event: [data path programmed], action: [send message #3] succeeded. New state: [waiting to receive message #4]. *May 8 00:48:05.467: CTS SAP ev (Gi1/0/1): EAPOL-Key message from D0C7.8970.C381. *May 8 00:48:05.467: CTS SAP ev (Gi1/0/1): EAPOL-Key message #4 parsed and validated. *May 8 00:48:05.473: CTS-SAP ev: cts_sap_sync_sap_info: incr sync msg sent for Gi1/0/1 *May 8 00:48:07.324: %LINK-3-UPDOWN: Interface GigabitEthernet1/0/1, changed state to up
Bước 4: Xem lại các Platform level trace khi liên kết xuất hiện
9300_stack#sh platform software fed switch 1 ifm mappings Interface IF_ID Inst Asic Core Port SubPort Mac Cntx LPN GPN Type Active GigabitEthernet1/0/1 0x8 1 0 1 0 0 26 6 1 1 NIF Y Note the IF_ID for respective intf - This respective IF_ID shows in MACSEC FED traces seen here. 9300_stack#set platform software trace fed switch 1 cts_aci verbose 9300_stack#set platform software trace fed switch 1 macsec verbose <-- switch number with MACsec port 9300_stack#request platform software trace rotate all /// shut/no shut the MACsec interface /// 9300_stack#show platform software trace message fed switch 1 2019/05/08 01:08:50.688 {fed_F0-0}{1}: [macsec] [16837]: UUID: 0, ra: 0, TID: 0 (info): FED sent macsec_sa_sc_res_msg successfully 2019/05/08 01:08:50.688 {fed_F0-0}{1}: [macsec] [16837]: UUID: 0, ra: 0, TID: 0 (info): FED sending macsec_sa_sc_res_msg 2019/05/08 01:08:50.688 {fed_F0-0}{1}: [macsec] [16837]: UUID: 0, ra: 0, TID: 0 (debug): Running Install RxSA job for SCI: 15044144197663784960 AN:0 if_id: 0x8 lpn: 1 2019/05/08 01:08:50.688 {fed_F0-0}{1}: [macsec] [16837]: UUID: 0, ra: 0, TID: 0 (debug): Processing job type 5 2019/05/08 01:08:50.688 {fed_F0-0}{1}: [macsec] [16837]: UUID: 0, ra: 0, TID: 0 (debug): Install RxSA called for SCI: 15044144197663784960 AN:0 if_id: 0x8 lpn: 1 2019/05/08 01:08:50.688 {fed_F0-0}{1}: [macsec] [16837]: UUID: 0, ra: 0, TID: 0 (debug): Processing SPI message for SA/SC req_type: 5 2019/05/08 01:08:50.688 {fed_F0-0}{1}: [macsec] [16837]: UUID: 0, ra: 0, TID: 0 (info): MACSec install RX SA Hdl: destroy message 2019/05/08 01:08:50.688 {fed_F0-0}{1}: [macsec] [16837]: UUID: 0, ra: 0, TID: 0 (info): Entering ins_rx_sa: err 0x7f4a709243ac 2019/05/08 01:08:50.688 {fed_F0-0}{1}: [l2tunnel_bcast] [16837]: UUID: 0, ra: 0, TID: 0 (ERR): port_id 0x8 doesnt exist in vlan list 1 2019/05/08 01:08:50.687 {fed_F0-0}{1}: [macsec] [16837]: UUID: 0, ra: 0, TID: 0 (info): FED sent macsec_sa_sc_res_msg successfully 2019/05/08 01:08:50.687 {fed_F0-0}{1}: [macsec] [16837]: UUID: 0, ra: 0, TID: 0 (info): FED sending macsec_sa_sc_res_msg 2019/05/08 01:08:50.687 {fed_F0-0}{1}: [macsec] [16837]: UUID: 0, ra: 0, TID: 0 (debug): if_id = 8, cts_port=1, is_routed_int=0, isolated=0 2019/05/08 01:08:50.686 {fed_F0-0}{1}: [macsec] [16837]: UUID: 0, ra: 0, TID: 0 (debug): Calling Install TxSA SCI: 7506510581566865408 if_id: 0x8lpn: 1 AN: 0 2019/05/08 01:08:50.686 {fed_F0-0}{1}: [macsec] [16837]: UUID: 0, ra: 0, TID: 0 (debug): sci=0x682c7b9a4d010000 2019/05/08 01:08:50.686 {fed_F0-0}{1}: [macsec] [16837]: UUID: 0, ra: 0, TID: 0 (debug): Processing job type 4 2019/05/08 01:08:50.686 {fed_F0-0}{1}: [macsec] [16837]: UUID: 0, ra: 0, TID: 0 (debug): Create time of current sa = 1557277730 seconds 2019/05/08 01:08:50.686 {fed_F0-0}{1}: [macsec] [16837]: UUID: 0, ra: 0, TID: 0 (debug): sci=0x682c7b9a4d010000 2019/05/08 01:08:50.686 {fed_F0-0}{1}: [macsec] [16837]: UUID: 0, ra: 0, TID: 0 (debug): Install TxSA called for SCI: 7506510581566865408 if_id: 0x8lpn: 1 AN: 0 2019/05/08 01:08:50.686 {fed_F0-0}{1}: [macsec] [16837]: UUID: 0, ra: 0, TID: 0 (debug): Processing SPI message for SA/SC req_type: 4 2019/05/08 01:08:50.686 {fed_F0-0}{1}: [macsec] [16837]: UUID: 0, ra: 0, TID: 0 (info): MACSec install TX SA Hdl: destroy message 2019/05/08 01:08:50.686 {fed_F0-0}{1}: [macsec] [16837]: UUID: 0, ra: 0, TID: 0 (info): Entering ins_tx_sa: err 0x7f4a709243ac 2019/05/08 01:08:50.686 {fed_F0-0}{1}: [macsec] [16837]: UUID: 0, ra: 0, TID: 0 (info): FED sent macsec_sa_sc_res_msg successfully 2019/05/08 01:08:50.686 {fed_F0-0}{1}: [macsec] [16837]: UUID: 0, ra: 0, TID: 0 (info): FED sending macsec_sa_sc_res_msg 2019/05/08 01:08:50.686 {fed_F0-0}{1}: [macsec] [16837]: UUID: 0, ra: 0, TID: 0 (debug): Conf_Offset in create_rx_sc is 0 2019/05/08 01:08:50.686 {fed_F0-0}{1}: [macsec] [16837]: UUID: 0, ra: 0, TID: 0 (debug): Successfully installed spd entries 2019/05/08 01:08:50.686 {fed_F0-0}{1}: [macsec] [16837]: UUID: 0, ra: 0, TID: 0 (debug): Secy policy handle=040187527 2019/05/08 01:08:50.686 {fed_F0-0}{1}: [macsec] [16837]: UUID: 0, ra: 0, TID: 0 (debug): Install policy 2019/05/08 01:08:50.686 {fed_F0-0}{1}: [macsec] [16837]: UUID: 0, ra: 0, TID: 0 (debug): Attach policy 2019/05/08 01:08:50.686 {fed_F0-0}{1}: [macsec] [16837]: UUID: 0, ra: 0, TID: 0 (debug): Creating drop entry for CTS port handle [4e00004c] 2019/05/08 01:08:50.686 {fed_F0-0}{1}: [macsec] [16837]: UUID: 0, ra: 0, TID: 0 (debug): if_id = 8, cts_port=1, is_routed_int=0, isolated=0 2019/05/08 01:08:50.686 {fed_F0-0}{1}: [macsec] [16837]: UUID: 0, ra: 0, TID: 0 (debug): sci=0x682c7b9a4d010000 2019/05/08 01:08:50.686 {fed_F0-0}{1}: [macsec] [16837]: UUID: 0, ra: 0, TID: 0 (debug): Create RxSC called for SCI: 15044144197663784960 if_id: 0x8 lpn: 1 for window size 0: replay_protect 1 2019/05/08 01:08:50.686 {fed_F0-0}{1}: [macsec] [16837]: UUID: 0, ra: 0, TID: 0 (debug): Processing SPI message for SA/SC req_type: 2 2019/05/08 01:08:50.686 {fed_F0-0}{1}: [macsec] [16837]: UUID: 0, ra: 0, TID: 0 (info): MACSec create RX SC Hdl: destroy message 2019/05/08 01:08:50.686 {fed_F0-0}{1}: [macsec] [16837]: UUID: 0, ra: 0, TID: 0 (info): Entering cre_rx_sc: err 0x7f4a709243ac 2019/05/08 01:08:50.685 {fed_F0-0}{1}: [macsec] [16837]: UUID: 0, ra: 0, TID: 0 (info): FED sent macsec_sa_sc_res_msg successfully 2019/05/08 01:08:50.685 {fed_F0-0}{1}: [macsec] [16837]: UUID: 0, ra: 0, TID: 0 (info): FED sending macsec_sa_sc_res_msg 2019/05/08 01:08:50.685 {fed_F0-0}{1}: [macsec] [16837]: UUID: 0, ra: 0, TID: 0 (debug): txSC setting xpn mode false 1 2019/05/08 01:08:50.685 {fed_F0-0}{1}: [macsec] [16837]: UUID: 0, ra: 0, TID: 0 (debug): Conf_Offset in MACSec create_tx_sc is 0 2019/05/08 01:08:50.685 {fed_F0-0}{1}: [macsec] [16837]: UUID: 0, ra: 0, TID: 0 (debug): if_id = 8, cts_port=1, is_routed_int=0, isolated=0 2019/05/08 01:08:50.685 {fed_F0-0}{1}: [macsec] [16837]: UUID: 0, ra: 0, TID: 0 (debug): secy created successfully for if_id: 0x8 sci: 0x7506510581566865408 2019/05/08 01:08:50.685 {fed_F0-0}{1}: [macsec] [16837]: UUID: 0, ra: 0, TID: 0 (debug): if_id = 8, cts_port=1, is_routed_int=0, isolated=0 2019/05/08 01:08:50.685 {fed_F0-0}{1}: [macsec] [16837]: UUID: 0, ra: 0, TID: 0 (debug): if_id = 8, cts_port=1, is_routed_int=0, isolated=0 2019/05/08 01:08:50.685 {fed_F0-0}{1}: [macsec] [16837]: UUID: 0, ra: 0, TID: 0 (debug): is_remote is 0 for if_id 0x8 2019/05/08 01:08:50.685 {fed_F0-0}{1}: [macsec] [16837]: UUID: 0, ra: 0, TID: 0 (debug): Create TxSC called for SCI: 7506510581566865408 if_id: 0x8 lpn: 1 2019/05/08 01:08:50.685 {fed_F0-0}{1}: [macsec] [16837]: UUID: 0, ra: 0, TID: 0 (debug): Processing SPI message for SA/SC req_type: 0 2019/05/08 01:08:50.685 {fed_F0-0}{1}: [macsec] [16837]: UUID: 0, ra: 0, TID: 0 (info): MACSec create TX SC Hdl: destroy message 2019/05/08 01:08:50.685 {fed_F0-0}{1}: [macsec] [16837]: UUID: 0, ra: 0, TID: 0 (info): Entering cre_tx_sc: err 0x7f4a709243ac 2019/05/08 01:08:50.685 {fed_F0-0}{1}: [macsec] [16837]: UUID: 0, ra: 0, TID: 0 (info): FED sent clear_frames_res_msg successfully 2019/05/08 01:08:50.685 {fed_F0-0}{1}: [macsec] [16837]: UUID: 0, ra: 0, TID: 0 (info): FED sending macsec clear_frames_res_msg 2019/05/08 01:08:50.685 {fed_F0-0}{1}: [macsec] [16837]: UUID: 0, ra: 0, TID: 0 (debug): Processing job type 3 2019/05/08 01:08:50.685 {fed_F0-0}{1}: [macsec] [16837]: UUID: 0, ra: 0, TID: 0 (debug): Processing SPI message for msg_type: 7 2019/05/08 01:08:50.685 {fed_F0-0}{1}: [macsec] [16837]: UUID: 0, ra: 0, TID: 0 (info): MACSec clear_frame: destroy message 2019/05/08 01:08:50.685 {fed_F0-0}{1}: [macsec] [16837]: UUID: 0, ra: 0, TID: 0 (info): Entering clear_frame: err 0x7f4a709243ac 2019/05/08 01:08:50.527 {fed_F0-0}{1}: [pm_xcvr] [17885]: UUID: 0, ra: 0, TID: 0 (note): XCVR POST:XCVR Event:1 Event Status:4 lpn:1req_id:11 Magic:4660 Link_state:LINK_UP Admin Duplex:duplex_auto Oper Duplex:duplex_full Admin Speed:speed_auto Oper Speed:speed_gbps1 Autoneg Mode:Unknown autonegmode type 2019/05/08 01:08:50.525 {fed_F0-0}{1}: [xcvr] [17885]: UUID: 0, ra: 0, TID: 0 (note): ntfy_lnk_status: Notifying FED-PM: lpn: 1, link UP 2019/05/08 01:08:48.142 {fed_F0-0}{1}: [pm_xcvr] [16837]: UUID: 0, ra: 0, TID: 0 (note): Enable XCVR for port lpn = 1 if_id = if_id: 0x0000000000000008 enable = 1 2019/05/08 01:08:48.142 {fed_F0-0}{1}: [pm_tdl] [16837]: UUID: 0, ra: 0, TID: 0 (note): Received PM port enable message in FED for GigabitEthernet1/0/1 intf
Bước 5: Xác minh trạng thái giao diện MACsec trong phần cứng
9300_stack#sh platform pm interface-numbers interface iif-id gid slot unit slun HWIDB-Ptr status status2 state snmp-if-index ------------------------------------------------------------------------------------------------------- Gi1/0/1 8 1 1 1 1 0x7F2C90D7C600 0x10040 0x20001B 0x4 8 9300_stack#sh pl software fed switch 1 ifm if-id 8 <-- iif-id 8 maps to gig1/0/1 Interface IF_ID : 0x0000000000000008 Interface Name : GigabitEthernet1/0/1 Interface Block Pointer : 0x7f4a6c66b1b8 Interface Block State : READY Interface State : Enabled Interface Status : ADD, UPD Interface Ref-Cnt : 8 Interface Type : ETHER Port Type : SWITCH PORT Port Location : LOCAL Slot : 1 Unit : 0 Slot Unit : 1 SNMP IF Index : 8 GPN : 1 EC Channel : 0 EC Index : 0 Port Handle : 0x4e00004c LISP v4 Mobility : false LISP v6 Mobility : false QoS Trust Type : 3 ! Port Information Handle ............ [0x4e00004c] Type .............. [Layer2] Identifier ........ [0x8] Slot .............. [1] Unit .............. [1] Port Physical Subblock Affinity .......... [local] Asic Instance ..... [1 (A:0,C:1)] AsicPort .......... [0] AsicSubPort ....... [0] MacNum ............ [26] ContextId ......... [6] LPN ............... [1] GPN ............... [1] Speed ............. [1GB] type .............. [NIF] PORT_LE ........... [0x7f4a6c676bc8] <--- port_LE L3IF_LE ........... [0x0] DI ................ [0x7f4a6c67d718] SubIf count ....... [0] Port L2 Subblock Enabled ............. [Yes] Allow dot1q ......... [Yes] Allow native ........ [Yes] Default VLAN ........ [1] Allow priority tag ... [Yes] Allow unknown unicast [Yes] Allow unknown multicast[Yes] Allow unknown broadcast[Yes] Allow unknown multicast[Enabled] Allow unknown unicast [Enabled] Protected ............ [No] IPv4 ARP snoop ....... [No] IPv6 ARP snoop ....... [No] Jumbo MTU ............ [1500] Learning Mode ........ [1] Vepa ................. [Disabled] Port QoS Subblock Trust Type .................... [0x2] Default Value ................. [0] Ingress Table Map ............. [0x0] Egress Table Map .............. [0x0] Queue Map ..................... [0x0] Port Netflow Subblock Port Policy Subblock List of Ingress Policies attached to an interface List of Egress Policies attached to an interface Port CTS Subblock Disable SGACL .................... [0x0] Trust ............................ [0x0] Propagate ........................ [0x0] %Port SGT .......................... [-1717360783] Physical Port Macsec Subblock <-- This block is not present when MACSEC is not enabled Macsec Enable .... [Yes] Macsec port handle.... [0x4e00004c] <-- Same as PORT_LE Macsec Virtual port handles.... ..........[0x11000005] Macsec Rx start index.... [0] Macsec Rx end index.... [6] Macsec Tx start index.... [0] Macsec Tx end index.... [6] Ref Count : 8 (feature Ref Counts + 1) IFM Feature Ref Counts FID : 102 (AAL_FEATURE_SRTP), Ref Count : 1 FID : 59 (AAL_FEATURE_NETFLOW_ACL), Ref Count : 1 FID : 95 (AAL_FEATURE_L2_MULTICAST_IGMP), Ref Count : 1 FID : 119 (AAL_FEATURE_PV_HASH), Ref Count : 1 FID : 17 (AAL_FEATURE_PBB), Ref Count : 1 FID : 83 (AAL_FEATURE_L2_MATM), Ref Count : 1 FID : 30 (AAL_FEATURE_URPF_ACL), Ref Count : 1 IFM Feature Sub block information FID : 102 (AAL_FEATURE_SRTP), Private Data : 0x7f4a6c9a0838 FID : 59 (AAL_FEATURE_NETFLOW_ACL), Private Data : 0x7f4a6c9a00f8 FID : 17 (AAL_FEATURE_PBB), Private Data : 0x7f4a6c9986b8 FID : 30 (AAL_FEATURE_URPF_ACL), Private Data : 0x7f4a6c9981c8 9300_stack# sh pl hard fed switch 1 fwd-asic abstraction print-resource-handle 0x7f4a6c676bc8 1 <-- port_LE handle Handle:0x7f4a6c676bc8 Res-Type:ASIC_RSC_PORT_LE Res-Switch-Num:0 Asic-Num:1 Feature-ID:AL_FID_IFM Lkp-ftr-id:LKP_FEAT_INGRESS_PRECLASS1_IPV4 ref_count:1 priv_ri/priv_si Handle: (nil)Hardware Indices/Handles: index1:0x0 mtu_index/l3u_ri_index1:0x2 sm handle [ASIC 1]: 0x7f4a6c682a08 Detailed Resource Information (ASIC# 1) **snip** LEAD_PORT_ALLOW_CTS value 0 Pass LEAD_PORT_ALLOW_NON_CTS value 0 Pass LEAD_PORT_CTS_ENABLED value 1 Pass <-- Flag = 1 (CTS enabled) LEAD_PORT_MACSEC_ENCRYPTED value 1 Pass <-- Flag = 1 (MACsec encrypt enabled) LEAD_PORT_PHY_MAC_SEC_SUB_PORT_ENABLED value 0 Pass LEAD_PORT_SGT_ALLOWED value 0 Pass LEAD_PORT_EGRESS_MAC_SEC_ENABLE_WITH_SCI value 1 Pass <-- Flag = 1 (MACsec with SCI enabled) LEAD_PORT_EGRESS_MAC_SEC_ENABLE_WITHOUT_SCI value 0 Pass LEAD_PORT_EGRESS_MAC_SEC_SUB_PORT value 0 Pass LEAD_PORT_EGRESS_MACSEC_ENCRYPTED value 0 Pass **snip**
Trường Hợp 2: Liên Kết Bảo Mật Chuyển Sang MACsec Switch Với MKA Ở Chế Độ Pre-Shared Key (PSK)
Bước 1: Xác thực cấu hình ở cả hai phía của liên kết
C9500#sh run | sec key chain key chain KEY macsec key 01 cryptographic-algorithm aes-256-cmac key-string 7 101C0B1A0343475954532E2E767B3233214105150555030A0004500B514B175F5B05515153005E0E5E505C52564007025859040C27181B5141521317595F052C28 lifetime local 00:00:00 Aug 21 2019 infinite <-- use NTP to sync the time for key chains mka policy MKA key-server priority 200 macsec-cipher-suite gcm-aes-256 confidentiality-offset 0 C9500#sh run interface fo1/0/1 interface fo1/0/1 macsec network-link mka policy MKA mka pre-shared-key key-chain KEY C9300#sh run interface te1/1/3 interface te1/1/3 macsec network-link mka policy MKA mka pre-shared-key key-chain KEY
Bước 2: Xác thực MACsec được bật và tất cả các tham số/bộ đếm đều chính xác
### This example shows the output from one side, verify on both ends of MACSEC tunnel ### C9500#sh macsec summary Interface Transmit SC Receive SC FortyGigabitEthernet1/0/1 1 1 C9500#sh macsec interface fortyGigabitEthernet 1/0/1 MACsec is enabled Replay protect : enabled Replay window : 0 Include SCI : yes Use ES Enable : no Use SCB Enable : no Admin Pt2Pt MAC : forceTrue(1) Pt2Pt MAC Operational : no Cipher : GCM-AES-256 Confidentiality Offset : 0 Capabilities ICV length : 16 Data length change supported: yes Max. Rx SA : 16 Max. Tx SA : 16 Max. Rx SC : 8 Max. Tx SC : 8 Validate Frames : strict PN threshold notification support : Yes Ciphers supported : GCM-AES-128 GCM-AES-256 GCM-AES-XPN-128 GCM-AES-XPN-256 Transmit Secure Channels SCI : 0CD0F8DCDC010008 SC state : notInUse(2) Elapsed time : 00:24:38 Start time : 7w0d Current AN: 0 Previous AN: - Next PN: 2514 SA State: notInUse(2) Confidentiality : yes SAK Unchanged : yes SA Create time : 1d01h SA Start time : 7w0d SC Statistics Auth-only Pkts : 0 Auth-only Bytes : 0 Encrypt Pkts : 3156 <-- should increment with Tx traffic Encrypt Bytes : 0 SA Statistics Auth-only Pkts : 0 Encrypt Pkts : 402 <-- should increment with Tx traffic Port Statistics Egress untag pkts 0 Egress long pkts 0 Receive Secure Channels SCI : A0F8490EA91F0026 SC state : notInUse(2) Elapsed time : 00:24:38 Start time : 7w0d Current AN: 0 Previous AN: - Next PN: 94 RX SA Count: 0 SA State: notInUse(2) SAK Unchanged : yes SA Create time : 1d01h SA Start time : 7w0d SC Statistics Notvalid pkts 0 Invalid pkts 0 Valid pkts 0 Valid bytes 0 Late pkts 0 Uncheck pkts 0 Delay pkts 0 UnusedSA pkts 0 NousingSA pkts 0 Decrypt bytes 0 SA Statistics Notvalid pkts 0 Invalid pkts 0 Valid pkts 93 UnusedSA pkts 0 NousingSA pkts 0 ! Port Statistics Ingress untag pkts 0 Ingress notag pkts 748 Ingress badtag pkts 0 Ingress unknownSCI pkts 0 Ingress noSCI pkts 0 Ingress overrun pkts 0 C9500#sh mka sessions interface fortyGigabitEthernet 1/0/1 Summary of All Currently Active MKA Sessions on Interface FortyGigabitEthernet1/0/1... ==================================================================================================== Interface Local-TxSCI Policy-Name Inherited Key-Server Port-ID Peer-RxSCI MACsec-Peers Status CKN ==================================================================================================== Fo1/0/1 0cd0.f8dc.dc01/0008 MKA NO YES 8 a0f8.490e.a91f/0026 1 Secured01 <-- CKN number must match on both sides 0cd0.f8dc.dc01 <-- MAC of local interface a0f8.490e.a91f <-- MAC of remote neighbor 8 <-- indicates IIF_ID of respective local port (here IF_ID is 8 for local port fo1/0/1) C9500#sh platform pm interface-numbers | in iif|1/0/1 interface iif-id gid slot unit slun HWIDB-Ptr status status2 state snmp-if-index Fo1/0/1 8 1 1 1 1 0x7EFF3F442778 0x10040 0x20001B 0x4 8 C9500#sh mka sessions interface fortyGigabitEthernet 1/0/1 detail MKA Detailed Status for MKA Session =================================== Status: SECURED - Secured MKA Session with MACsec Local Tx-SCI............. 0cd0.f8dc.dc01/0008 Interface MAC Address.... 0cd0.f8dc.dc01 MKA Port Identifier...... 8 Interface Name........... FortyGigabitEthernet1/0/1 Audit Session ID......... CAK Name (CKN)........... 01 Member Identifier (MI)... DFDC62E026E0712F0F096392 Message Number (MN)...... 536 <-- should increment as message numbers increment EAP Role................. NA Key Server............... YES MKA Cipher Suite......... AES-256-CMAC Latest SAK Status........ Rx & Tx Latest SAK AN............ 0 Latest SAK KI (KN)....... DFDC62E026E0712F0F09639200000001 (1) Old SAK Status........... FIRST-SAK Old SAK AN............... 0 Old SAK KI (KN).......... FIRST-SAK (0) SAK Transmit Wait Time... 0s (Not waiting for any peers to respond) SAK Retire Time.......... 0s (No Old SAK to retire) SAK Rekey Time........... 0s (SAK Rekey interval not applicable) MKA Policy Name.......... MKA Key Server Priority...... 200 Delay Protection......... NO Delay Protection Timer.......... 0s (Not enabled) Confidentiality Offset... 0 Algorithm Agility........ 80C201 SAK Rekey On Live Peer Loss........ NO Send Secure Announcement.. DISABLED SAK Cipher Suite......... 0080C20001000002 (GCM-AES-256) MACsec Capability........ 3 (MACsec Integrity, Confidentiality, & Offset) MACsec Desired........... YES # of MACsec Capable Live Peers............ 1 <-- Peers capable of MACsec # of MACsec Capable Live Peers Responded.. 1 <-- Peers that responded to MACsec negotiation Live Peers List: MI MN Rx-SCI (Peer) KS RxSA Priority Installed ------------------------------------------------------------------------------ ACF0BD8ECCA391A197F4DF6B 537 a0f8.490e.a91f/0026 200 YES <-- One live peer ! Potential Peers List: MI MN Rx-SCI (Peer) KS RxSA Priority Installed ------------------------------------------------------------------------------ Check the MKA policy and ensure that it is applied to expected interface C9500#sh mka policy MKA MKA Policy defaults : Send-Secure-Announcements: DISABLED ! MKA Policy Summary... ! Codes : CO - Confidentiality Offset, ICVIND - Include ICV-Indicator, SAKR OLPL - SAK-Rekey On-Live-Peer-Loss, DP - Delay Protect, KS Prio - Key Server Priority Policy KS DP CO SAKR ICVIND Cipher Interfaces Name Prio OLPL Suite(s) Applied =============================================================================== MKA 200 FALSE 0 FALSE TRUE GCM-AES-256 Fo1/0/1 <-- Applied to Fo1/0/1 ### Ensure that PDU counters are incrementing at Tx/Rx at both sides. This is useful to determine the direction of issues at transport. ### C9500#sh mka statistics | sec PDU MKPDU Statistics MKPDUs Validated & Rx...... 2342 <-- should increment "Distributed SAK"..... 0 "Distributed CAK"..... 0 MKPDUs Transmitted......... 4552 <-- should increment ### MKA Error Counters ### C9500#show mka statistics ** snip*** MKA Error Counter Totals ======================== Session Failures Bring-up Failures................ 0 Reauthentication Failures........ 0 Duplicate Auth-Mgr Handle........ 0 ! SAK Failures SAK Generation................... 0 Hash Key Generation.............. 0 SAK Encryption/Wrap.............. 0 SAK Decryption/Unwrap............ 0 SAK Cipher Mismatch.............. 0 ! CA Failures Group CAK Generation............. 0 Group CAK Encryption/Wrap........ 0 Group CAK Decryption/Unwrap...... 0 Pairwise CAK Derivation.......... 0 CKN Derivation................... 0 ICK Derivation................... 0 KEK Derivation................... 0 Invalid Peer MACsec Capability... 0 ! MACsec Failures Rx SC Creation................... 0 Tx SC Creation................... 0 Rx SA Installation............... 0 Tx SA Installation............... 0 ! MKPDU Failures MKPDU Tx......................... 0 MKPDU Rx Validation.............. 0 MKPDU Rx Bad Peer MN............. 0 MKPDU Rx Non-recent Peerlist MN.. 0
Bước 3 đến Bước 5: Thực hiện theo các hướng dẫn tương tự được đề cập trong Trường Hợp 1
KẾT LUẬN
Như vậy là qua bài viết này, quản trị viên của Cisco Việt Nam ™ đã gửi đến quý khách hàng cũng như các bạn độc giả hướng dẫn sửa các lỗi liên quan đến MACsec trên các thiết bị Switch Cisco Catalyst 9000 với các dòng sản phẩm: Switch Cisco 9300, Switch Cisco 9400, Switch Cisco 9500, Switch Cisco 9600
Cisco Việt Nam ™ là một địa chỉ phân phối Switch Cisco chính hãng uy tín hàng đầu tại Việt Nam. Đến với chúng tôi, quý khách hàng sẽ nhận được những thông tin chính xác về nguồn gốc xuất xứ, giấy tờ, chứng chỉ, với mức giá Discount theo quy định của nhà sản xuất. Hàng luôn sẵn kho số lượng lớn để đáp ứng nhu cầu của khách hàng.
Cisco Việt Nam ™ có văn phòng giao dịch tại 2 thành phố lớn nhất là Hà Nội và Hồ Chí Minh (Sài Gòn). Giúp thuận tiện cho khách hàng có như cầu mua Switch Cisco Catalyst 9000 Chính Hãng có thể đến trực tiếp văn phòng của chúng tôi, cũng như rút ngắn thời gian giao hàng các sản phẩm máy chủ chính hãng đến với khách hàng..
Ngoài ra thì chúng tôi phân phối Cisco chính hãng trên toàn quốc, Do đó nếu khách hàng không ở có điều kiện để đến trực tiếp văn phòng của chúng tôi tại Hà Nội và Sài Gòn thì có thể liên hệ với chúng tôi để nhận thông tin về báo giá, tình trạng hàng hoá, chương trình khuyến mại…
Để Nhận Thông Tin Hỗ Trợ Báo Giá Dự Án, Đặt Hàng, Giao Hàng, Đặt Hàng, Bảo Hành, Khuyến Mại, Hỗ Trợ Kỹ Thuật của các sản phẩm Switch Cisco Catalyst 9000 Chính Hãng, Hãy Chát Ngay với chúng tôi ở khung bên dưới hoặc gọi điện tới số hotline hỗ trợ 24/7 của Cisco Việt Nam ™. Quý khách cũng có thể liên hệ tới văn phòng của chúng tôi tại Hà Nội và Sài Gòn theo thông tin sau:
Địa Chỉ Phân Phối Cisco Catalyst 9000 Chính Hãng Giá Tốt Tại Hà Nội
- Địa chỉ: Số 59 Võ Chí Công, Phường Nghĩa Đô, Quận Cầu Giấy, TP Hà Nội.
- Hotline/Zalo: 0967.40.70.80
- Email: info@anbinhnet.com.vn
- Website: https://ciscovietnam.com/
Địa Chỉ Phân Phối Cisco Catalyst 9000 Chính Hãng Giá Tốt Tại Sài Gòn (TP HCM)
- Địa chỉ: Số 736/182 Lê Đức Thọ, Phường 15, Quận Gò Vấp, TP Hồ Chí Minh
- Hotline/Zalo: 0967.40.70.80
- Email: info@anbinhnet.com.vn
- Website: https://ciscovietnam.com/
Nguồn: https://anbinhnet.com.vn/huong-dan-sua-loi-macsec-tren-switch-cisco-9000/