Hướng dẫn cấu hình Radius, 802.1x trên Switch Cisco
Trong bài viết này, Mình sẽ hướng dẫn các bạn cấu hình radius trên switch Cisco và xác thực 802.1x trên các thiết bị windows.
Trong bài viết trước thì mình đã hướng dẫn các bạn dựng 1 radius server trên windows server 2016 và test dịch vụ với Fortigate rồi. Với bài lab xác thực 802.1x thì mình vẫn sử dụng Radius trên windows server. Thực tế có nhiều loại Radius server khác nhau, cách cấu hình cũng khác nhau, tuy nhiên thì cách cấu hình trên switch và trên máy tính thì giống nhau thôi.
Mô hình lab
Radius thì cũng có rất nhiều các tham số khác nhau tùy thuộc vào nhu cầu và policy của từng hệ thống, do vậy trong video này thì mình sẽ chỉ sử dụng 1 số tham số cơ bản để Client có thể sử dụng thông tin xác thực khi kết nối vào mạng. Xác thực đúng thì sẽ được truy cập, đơn giản vậy thôi. Các bạn cứ hiểu đơn giản là trên Radius chúng ta đưa ra bao nhiêu điều kiện, thì connection phải đáp ứng bấy nhiêu mới có thể kết nối vào hệ thống. Tuy nhiên không phải thiết bị nào cũng đáp ứng được toàn bộ, nên nếu đưa ra quá nhiều điều kiện ban đầu thì chúng ta sẽ rất dễ gặp lỗi. Do vậy với các bạn đang lab hoặc test thử hệ thống, thì mình khuyên các bạn nên bắt đầu bằng 1 điều kiện đơn giản là user group để client có tài khoản đăng nhập, sau đó test xác thực 802.1x OK rồi thì chúng ta mới bắt đầu thêm các điều kiện khác vào và test tiếp, như vậy chúng ta dễ xác định được vấn đề khi client không thể xác thực.
Mô hình của mình rất đơn giản, Radius Server của mình IP là 10.10.10.120. Switch Cisco mình đang dùng là dòng Cisco C1000, với các dòng Catalyst như dòng 2960, 3850, 9200, 9300 thì các bạn cũng cấu hình tương tự, câu lệnh của mấy dòng switch này tương tự nhau thôi.
Máy tính của mình sẽ cắm vào cổng 24 trên switch. Mình sẽ cấu hình dot1x cho cổng 24 này, để khi máy tính cắm vào cổng 24 sẽ phải sử dụng user trên windows server để đăng nhập. Nếu đúng tài khoản thì sẽ lấy được IP và truy cập vào mạng. Lúc này switch sẽ đóng vai trò là AUTHENTICATOR.
Cấu hình trên Radius Server
Trước tiên chúng ta cần khai báo radius client cho switch Cisco trên Radius Server.
Các bạn kích chuột phải vào Radius Client và chọn New.
- Tích chọn Enable this Radius Client.
- Name các bạn đặt tên cho Client.
- Address (IP or DNS): IP này là IP trên switch, các bạn cấu hình IP nào có thể ping thông được đến Radius Server, và không bị chặn các cổng dịch vụ là được.
- Shared secret: là key mà các bạn sẽ nhập trên switch khi cấu hình radius.
Tiếp theo các bạn cấu hình các policy để cho tạo các điều kiện cho truy cập cho client. Các bạn kích vào menu gốc NPS (Local), chọn RADIUS server for 802.1x wireless or wired connections và nhấn Configure 802.1x.
Chọn Type là Secure Wired (Ethernet) Connections cho các kết nối có dây, còn phần wireless connections các bạn sẽ chọn khi sử dụng với mạng không dây.
Radius Client thì các bạn add các thiết bị muốn kết nối qua policy này. Mình sẽ chỉ để switch C1000 thôi, mặc định thì server sẽ liệt kê toàn bộ các Radius Clients mà các bạn đã cấu hình, các bạn có thể remove các client không cần thiết đi.
Authentication Method chọn Microsoft: Protected EAP (PEAP).
Trong menu Specify User Groups các bạn add nhóm tài khoản được sử dụng để xác thực 802.1x vào. Mình đã có 1 user group là MGMT-Users nên mình sẽ add group này vào.
Trong menu Confiugure Traffic Controls, nếu các bạn muốn add VLAN động cho Client thì chúng ta sẽ cấu hình ở đây. Ví dụ khi client xác thực thành công thì sẽ tự động access vào VLAN 10 chẳng hạn. Có 3 thuộc tính chúng ta cần cấu hình là Tunnel-Type, Tunnel-Medium-Type và Tunnel-Pvt-Group-ID.
Các bạn kích vào Configure, chọn thuộc tính Tunnel-Type, nhấn Edit, chọn Add, và chọn Commonly used for 802.1x là Virutal LANs (VLAN).
Tiếp theo, các bạn kích vào Configure, chọn thuộc tính Tunnel-Medium-Type, nhấn Edit, chọn Add, và chọn Commonly used for 802.1x là 802(includes all 802 media plus Ethernet canonical format).
Cuối cùng, các bạn kích vào Configure, chọn thuộc tính Tunnel-Pvt-Group-ID, nhấn Edit, chọn Add, chọn Enter the attribute value in là String, và nhập VLAN ID vào.
Để client tự động access vào 1 VLAN thì chúng ta sẽ cần 3 thuộc tính như bên dưới, bấm OK sau đó bấm Next.
Cuối cùng các bạn nhấn Finish để hoàn tất quá trình tạo policy. Server sẽ tạo 2 policy cho Connection Request Policy và Network Policies.
Như vậy là chúng ta hoàn tất cấu hình trên Radius Server
Cấu hình Radius và Dot1x trên switch Cisco
Đầu tiên mình sẽ cần đặt IP cho interface VLAN1, do switch mình đang nối với Radius Server bằng VLAN 1. Với mô hình của các bạn thì các bạn chỉ cần đảm bảo switch có thể ping được Radius Server, và không có firewall nào chặn các port của Radius là được nhé.
Switch(config)#interface vlan 1
Switch(config-if)#ip address 10.10.10.123 255.255.255.0
Switch(config-if)#no shutdown
Switch(config-if)#exit |
Tiếp theo các bạn sẽ cần sẽ cần kích hoạt AAA lên.
Switch(config)#aaa new-model |
Sau đó tạo Radius Server, mình sẽ đặt tên là SRV và trỏ đến IP của radius với port authentication là 1812 và accouting là 1813. Phần Key sẽ là Shared Secret mà các bạn đã cấu hình trong phần Radius Client.
Switch(config)#radius server SRV
Switch(config-radius-server)#address ipv4 10.10.10.120 auth-port 1812 acct-port 1813
Switch(config-radius-server)#key Admin@123 |
Các bạn lưu ý các port này trên Radius nhé, mặc định các port của radius là 1812 và 1813, tuy nhiên thì các port có thể thay đổi, và có thể khác nhau giữa các radius, nên các bạn cần kiểm tra trước khi cấu hình. Port trên switch và radius cần giống nhau. Trên switch Cisco nếu các bạn không khai báo port thì mặc định sẽ là port 1645 và 1646.
Nếu các bạn có nhiều Radius server, và mỗi server cho 1 dịch vụ khác nhau, thì các bạn có thể cấu hình các group và nhóm các Radius server có chung chức năng vào. Ví dụ mình sẽ tạo 1 group tên là RADIUS-GROUP cho dot1x và add server SRV mà mình vừa tạo ở trên vào.
Switch(config)#aaa group server radius RADIUS-GROUP
Switch(config-sg-radius)#server name SRV |
Khi đó các bạn có thể sử dụng mỗi group Radius cho các dịch vụ khác nhau.
Sau khi cấu hình xong radius, các bạn cấu hình xác thực dot1x bằng radius. Nếu group các bạn sử dụng là radius thì switch sẽ sử dụng toàn bộ các radius server mà các bạn cấu hình trên switch. Còn nếu các bạn sử dụng group mà các bạn cấu hình ở trên thì các bạn chỉ cần gõ tên radius đã cấu hình ở trên vào là được. Mình sẽ sử dụng radius để sử dụng toàn bộ Radius mà mình đã khai báo trên switch.
Switch(config)#aaa authentication dot1x default group radius |
Sau khi cấu hình xong, các bạn có thể sử dụng lệnh show aaa server để kiểm tra.
Switch#show aaa servers
RADIUS: id 1, priority 1, host 10.10.10.120, auth-port 1812, acct-port 1813
State: current UP, duration 107s, previous duration 0s
Dead: total time 0s, count 0
Quarantined: No
Authen: request 0, timeouts 0, failover 0, retransmission 0
Response: accept 0, reject 0, challenge 0
Response: unexpected 0, server error 0, incorrect 0, time 0ms
Transaction: success 0, failure 0
Throttled: transaction 0, timeout 0, failure 0
Author: request 0, timeouts 0, failover 0, retransmission 0
Response: accept 0, reject 0, challenge 0
Response: unexpected 0, server error 0, incorrect 0, time 0ms
Transaction: success 0, failure 0
Throttled: transaction 0, timeout 0, failure 0
Account: request 0, timeouts 0, failover 0, retransmission 0
Request: start 0, interim 0, stop 0
Response: start 0, interim 0, stop 0
Response: unexpected 0, server error 0, incorrect 0, time 0ms
Transaction: success 0, failure 0
Throttled: transaction 0, timeout 0, failure 0
Elapsed time since counters last cleared: 2d15h39m
Estimated Outstanding Access Transactions: 0
Estimated Outstanding Accounting Transactions: 0
Estimated Throttled Access Transactions: 0
Estimated Throttled Accounting Transactions: 0
Maximum Throttled Transactions: access 0, accounting 0
Requests per minute past 24 hours:
high - 0 hours, 0 minutes ago: 0
low - 0 hours, 0 minutes ago: 0
average: 0
Switch#
Trạng thái của server là UP nghĩa là chúng ta đã kết nối thành công đến Radius server.
Sau khi server UP thì các bạn sẽ cần bật dot1x trên cổng kết nối xuống client lên. Các bạn lưu ý các trên interface thì chúng ta cần phải cấu hình port về 1 mode cụ thể thì mới bật được dot1x. Mình sẽ cấu hình về mode access.
Switch(config)#interface g1/0/24
Switch(config-if)#switchport mode access
Switch(config-if)#dot1x pae authenticator
Switch(config-if)#authentication port-control auto |
Để kiểm tra các bạn có thể show dot1x all lên.
Switch#show dot1x all
Sysauthcontrol Enabled
Dot1x Protocol Version 3
Dot1x Info for GigabitEthernet1/0/24
-----------------------------------
PAE = AUTHENTICATOR
QuietPeriod = 60
ServerTimeout = 0
SuppTimeout = 30
ReAuthMax = 2
MaxReq = 2
TxPeriod = 30
Switch#
Dot1x đã được enable và bật cho cổng 24. Trên switch như vậy là xong.
Bật xác thực 802.1x trên máy tính windows
Trên máy PC thì trước tiên các bạn cần bật service Wired autoConfig lên. Các bạn mở Services trên máy tính lên và tìm mục Wired AutoConfig. Sau đó bật dịch vụ này lên. Các bạn đổi Startup type sang Automatic để máy tính tự động chạy dịch vụ này lên khi khởi động.
Sau đó vào Network Connection, Chọn card mạng và Properties. Các bạn sẽ thấy có thêm 1 tab Authentication, trước khi bật Wired autoconfig thì sẽ không có tab này. Các bạn tích chọn Enable IEEE 802.1x authentication chọn Microsoft Protected EAP (PEAP) và EAP-MSCHAP v2 cho 2 mục xác thực.
Tiếp theo các bạn nhấn Additional Settings, tích Specify authentication mode và chọn User authentication.
Nếu các bạn muốn lưu thông tin đăng nhập, thì nhấn Save credentials và nhập tài khoản xác thực 802.1x vào, còn không thì mỗi lần cắm dây thì máy tính sẽ yêu cầu nhập 1 lần. Nếu các bạn đã lưu credentials thì máy tính sẽ không hiện Pop-up để nhập tài khoản khi các bạn kết nối dây mạng.
Trên đây là những cấu hình cơ bản chúng ta có thể sử dụng 802.1x xác thực khi người dùng kết nối vào mạng. Các bạn có thể cấu hình xác thực trước, sau đó thêm các option khác vào để test, có khá nhiều nên mình sẽ không đề cập trong nội dung bài viết này.
Nếu các bạn có bất kỳ góp ý hay thắc mắc nào, hãy để lại comment để mọi người cùng trao đổi nhé.
Chúc các bạn thành công!
Bình luận bài viết!