Loading...

Cấu hình DHCP Snooping Cisco: hướng dẫn triển khai, kiểm tra và xử lý lỗi Option 82

DHCP Snooping là tính năng bảo mật Layer 2 quan trọng trên switch Cisco, giúp ngăn DHCP Server giả mạo cấp sai địa chỉ IP, gateway hoặc DNS cho người dùng. Khi cấu hình đúng, switch chỉ chấp nhận phản hồi DHCP từ 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ổng access thông thường.

Đây là cấu hình nên có trên switch access của doanh nghiệp, nhà máy, trường học, bệnh viện hoặc bất kỳ mạng nào có nhiều thiết bị đầu cuối. DHCP Snooping còn tạo ra binding table, nền tảng cho Dynamic ARP Inspection (DAI) và IP Source Guard.

⚡ Điểm nhanh về cấu hình DHCP Snooping

  • Mục đích: chặn Rogue DHCP Server, chống DHCP Starvation, tạo binding table MAC ↔ IP ↔ VLAN ↔ cổng.
  • Mặc định: khi bật DHCP Snooping, mọi cổng đều là untrusted; chỉ cổng uplink hoặc cổng tới DHCP Server mới cần ip dhcp snooping trust.
  • Lệnh cốt lõi: ip dhcp snooping, ip dhcp snooping vlan <ds-vlan>, ip dhcp snooping trust, ip dhcp snooping limit rate <pps>.
  • Phải khai báo VLAN: bật global mà không khai báo VLAN thì tính năng chưa có hiệu lực trên VLAN nào.
  • Thứ tự an toàn: đặt trusted cho uplink trước, sau đó mới bật Snooping, tránh mất DHCP toàn mạng.
  • Option 82: switch mặc định chèn Option 82 vào gói DHCP; đây là nguyên nhân phổ biến của lỗi không nhận IP trong mạng nhiều switch hoặc có DHCP relay.
  • Kiểm tra: show ip dhcp snooping, show ip dhcp snooping binding, show ip dhcp snooping statistics.

1. DHCP Snooping là gì?

DHCP Snooping là cơ chế kiểm soát lưu lượng DHCP trong mạng LAN. Switch phân biệt đâu là cổng tin cậy được phép nhận phản hồi từ DHCP Server, đâu là cổng không tin cậy dành cho người dùng cuối.

Trong mạng bình thường, khi máy tính gửi DHCP Discover, bất kỳ thiết bị nào chạy DHCP Server trong cùng broadcast domain đều có thể trả lời. Một DHCP Server giả mạo (hoặc router Wi-Fi cắm nhầm) có thể khiến người dùng:

  • 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 theo kiểu man-in-the-middle

DHCP Snooping trên switch Cisco: cổng Trusted cho DHCP Server hợp lệ, cổng Untrusted chặn DHCPOFFER giả từ Rogue DHCP Server

📚 Nếu muốn học khái niệm nền tảng theo lộ trình, xem Bài 71: DHCP Snooping — Khái niệm bảo mật cơ bản trong khóa học CCNA Online. Nếu chưa nắm cơ chế cấp IP, đọc trước bài DHCP là gì.

2. DHCP Snooping hoạt động như thế nào?

Khi bật DHCP Snooping, switch kiểm tra các gói DHCP đi qua và phân loại cổng:

Loại cổngThường làHành vi với DHCPOFFER, DHCPACK, DHCPNAK
Trusted Uplink lên distribution/core, cổng nối tới DHCP Server, trunk đi về tầng trên Cho phép đi qua
Untrusted (mặc định) Cổng access nối máy người dùng Chặn ngay; chỉ cho phép gói của client như DHCPDISCOVER, DHCPREQUEST

Ngoài việc lọc gói, switch ghi lại mọi client nhận IP hợp lệ vào DHCP Snooping binding table, gồm MAC address, IP address, VLAN, interface và lease time. Bảng này là dữ liệu tham chiếu cho DAI và IP Source Guard.

Switch cũng mặc định kiểm tra MAC nguồn trong Ethernet header có khớp với MAC client khai trong gói DHCP request hay không, nhằm chặn các gói giả mạo.

3. Vì sao nên triển khai DHCP Snooping?

