Danh mục sản phẩm
DHCP là gì? Cách hoạt động, cơ chế DORA và cấu hình trên Cisco
Mỗi khi laptop kết nối Wi-Fi hoặc một chiếc IP Phone được cắm vào switch, thiết bị đều tự nhận được địa chỉ IP mà không ai phải gõ tay. Phía sau là DHCP (Dynamic Host Configuration Protocol), giao thức nền tảng của hầu hết mạng LAN doanh nghiệp, trường học, nhà máy và Wi-Fi công cộng. Bài viết này giải thích DHCP hoạt động ra sao, khi nào cần DHCP Relay, cách cấu hình cơ bản trên Cisco và những rủi ro bảo mật cần chặn.
⚡ Điểm nhanh về DHCP
- DHCP là gì: giao thức tự động cấp IP và thông số mạng cho thiết bị đầu cuối, thay cho cấu hình tay.
- Thông tin được cấp: địa chỉ IP, subnet mask, default gateway, DNS server, lease time và các tùy chọn bổ sung (Option).
- Cổng giao tiếp: UDP 67 (server/relay) và UDP 68 (client).
- Cơ chế cấp phát: 4 bước DORA — Discover, Offer, Request, Acknowledge.
- Lease: IP được cấp có thời hạn; client bắt đầu gia hạn ở 50% thời gian lease (T1) và gia hạn broadcast ở 87,5% (T2). Trên Cisco IOS, lease mặc định là 1 ngày.
- Khác VLAN với server: cần DHCP Relay, trên Cisco là lệnh
ip helper-address. - Bảo mật: bật DHCP Snooping để chặn DHCP Server giả mạo.
1. DHCP là gì?
DHCP (Dynamic Host Configuration Protocol) là giao thức tầng ứng dụng, chạy trên UDP, dùng để cấp phát tự động địa chỉ IP và các thông số mạng cho thiết bị khi chúng tham gia mạng.
Nhờ DHCP, quản trị viên không phải cấu hình IP thủ công trên từng máy. Việc đổi gateway, đổi DNS hay mở rộng dải địa chỉ chỉ cần làm một lần ở DHCP Server, toàn bộ client sẽ nhận cấu hình mới khi gia hạn lease.
2. DHCP cấp những thông tin gì?
Ngoài địa chỉ IP, DHCP Server có thể gửi kèm nhiều tùy chọn (Option) cho client:
| Thông tin | DHCP Option | Ý nghĩa |
|---|---|---|
| Địa chỉ IP | (trường yiaddr) |
Địa chỉ client được phép dùng |
| Subnet mask | Option 1 | Xác định độ lớn của mạng |
| Default gateway | Option 3 | Cửa ra mạng khác, Internet |
| DNS server | Option 6 | Máy chủ phân giải tên miền |
| Domain name | Option 15 | Hậu tố tên miền nội bộ |
| Lease time | Option 51 | Thời gian client được giữ IP |
| TFTP server | Option 66 / 150 | Thường dùng để IP Phone tải file cấu hình |
| Relay Agent Information | Option 82 | Thông tin switch/cổng do relay hoặc DHCP Snooping chèn vào |
3. Các thành phần trong hệ thống DHCP
- DHCP Server: thiết bị hoặc máy chủ giữ các pool địa chỉ và cấp phát cho client. Có thể là Windows Server, Linux, router hoặc switch Layer 3 Cisco, firewall.
- DHCP Client: thiết bị xin IP, như PC, laptop, điện thoại, IP Phone, camera, máy in.
- DHCP Relay Agent: thiết bị Layer 3 chuyển tiếp yêu cầu DHCP của client sang server nằm ở subnet khác. Trên Cisco, chức năng này được bật bằng
ip helper-address.
Mô hình triển khai phổ biến trong mạng doanh nghiệp: DHCP Server đặt ở Server Farm, SVI trên Core/Distribution làm DHCP Relay cho các VLAN người dùng.
Trong ví dụ này, VLAN 10 là VLAN người dùng, DHCP Server nằm ở subnet khác, còn Core/Distribution đóng vai trò DHCP Relay.
4. DHCP hoạt động như thế nào? Cơ chế DORA
Khi một client chưa có IP, nó trao đổi với DHCP Server qua 4 bước, gọi tắt là DORA:
| Bước | Gói tin | Hướng | Cách gửi | Nội dung |
|---|---|---|---|---|
| 1 | Discover | Client → Server | Broadcast | Client tìm DHCP Server vì chưa có IP |
| 2 | Offer | Server → Client | Unicast hoặc Broadcast | Server đề nghị một IP và các thông số kèm theo |
| 3 | Request | Client → Server | Broadcast | Client chọn một Offer và yêu cầu dùng IP đó |
| 4 | Acknowledge | Server → Client | Unicast hoặc Broadcast | Server xác nhận, client chính thức dùng IP |
Điểm dễ nhầm:
- Discover gửi broadcast vì client chưa có IP và chưa biết DHCP Server nào đang tồn tại trong mạng.
- Request cũng gửi broadcast, dù client đã biết địa chỉ server qua gói Offer (Option 54, Server Identifier). Lý do chính là để mọi DHCP Server trong mạng biết client đã chọn Offer của server nào; các server không được chọn sẽ thu hồi địa chỉ đã giữ tạm. Ngoài ra, ở bước này client vẫn chưa được cấu hình IP (địa chỉ nguồn là 0.0.0.0).
- Khi gia hạn lease ở mốc T1, client đã có IP nên gửi Request dạng unicast tới đúng server đã cấp.
📚 Muốn xem chi tiết từng bước kèm sơ đồ trình tự và lab cấu hình, học tại Bài 39: DHCP — Cơ chế DORA, cấu hình DHCP Server/Relay trong khóa học CCNA Online.
5. DHCP lease là gì và gia hạn thế nào?
DHCP không cấp IP vĩnh viễn mà cho thuê (lease) trong một khoảng thời gian. Khi lease gần hết, client tự gia hạn:
| Mốc thời gian | Việc client làm |
|---|---|
| T1 = 50% lease | Gửi DHCPREQUEST unicast đến đúng server đã cấp IP để gia hạn |
| T2 = 87,5% lease | Nếu T1 thất bại, gửi DHCPREQUEST broadcast tới bất kỳ server nào |
| Hết lease | Client ngừng dùng IP và bắt đầu lại từ bước Discover |
Lease ngắn (vài giờ) phù hợp mạng Wi-Fi khách, nơi thiết bị ra vào liên tục. Lease dài (vài ngày) phù hợp mạng văn phòng ổn định, giảm lưu lượng gia hạn.
Ngoài 4 gói DORA, DHCP còn các gói tin khác:
| Gói tin | Ai gửi | Khi nào |
|---|---|---|
| DHCPNAK | Server | Từ chối yêu cầu, ví dụ client mang IP cũ sang subnet mới |
| DHCPDECLINE | Client | Phát hiện IP được cấp đã bị máy khác dùng (xung đột) |
| DHCPRELEASE | Client | Chủ động trả lại IP trước khi hết lease |
| DHCPINFORM | Client | Đã có IP tĩnh nhưng cần lấy thêm thông số như DNS |
6. DHCP Relay: khi server không cùng VLAN với client
Gói Discover là broadcast nên router và switch Layer 3 không chuyển nó sang subnet khác. Giải pháp là DHCP Relay: thiết bị Layer 3 gần client nhất nhận broadcast rồi chuyển thành unicast gửi đến DHCP Server.
Switch(config)# interface vlan 10 Switch(config-if)# ip address 10.10.10.1 255.255.255.0 Switch(config-if)# ip helper-address 10.10.100.10
Lệnh ip helper-address phải đặt trên interface/SVI hướng về client, trỏ tới IP thật của DHCP Server. DHCP Relay không phải một giao thức riêng, chỉ là chức năng chuyển tiếp thêm vào đường đi của gói DHCP.
7. Cấu hình DHCP Server cơ bản trên Cisco IOS
Router(config)# ip dhcp excluded-address 192.168.10.1 192.168.10.20 Router(config)# ip dhcp pool VLAN10-USERS Router(dhcp-config)# network 192.168.10.0 255.255.255.0 Router(dhcp-config)# default-router 192.168.10.1 Router(dhcp-config)# dns-server 8.8.8.8 1.1.1.1 Router(dhcp-config)# lease 1
ip dhcp excluded-address: loại một dải khỏi việc cấp tự động, dành cho thiết bị cần IP tĩnh như gateway, switch, server.ip dhcp pool: tạo pool địa chỉ.network,default-router,dns-server: khai báo mạng, gateway và DNS cấp cho client.lease 1: thời gian lease tính theo ngày.
Các lệnh kiểm tra thường dùng:
| Lệnh | Tác dụng |
|---|---|
show ip dhcp binding |
Xem IP nào đang cấp cho MAC nào, thời điểm hết hạn |
show ip dhcp pool |
Xem mức sử dụng pool, số địa chỉ đã cấp |
show ip dhcp conflict |
Xem các IP bị phát hiện xung đột |
show ip dhcp server statistics |
Thống kê số gói Discover, Offer, Request, Ack, Nak |
Nếu pool hết địa chỉ, client mới sẽ không nhận được IP. Cách xử lý xem tại bài DHCP server pool exhausted/empty error trên router switch Cisco.
8. So sánh DHCP động, DHCP reservation và IP tĩnh
| Tiêu chí | DHCP động | DHCP reservation | IP tĩnh |
|---|---|---|---|
| Cách cấp IP | Lấy ngẫu nhiên từ pool | Server luôn cấp cùng một IP cho một MAC | Gõ tay trên thiết bị |
| IP có đổi không | Có thể đổi sau khi hết lease | Không đổi | Không đổi |
| Quản trị | Tập trung, ít công sức | Tập trung | Rải rác trên từng máy |
| Rủi ro | Phụ thuộc DHCP Server | Phụ thuộc DHCP Server | Dễ nhập sai, trùng IP |
| Phù hợp với | PC, laptop, điện thoại, Wi-Fi, camera | Máy in, camera cố định, AP | Gateway, firewall, switch quản trị, server quan trọng |
Reservation cho phép quản lý IP tập trung mà thiết bị vẫn có địa chỉ cố định, nên thường là lựa chọn gọn hơn so với gõ IP tĩnh trên từng thiết bị.
9. Ưu điểm và nhược điểm của DHCP
| Ưu điểm | Nhược điểm |
|---|---|
| Tự động hóa cấp IP, giảm thời gian cấu hình | Phụ thuộc vào DHCP Server; server lỗi và không có dự phòng thì thiết bị mới không có IP |
| Giảm lỗi nhập sai IP, mask, gateway, DNS | Cần thêm biện pháp bảo mật, nếu không dễ gặp Rogue DHCP Server |
| Hạn chế trùng IP nhờ quản lý theo pool | Không phù hợp cho thiết bị hạ tầng quan trọng nếu không dùng reservation |
| Đổi cấu hình tập trung, dễ mở rộng | Pool cạn thì client mới không vào được mạng |
10. Rủi ro bảo mật của DHCP và cách phòng tránh
DHCP dựa trên broadcast và mặc định client tin bất kỳ server nào trả lời trước. Điều này tạo ra hai kiểu tấn công phổ biến:
- Rogue DHCP Server: thiết bị giả mạo (hoặc router Wi-Fi cắm nhầm vào mạng) cấp sai gateway và DNS, mở đường cho tấn công man-in-the-middle.
- DHCP Starvation: kẻ tấn công gửi hàng loạt Discover với MAC giả để vét cạn pool, khiến client hợp lệ không còn IP.
Các lớp phòng thủ trên switch access:
| Biện pháp | Chống được gì | Tài liệu |
|---|---|---|
| DHCP Snooping | Rogue DHCP Server, DHCP Starvation, tạo Binding Table | Cấu hình DHCP Snooping Cisco, Bài 71 |
| Dynamic ARP Inspection | ARP Spoofing dựa trên Binding Table | Bài 79 |
| Port Security | Giới hạn số MAC trên mỗi cổng | Bài 78 |
11. Lỗi DHCP thường gặp và cách kiểm tra
| Triệu chứng | Nguyên nhân thường gặp | Cách kiểm tra |
|---|---|---|
| Client có IP dạng 169.254.x.x (APIPA) | Không liên lạc được DHCP Server | Kiểm tra VLAN, đường tới server, ip helper-address |
| Client VLAN khác không nhận IP | Thiếu hoặc sai ip helper-address trên SVI |
show running-config interface vlan X |
| Không còn IP để cấp | Pool cạn hoặc lease quá dài | show ip dhcp pool, rút ngắn lease, mở rộng pool |
| Hai máy trùng IP | Có máy đặt IP tĩnh nằm trong pool | show ip dhcp conflict, dùng excluded-address |
| Client nhận sai gateway hoặc DNS | Có Rogue DHCP Server trong mạng | Bật DHCP Snooping, xem show ip dhcp snooping binding |
| Bật DHCP Snooping xong mất IP toàn mạng | Chưa đặt cổng uplink hoặc cổng tới server là trusted | show ip dhcp snooping |
12. Khi nào nên dùng DHCP?
Dùng DHCP cho hầu hết thiết bị đầu cuối: máy trạm, laptop, điện thoại, IP Phone, camera, thiết bị Wi-Fi. Với thiết bị hạ tầng (gateway, firewall, switch quản trị) và server quan trọng, nên dùng IP tĩnh hoặc DHCP reservation để địa chỉ luôn cố định.
13. Kết luận
DHCP là giao thức nền tảng giúp cấp IP và thông số mạng tự động, giảm lỗi cấu hình và dễ mở rộng. Để vận hành ổn định, cần chú ý ba điểm: thiết kế pool và lease phù hợp, dùng DHCP Relay khi server khác subnet, và bảo vệ DHCP bằng DHCP Snooping trên switch access.
FAQ về DHCP
DHCP dùng cổng nào?
DHCP Server (và relay) lắng nghe ở UDP 67, client dùng UDP 68.
Tại sao Discover và Request đều là broadcast?
Vì client chưa có địa chỉ IP hợp lệ nên không thể gửi unicast. Request dạng broadcast còn giúp các DHCP Server khác biết client đã chọn Offer của server nào.
DHCP Server ở VLAN khác thì client có nhận được IP không?
Có, nếu bật DHCP Relay (ip helper-address) trên interface/SVI hướng về client. Không có relay, gói Discover broadcast sẽ không vượt qua được router hay switch Layer 3.
Lease nên đặt bao lâu?
Mạng văn phòng ổn định có thể dùng lease vài ngày. Mạng Wi-Fi khách, quán cà phê, sự kiện nên đặt vài giờ để IP được thu hồi nhanh, tránh cạn pool.
IP 169.254.x.x nghĩa là gì?
Đó là địa chỉ APIPA mà hệ điều hành tự gán khi không nhận được phản hồi từ DHCP Server. Hãy kiểm tra kết nối tới server, VLAN và cấu hình relay.
DHCP có an toàn không?
Bản thân giao thức không có xác thực, nên cần DHCP Snooping để chặn server giả mạo, kết hợp Dynamic ARP Inspection và Port Security cho phòng thủ nhiều lớp.
Thông tin liên quan
- Bài 39: DHCP — Cơ chế DORA, cấu hình DHCP Server/Relay (bài học CCNA)
- Cấu hình DHCP Snooping Cisco: hướng dẫn triển khai, kiểm tra và xử lý lỗi Option 82
- Bài 71: DHCP Snooping — Khái niệm bảo mật cơ bản (bài học CCNA)
- Bài 79: DHCP Snooping & Dynamic ARP Inspection (bài học CCNA)
- DHCP server pool exhausted/empty error trên router switch Cisco
- Khóa học CCNA Online
