Cấu hình DHCP Snooping Cisco: hướng dẫn chi tiết cách triển khai và kiểm tra
DHCP Snooping là một tính năng bảo mật Layer 2 quan trọng trên switch Cisco, giúp ngăn chặn DHCP Server giả mạo phát địa chỉ IP sai cho người dùng trong mạng nội bộ. Khi được cấu hình đúng, DHCP Snooping chỉ cho phép các phản hồi DHCP hợp lệ đi qua những cổng được đánh dấu trusted, đồng thời chặn các gói DHCP đáng ngờ xuất hiện từ các cổng access thông thường.
Trong thực tế, đây là một cấu hình rất nên triển khai trên switch access trong doanh nghiệp, nhà máy, trường học, bệnh viện hoặc bất kỳ hệ thống mạng nào có nhiều thiết bị đầu cuối. Không chỉ giúp bảo vệ người dùng khỏi nguy cơ bị cấp sai gateway, DNS hoặc IP, DHCP Snooping còn tạo ra binding table để hỗ trợ các tính năng bảo mật khác như Dynamic ARP Inspection (DAI) và IP Source Guard.
1. DHCP Snooping là gì?
DHCP Snooping là cơ chế bảo mật trên switch Cisco giúp kiểm soát lưu lượng DHCP trong mạng LAN. Tính năng này cho phép switch phân biệt đâu là cổng tin cậy để nhận gói DHCP từ server hợp lệ, đâu là cổng không tin cậy dành cho người dùng cuối.
Trong một mạng nội bộ bình thường, khi máy tính gửi gói DHCP Discover, bất kỳ thiết bị nào đang chạy DHCP Server trong cùng broadcast domain đều có thể phản hồi. Đây chính là điểm yếu dễ bị khai thác. Nếu có một thiết bị giả mạo DHCP Server, nó có thể cấp phát địa chỉ IP sai, gateway sai hoặc DNS sai cho người dùng.
Hậu quả là người dùng có thể:
-
Không truy cập được mạng
-
Đi nhầm gateway
-
Bị chuyển hướng lưu lượng qua thiết bị tấn công
-
Bị nghe lén hoặc bị tấn công kiểu man-in-the-middle
DHCP Snooping được thiết kế để ngăn chặn kịch bản này.