Lợi íchGiải thích
Ngăn DHCP Server giả mạo Người dùng cắm nhầm router Wi-Fi, modem, AP có bật DHCP sẽ không thể cấp IP cho máy khác
Giảm nguy cơ man-in-the-middle Kẻ tấn công không thể cấp default gateway về thiết bị của mình
Chống DHCP Starvation Rate limit giới hạn số gói DHCP trên cổng untrusted
Nền tảng cho bảo mật khác DAI và IP Source Guard cần binding table từ DHCP Snooping
Tăng ổn định Chỉ một DHCP Server giả cũng có thể khiến hàng chục máy nhận sai IP

4. Mô hình triển khai điển hình

Mô hình triển khai DHCP Snooping điển hình: DHCP Server, Distribution/Core, Access Switch bật Snooping, uplink Trusted và cổng host Untrusted

Luồng DHCP:

  1. Host gửi DHCP Discover.
  2. Access Switch chuyển gói lên trusted port (uplink).
  3. DHCP Server gửi DHCPOFFER; gói này đi vào switch qua cổng trusted và được phép chuyển xuống host.
  4. Nếu một DHCP Server giả xuất hiện ở cổng access, gói DHCPOFFER của nó bị drop ngay tại cổng untrusted.

5. Cấu hình DHCP Snooping trên switch Cisco

Thứ tự khuyến nghị: đặt trusted trước, bật Snooping sau. Nếu bật Snooping cho VLAN khi chưa trust uplink, phản hồi của DHCP Server hợp lệ cũng bị chặn và client mất IP.

5.1. Đá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)# description Uplink-to-Distribution
SW1(config-if)# ip dhcp snooping trust
SW1(config-if)# exit

5.2. Giới hạn tốc độ gói DHCP trên cổng untrusted

SW1(config)# interface range FastEthernet0/1 - 24
SW1(config-if-range)# description User-Ports
SW1(config-if-range)# ip dhcp snooping limit rate 25
SW1(config-if-range)# exit

Lệnh này giới hạn số gói DHCP mỗi giây trên cổng, giảm nguy cơ DHCP Starvation và flood DHCP request. Nếu cổng vượt ngưỡng, nó chuyển sang trạng thái err-disabled. Giá trị phổ biến là từ vài chục đến 100 pps; Bài 71 dùng 100, bài này dùng 25 làm ví dụ. Với cổng có nhiều thiết bị phía sau (như AP hoặc IP Phone kèm PC), nên đặt cao hơn. Không đặt rate limit bừa trên uplink khi chưa đánh giá lưu lượng.

5.3. Bật DHCP Snooping toàn cục và cho từng VLAN

SW1(config)# ip dhcp snooping vlan 10,20
SW1(config)# ip dhcp snooping

DHCP Snooping chỉ hoạt động trên VLAN đã được khai báo. Nếu quên khai báo VLAN của client, tính năng không có hiệu lực trên VLAN đó.

5.4. Lưu binding table và tự khôi phục cổng err-disabled

SW1(config)# ip dhcp snooping database flash:dhcp-snooping.db
SW1(config)# errdisable recovery cause dhcp-rate-limit
SW1(config)# errdisable recovery interval 300
  • ip dhcp snooping database: lưu binding table ra bộ nhớ để không mất sau khi switch khởi động lại (đường dẫn và cú pháp có thể khác nhau tùy dòng switch và phiên bản IOS).
  • errdisable recovery: cổng bị khóa do vượt rate limit sẽ tự mở lại sau 300 giây, thay vì chờ quản trị viên gỡ thủ công.

5.5. Cấu hình hoàn chỉnh tham khảo

SW1(config)# interface GigabitEthernet0/1
SW1(config-if)# description Uplink-to-Distribution
SW1(config-if)# ip dhcp snooping trust
SW1(config-if)# exit
SW1(config)# interface range FastEthernet0/1 - 24
SW1(config-if-range)# description User-Ports
SW1(config-if-range)# ip dhcp snooping limit rate 25
SW1(config-if-range)# exit
SW1(config)# ip dhcp snooping vlan 10,20
SW1(config)# ip dhcp snooping
SW1(config)# ip dhcp snooping database flash:dhcp-snooping.db
SW1(config)# errdisable recovery cause dhcp-rate-limit
SW1(config)# errdisable recovery interval 300

Trong ví dụ này: VLAN 10 và 20 được bảo vệ, Gi0/1 là uplink (trusted), các cổng Fa0/1 đến Fa0/24 là untrusted mặc định và có rate limit.

6. Cách kiểm tra DHCP Snooping sau khi cấu hình

LệnhCho biết gì
show ip dhcp snooping Snooping đã bật chưa, áp dụng cho VLAN nào, trạng thái Option 82, cổng trusted, rate limit từng cổng
show ip dhcp snooping binding Danh sách client đã nhận IP: MAC, IP, lease, VLAN, interface
show ip dhcp snooping statistics Số gói bị drop và lý do
show ip dhcp snooping database Trạng thái lưu binding table ra bộ nhớ
show interfaces status err-disabled Cổng bị khóa do vượt rate limit

Ví dụ kết quả show ip dhcp snooping binding:

MacAddress          IpAddress       Lease(sec)  Type            VLAN  Interface
------------------  --------------  ----------  --------------  ----  --------------------
00:1A:2B:3C:4D:5E   192.168.10.101  86400       dhcp-snooping   10    GigabitEthernet0/2
Total number of bindings: 1

Nếu client đã nhận IP nhưng không xuất hiện trong bảng binding, hãy kiểm tra lại VLAN đã khai báo, cổng trusted và luồng DHCP end-to-end. Lưu ý switch chỉ ghi nhận client học qua cổng untrusted.

7. DHCP Option 82 là gì?

Khi DHCP Snooping bật, switch Cisco mặc định chèn Option 82 (Relay Agent Information) vào gói DHCP request trước khi chuyển lên DHCP Server. Option này cho server biết gói đến từ switch nào, cổng nào, thuộc mạch truy cập nào. Tính năng hữu ích trong mạng campus, ISP, Metro Ethernet cần xác định vị trí thuê bao.

8. Lỗi Option 82 thường gặp và cách xử lý

Option 82 là phần dễ gây lỗi nhất trong mô hình nhiều switch hoặc có DHCP relay. Một switch upstream có thể drop gói DHCP vì thấy Option 82 hoặc giaddr khác 0 trên cổng untrusted, và ghi log:

%DHCP_SNOOPING-5-DHCP_SNOOPING_NONZERO_GIADDR: DHCP_SNOOPING drop message with non-zero giaddr or option82 value on untrusted port

Lỗi DHCP Snooping Option 82 trong mạng nhiều switch: SW2 drop gói từ SW1 vì cổng Untrusted, và cách xử lý bằng ip dhcp snooping trust

Khi đó client có thể không nhận được IP dù cấu hình cơ bản trông đúng. Tùy mô hình, chọn một trong các hướng sau:

Hướng xử lýLệnhKhi nào dùng
Đặt cổng nối giữa 2 switch là trusted ip dhcp snooping trust trên cổng nhận gói từ switch downstream Cách gọn nhất cho mô hình nhiều switch nối tiếp
Cho phép Option 82 trên cổng untrusted ip dhcp snooping information option allow-untrusted (trên switch upstream) Switch downstream đã chèn Option 82 và cổng không thể đặt trusted
Cho relay/DHCP Server Cisco IOS chấp nhận Option 82 ip dhcp relay information trust-all DHCP Server chạy trên router/switch Layer 3 Cisco IOS và từ chối gói có Option 82
Tắt chèn Option 82 no ip dhcp snooping information option Hệ thống không dùng Option 82, chỉ cần chặn DHCP giả

Trước khi tắt Option 82, nên hiểu rõ mô hình đang triển khai để không ảnh hưởng cơ chế quản lý hoặc cấp IP ở tầng trên.

9. Lỗi triển khai thường gặp