2. DHCP Snooping hoạt động như thế nào?
Khi bật DHCP Snooping, switch sẽ kiểm tra các gói DHCP đi qua và phân loại cổng thành hai nhóm:
2.1. Trusted port
Đây là các cổng được phép nhận và chuyển tiếp phản hồi DHCP từ DHCP Server hợp lệ. Thông thường, đó sẽ là:
-
Cổng uplink lên distribution switch hoặc core switch
-
Cổng kết nối trực tiếp tới DHCP Server
-
Cổng trunk đi về thiết bị mạng ở tầng trên
Chỉ các cổng trusted mới được phép đưa các gói như DHCPOFFER, DHCPACK, DHCPNAK vào switch.
2.2. Untrusted port
Đây là trạng thái mặc định của hầu hết các cổng access dành cho người dùng. Các cổng này chỉ được phép gửi DHCP request từ client, nhưng không được phép gửi phản hồi DHCP như một DHCP Server.
Nếu một thiết bị lạ cắm vào cổng untrusted và cố gửi DHCP Offer, switch sẽ chặn ngay lập tức.
2.3. DHCP binding table
Ngoài việc lọc gói DHCP, switch còn lưu lại thông tin các client đã được cấp phát IP trong một bảng gọi là DHCP Snooping binding table. Bảng này thường bao gồm:
-
MAC Address
-
IP Address
-
VLAN
-
Interface
-
Lease time
Bảng binding này rất quan trọng vì nó là dữ liệu nền cho các tính năng bảo mật nâng cao khác.
3. Vì sao nên triển khai DHCP Snooping trên switch Cisco?
DHCP Snooping không chỉ là tính năng bảo mật tùy chọn, mà trong nhiều môi trường, nó nên được xem là cấu hình cơ bản trên switch access.
3.1. Ngăn DHCP Server giả mạo
Người dùng có thể vô tình cắm router Wi-Fi, modem hoặc access point có bật DHCP vào mạng công ty. Khi đó, thiết bị này có thể cấp IP sai cho nhiều máy khác, gây mất kết nối hoặc xung đột định tuyến.
3.2. Giảm nguy cơ tấn công man-in-the-middle
Kẻ tấn công có thể dựng một DHCP Server giả để cấp default gateway về thiết bị của hắn. Khi đó, toàn bộ lưu lượng của người dùng có thể bị đi qua thiết bị trung gian trước khi ra mạng.
3.3. Tạo nền tảng cho các tính năng bảo mật khác
DHCP Snooping là điều kiện cần để triển khai:
-
Dynamic ARP Inspection
-
IP Source Guard
Nếu không có binding table từ DHCP Snooping, các tính năng này sẽ không hoạt động hiệu quả.
3.4. Tăng độ ổn định cho hệ thống mạng
Trong các mạng lớn, chỉ cần một DHCP Server giả xuất hiện cũng có thể khiến hàng chục hoặc hàng trăm máy trạm nhận sai IP. DHCP Snooping giúp hạn chế hoàn toàn rủi ro này ở tầng switch access.
4. Mô hình triển khai DHCP Snooping điển hình
Một mô hình phổ biến là:
-
Các máy trạm kết nối vào switch access qua các cổng access
-
Switch access uplink lên distribution switch hoặc core switch
-
DHCP Server nằm ở tầng trên hoặc ở VLAN/server farm riêng
+----------------------+
| DHCP Server |
| 10.10.10.10 |
+----------+-----------+
|
|
(Trusted Port)
|
+---------+---------+
| Distribution / |
| Core Switch |
+---------+---------+
|
|
(Trusted Port)
|
+---------+---------+
| Access Switch |
| DHCP Snooping ON |
+----+----+----+----+
| | |
| | |
(Untrusted)(Untrusted)(Untrusted)
| | |
+----+--+ +---+--+ +---+--+
| Host A | | Host B| | Host C|
+-------+ +------+ +------+
Giải thích mô hình
-
Access Switch
-
Bật
DHCP Snooping -
Các port kết nối xuống Host A/B/C là untrusted
-
-
Uplink port từ Access Switch
-
Cấu hình trusted
-
Cho phép nhận DHCP Reply từ DHCP Server
-
-
Distribution/Core Switch
-
Chỉ đóng vai trò chuyển tiếp
-
-
DHCP Server
-
Cấp phát IP cho các máy trạm
-
Luồng DHCP
-
Host gửi DHCP Discover
-
Access Switch forward lên trusted port
-
DHCP Server gửi DHCPOFFER
-
Access Switch chỉ cho phép gói này đi xuống các port untrusted
Nếu một DHCP Server giả xuất hiện ở port access:
Fake DHCP -> DHCPOFFER -> Access Port (Untrusted) -> BỊ DROP
Switch sẽ chặn ngay tại access port.
5. Cấu hình DHCP Snooping trên switch Cisco
Dưới đây là ví dụ cấu hình cơ bản, dễ áp dụng trong môi trường thực tế.
5.1. Bật DHCP Snooping toàn cục
SW1(config)# ip dhcp snooping
Lệnh này dùng để kích hoạt tính năng DHCP Snooping trên toàn bộ switch.
5.2. Bật DHCP Snooping cho VLAN cần bảo vệ
SW1(config)# ip dhcp snooping vlan 10,20,30
Hoặc nếu chỉ có một VLAN:
SW1(config)# ip dhcp snooping vlan 1
Lưu ý quan trọng là DHCP Snooping chỉ hoạt động trên các VLAN đã được khai báo. Nếu quên cấu hình VLAN tương ứng, tính năng này sẽ không có hiệu lực trên VLAN đó.
5.3. Đánh dấu trusted cho cổng uplink hoặc cổng nối tới DHCP Server
SW1(config)# interface GigabitEthernet0/1 SW1(config-if)# ip dhcp snooping trust
Đây thường là cổng uplink lên switch tầng trên hoặc cổng nối trực tiếp đến DHCP Server.
5.4. Giới hạn tốc độ gói DHCP trên cổng untrusted
SW1(config)# interface FastEthernet0/24 SW1(config-if)# ip dhcp snooping limit rate 25
Lệnh này giới hạn số lượng gói DHCP được phép đi vào cổng mỗi giây. Nó rất hữu ích để giảm nguy cơ tấn công kiểu DHCP starvation hoặc flood DHCP request.
Trong thực tế, bạn nên áp dụng lệnh này trên các cổng access untrusted, không nên đặt bừa trên uplink nếu chưa đánh giá kỹ lưu lượng.
6. Ví dụ cấu hình DHCP Snooping hoàn chỉnh
Dưới đây là ví dụ cấu hình tham khảo trên switch Cisco access:
SW1(config)# ip dhcp snooping SW1(config)# ip dhcp snooping vlan 10,20 SW1(config)# interface GigabitEthernet0/1 SW1(config-if)# description Uplink-to-Distribution SW1(config-if)# ip dhcp snooping trust SW1(config)# interface range FastEthernet0/1 - 24 SW1(config-if-range)# description User-Ports SW1(config-if-range)# ip dhcp snooping limit rate 25
Trong ví dụ này:
-
DHCP Snooping được bật toàn cục
-
VLAN 10 và VLAN 20 được bảo vệ
-
Cổng Gi0/1 là uplink nên được đánh dấu trusted
-
Các cổng access từ Fa0/1 đến Fa0/24 vẫn là untrusted mặc định và được giới hạn tốc độ DHCP
7. Cách kiểm tra DHCP Snooping sau khi cấu hình
Sau khi triển khai, bạn nên kiểm tra trạng thái hoạt động của DHCP Snooping để đảm bảo cấu hình đúng.
7.1. Kiểm tra tổng quan trạng thái DHCP Snooping
SW1# show ip dhcp snooping
Lệnh này giúp bạn xem:
-
DHCP Snooping đã bật hay chưa
-
Đang áp dụng cho VLAN nào
-
Trạng thái Option 82
-
Cổng nào đang là trusted
-
Mức rate limit trên từng interface
7.2. Kiểm tra DHCP Snooping binding table
SW1# show ip dhcp snooping binding
Lệnh này hiển thị danh sách các thiết bị đã nhận IP thành công thông qua DHCP, bao gồm:
-
IP address
-
MAC address
-
VLAN
-
Interface
-
Lease expiration
Nếu client đã nhận IP nhưng bảng binding không xuất hiện, bạn nên kiểm tra lại VLAN, trusted port và luồng DHCP end-to-end.
8. DHCP Option 82 là gì?
Khi DHCP Snooping được bật, switch Cisco có thể chèn thêm Option 82 vào gói DHCP request trước khi chuyển tiếp lên DHCP Server.
Option 82 là thông tin bổ sung, thường dùng để cho DHCP Server biết:
-
Gói DHCP đến từ switch nào
-
Đến từ cổng nào
-
Thuộc mạch truy cập nào
Tính năng này rất hữu ích trong các hệ thống lớn, đặc biệt là mạng campus, ISP, Metro Ethernet hoặc những môi trường cần xác định chính xác vị trí thuê bao.
9. Vấn đề thường gặp với DHCP Snooping Option 82
Mặc dù Option 82 hữu ích, nhưng đây cũng là phần dễ gây lỗi nhất khi triển khai DHCP Snooping trong mô hình có nhiều switch hoặc có DHCP relay.
Một lỗi thường gặp là switch upstream drop gói DHCP vì phát hiện:
-
Option 82 xuất hiện trên untrusted port
-
Trường
giaddrkhác 0 -
Gói DHCP bị xem là không hợp lệ
Thông báo log điển hình có thể là:
%DHCP_SNOOPING-5-DHCP_SNOOPING_NONZERO_GIADDR: DHCP_SNOOPING drop message with non-zero giaddr or option82 value on untrusted port
Khi gặp lỗi này, client có thể không nhận được IP mặc dù cấu hình cơ bản nhìn qua có vẻ đúng.
10. Cách xử lý lỗi liên quan đến Option 82
Tùy mô hình mạng, bạn có thể chọn một trong các hướng xử lý sau.
10.1. Cho phép switch chấp nhận gói có Option 82 trên untrusted port
SW2(config)# ip dhcp snooping information option allow-untrusted
Cấu hình này phù hợp trong một số mô hình có nhiều switch nối tiếp nhau và switch downstream đã chèn Option 82.
10.2. Cho DHCP relay hoặc DHCP Server tin tưởng Option 82
Nếu DHCP Server chạy trên Cisco IOS, trong một số trường hợp bạn có thể cần cấu hình:
DSW1(config)# ip dhcp relay information trust-all
Lệnh này giúp thiết bị chấp nhận thông tin relay/Option 82 từ các nguồn phù hợp.
10.3. Tắt chèn Option 82 nếu hệ thống không cần dùng
SW1(config)# no ip dhcp snooping information option
Đây là cách đơn giản nếu hệ thống của bạn không có nhu cầu sử dụng Option 82 và chỉ cần DHCP Snooping để ngăn DHCP giả mạo.
Tuy nhiên, trước khi tắt Option 82, bạn nên hiểu rõ mô hình đang triển khai để tránh ảnh hưởng tới các cơ chế quản lý hoặc cấp phát IP ở tầng trên.
11. Những lưu ý quan trọng khi triển khai DHCP Snooping thực tế
11.1. Chỉ trust đúng cổng cần thiết
Nguyên tắc quan trọng nhất là chỉ cấu hình ip dhcp snooping trust trên:
-
Cổng uplink hợp lệ
-
Cổng nối tới DHCP Server
-
Cổng trunk đi về switch tầng trên có mang DHCP phản hồi hợp lệ
Không nên trust nhầm cổng access người dùng. Chỉ cần một cổng trust sai, DHCP Server giả mạo vẫn có thể hoạt động.
11.2. Khai báo đúng VLAN sử dụng DHCP
Nhiều quản trị viên bật DHCP Snooping nhưng quên chỉ định VLAN, dẫn tới việc cấu hình không phát huy tác dụng trên VLAN client đang dùng.
11.3. Áp dụng rate limit trên access port
Giới hạn tốc độ DHCP trên cổng untrusted giúp hạn chế tấn công flood hoặc DHCP starvation. Đây là một cấu hình rất nên có trong môi trường nhiều người dùng.
11.4. Kiểm tra kỹ với mô hình nhiều switch
Nếu hệ thống có nhiều switch access, distribution, core hoặc có DHCP relay, cần kiểm tra cẩn thận luồng DHCP và cách xử lý Option 82 trên từng thiết bị.
11.5. Kết hợp với các tính năng bảo mật khác
DHCP Snooping phát huy hiệu quả cao nhất khi đi cùng:
-
Dynamic ARP Inspection
-
IP Source Guard
-
Port Security
-
802.1X trong các môi trường cần kiểm soát truy cập chặt chẽ
12. Khi nào nên bật DHCP Snooping?
Bạn nên bật DHCP Snooping trong hầu hết các trường hợp sau:
-
Mạng doanh nghiệp có nhiều người dùng
-
Hệ thống campus, trường học, bệnh viện
-
Nhà máy, khu công nghiệp
-
Mạng có nhiều switch access
-
Hệ thống cần tăng cường bảo mật lớp 2
-
Môi trường đã từng gặp lỗi do DHCP Server giả mạo hoặc thiết bị người dùng phát DHCP trái phép
Nói ngắn gọn, nếu switch của bạn đang cấp kết nối cho nhiều thiết bị đầu cuối, DHCP Snooping gần như luôn là tính năng đáng để bật.
13. Kết luận
DHCP Snooping là một tính năng bảo mật Layer 2 rất quan trọng trên switch Cisco, giúp ngăn chặn DHCP Server giả mạo, bảo vệ người dùng khỏi nguy cơ bị cấp sai địa chỉ IP, gateway và DNS, đồng thời tạo binding table để hỗ trợ các cơ chế bảo mật nâng cao khác.
Về mặt triển khai, cấu hình DHCP Snooping không quá phức tạp, nhưng để hệ thống hoạt động ổn định, bạn cần đặc biệt chú ý tới ba điểm:
-
Trust đúng cổng uplink hoặc cổng đi tới DHCP Server
-
Bật đúng VLAN cần bảo vệ
-
Kiểm tra kỹ Option 82 trong mô hình nhiều switch hoặc có DHCP relay
Nếu được cấu hình chuẩn, DHCP Snooping sẽ giúp mạng access an toàn hơn, ổn định hơn và giảm đáng kể rủi ro do thiết bị giả mạo trong nội bộ gây ra.
FAQ về DHCP Snooping Cisco
DHCP Snooping có bắt buộc phải bật trên mọi VLAN không?
Không. Bạn chỉ cần bật trên những VLAN có sử dụng DHCP và cần được bảo vệ. Tuy nhiên, trong môi trường doanh nghiệp, nên rà soát đầy đủ để tránh sót VLAN người dùng.
Cổng access có cần cấu hình untrusted không?
Không cần. Mặc định các cổng đều là untrusted. Bạn chỉ cần cấu hình trusted cho các cổng hợp lệ.
Có nên cấu hình ip dhcp snooping trust trên port người dùng không?
Không nên. Đây là lỗi cấu hình rất nguy hiểm vì có thể cho phép DHCP Server giả mạo hoạt động.
Vì sao đã bật DHCP Snooping nhưng máy trạm vẫn không nhận IP?
Nguyên nhân thường gặp là:
-
Chưa bật DHCP Snooping cho đúng VLAN
-
Chưa trust cổng uplink đúng
-
Bị lỗi Option 82
-
DHCP relay hoặc DHCP Server không chấp nhận gói tin đã chèn thông tin relay
DHCP Snooping có ảnh hưởng hiệu năng switch không?
Thông thường không đáng kể trên các dòng switch Cisco doanh nghiệp hỗ trợ tính năng này. Ngược lại, lợi ích về bảo mật thường lớn hơn rất nhiều so với phần tài nguyên xử lý bổ sung.