Triệu chứngNguyên nhân thường gặpCách xử lý
Bật xong, toàn bộ client mất IP Chưa trust cổng uplink hoặc cổng tới DHCP Server Thêm ip dhcp snooping trust đúng cổng
Snooping không có tác dụng Chưa khai báo VLAN bằng ip dhcp snooping vlan Khai báo đúng danh sách VLAN client
Client không nhận IP trong mạng nhiều switch Lỗi Option 82 Xem mục 8
Cổng người dùng tự tắt (err-disabled) Vượt rate limit DHCP Nâng ngưỡng cho cổng đông thiết bị, dùng errdisable recovery
Binding table trống sau khi switch khởi động lại Chưa lưu database Cấu hình ip dhcp snooping database
Máy IP tĩnh bị DAI chặn IP tĩnh không có trong binding table Dùng ARP ACL cho máy IP tĩnh, xem Bài 79

10. Lưu ý quan trọng khi triển khai thực tế

  • Chỉ trust đúng cổng cần thiết: uplink hợp lệ, cổng tới DHCP Server, trunk về tầng trên. Không bao giờ trust cổng người dùng; chỉ một cổng trust sai là Rogue DHCP Server vẫn hoạt động được.
  • Khai báo đủ VLAN: rà soát kỹ để không sót VLAN người dùng, VLAN thoại, VLAN Wi-Fi.
  • Áp dụng rate limit trên cổng access, không áp dụng đại trà trên uplink.
  • Kiểm tra từng chặng trong mô hình nhiều switch hoặc có DHCP relay, đặc biệt Option 82.
  • Chuẩn bị sẵn kế hoạch cho máy IP tĩnh nếu sau này triển khai DAI hoặc IP Source Guard.

11. DHCP Snooping kết hợp với các tính năng bảo mật khác

Tính năngChống được gìDựa vào DHCP Snooping khôngTài liệu
DHCP Snooping Rogue DHCP Server, DHCP Starvation Là nền tảng Bài này, Bài 71
Dynamic ARP Inspection ARP Spoofing, man-in-the-middle tầng 2 Có, dùng binding table Bài 79
IP Source Guard Giả mạo IP nguồn Có, dùng binding table Xem thêm sau Bài 79
Port Security MAC Flooding, giới hạn số MAC/cổng Không Bài 78
802.1X Kiểm soát ai được phép vào mạng Không Môi trường cần kiểm soát truy cập chặt

12. Khi nào nên bật DHCP Snooping?

Nên bật trong hầu hết các trường hợp: mạng doanh nghiệp nhiều người dùng, campus, trường học, bệnh viện, nhà máy, mạng nhiều switch access, hoặc môi trường đã từng gặp sự cố do DHCP Server giả hay thiết bị người dùng phát DHCP trái phép. Nói gọn, nếu switch cấp kết nối cho nhiều thiết bị đầu cuối, DHCP Snooping gần như luôn đáng bật.

13. Kết luận

DHCP Snooping giúp switch Cisco chặn DHCP Server giả mạo, bảo vệ người dùng khỏi cấp sai IP, gateway, DNS và tạo binding table cho các cơ chế bảo mật nâng cao. Để chạy ổn định, cần chú ý ba điểm: trust đúng cổng uplink hoặc cổng tới DHCP Server, khai báo đúng VLAN, và xử lý Option 82 khi có nhiều switch hoặc DHCP relay.


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. Chỉ cần bật trên VLAN có dùng DHCP và cần bảo vệ. Tuy nhiên trong doanh nghiệp nên rà soát đầy đủ để không sót VLAN người dùng.

Cổng access có cần cấu hình untrusted không?

Không cần. Khi bật DHCP Snooping, mọi cổng mặc định là untrusted; bạn chỉ 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 cổng người dùng không?

Không. Đây là lỗi nguy hiểm vì cho phép thiết bị ở cổng đó đóng vai DHCP Server giả mạo.

Vì sao đã bật DHCP Snooping nhưng máy trạm vẫn không nhận IP?

Các nguyên nhân thường gặp: chưa bật Snooping cho đúng VLAN, chưa trust cổng uplink, lỗi Option 82, hoặc DHCP relay/DHCP Server không chấp nhận gói đã chèn thông tin relay.

Binding table có mất khi switch khởi động lại không?

Có, nếu không lưu database. Dùng ip dhcp snooping database để lưu binding table ra bộ nhớ, đặc biệt khi dùng thêm DAI hoặc IP Source Guard.

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; lợi ích bảo mật lớn hơn nhiều so với tài nguyên xử lý bổ sung.

Thông tin liên quan