Trong các hệ thống mạng doanh nghiệp vừa và nhỏ, việc tận dụng dòng switch Layer 3 của Juniper (như các dòng EX2200, EX2300, EX3300, EX3400 chạy hệ điều hành Junos OS) làm DHCP Server giúp tối ưu hóa phần cứng, giảm tải cho các thiết bị định tuyến trung tâm và đơn giản hóa mô hình mạng phân đoạn VLAN. Tại phòng Lab và trung tâm giải pháp CNTT của VietITPro.vn, chúng tôi thường xuyên cấu hình phương án này cho các văn phòng chi nhánh, nơi không đòi hỏi các dịch vụ IPAM phức tạp nhưng yêu cầu tính ổn định cao trực tiếp tại tầng phân phối (Distribution layer).
Bài viết này là cẩm nang kỹ thuật thực tế, đúc kết từ quá trình triển khai thực tế trên các dòng Switch Juniper EX-Series chạy Junos OS. Chúng ta sẽ đi sâu vào cách thiết lập, xử lý các tình huống phát sinh và các thông số tối ưu để hệ thống cấp phát địa chỉ IP hoạt động bền bỉ 24/7.
Kiến trúc và nguyên lý hoạt động của DHCP Server trên Junos OS
Khác với các hệ thống Cisco IOS hay các thiết bị mạng phổ thông tích hợp sẵn các gói phần mềm dịch vụ DHCP gọn nhẹ, Junos OS trên Switch Juniper quản lý DHCP Server thông qua tiến trình hệ thống jdhcpd. Tiến trình này chịu trách nhiệm xử lý toàn bộ các bản tin DHCP (Discover, Offer, Request, Acknowledge) trực tiếp trên mặt phẳng điều khiển (Control Plane) của switch.
Khi cấu hình Switch Juniper làm DHCP Server, switch sẽ đảm nhiệm các vai trò sau:
- Lắng nghe yêu cầu cấp IP từ các thiết bị client thuộc các VLAN khác nhau thông qua cơ chế DHCP Relay hoặc trực tiếp trên interface L3 (Routed VLAN Interface - RVI / IRB).
- Quản lý cơ sở dữ liệu cấp phát IP (Lease database) được lưu trữ trên bộ nhớ tạm của thiết bị.
- Cấp phát địa chỉ IP, subnet mask, gateway, DNS server và các tùy chọn cấu hình bổ sung theo dải IP được định nghĩa sẵn.
Ưu điểm và nhược điểm khi dùng Switch Juniper làm DHCP Server
Trước khi triển khai trên hệ thống thật, người kỹ sư cần cân nhắc kỹ các yếu tố kỹ thuật sau:
| Tiêu chí | Đánh giá thực tế |
|---|---|
| Ưu điểm | - Tận dụng tối đa phần cứng Layer 3 sẵn có, tiết kiệm chi phí mua thiết bị biên (Router/Firewall). - Tốc độ phản hồi bản tin nhanh do cùng nằm trên phân đoạn mạng nội bộ. - Dễ dàng quản lý và cấu hình tập trung cùng với VLAN và Routing. |
| Nhược điểm | - Không phù hợp với hệ thống quá lớn (trên vài nghìn host) vì Junos jdhcpd tiêu tốn tài nguyên CPU/RAM của Routing Engine.- Thiếu các tính năng nâng cao như quản lý IPAM trực quan, tích hợp Active Directory động như các Server chuyên dụng. - Khi switch khởi động lại (Reboot) hoặc chuyển đổi trạng thái HA (Virtual Chassis), cơ sở dữ liệu cấp phát có thể bị ảnh hưởng nếu không cấu hình lưu trữ log đúng cách. |
Chuẩn bị trước khi cấu hình Switch Juniper
Để quá trình cấu hình không gặp lỗi cú pháp (Syntax Error) hoặc lỗi xung đột tiến trình trên Junos OS, bạn cần đảm bảo các điều kiện tiên quyết sau:
1. Quyền truy cập: Tài khoản cấu hình có quyền superuser.
2. Xác định Interface L3 (IRB / Vlan interface): Switch phải có cấu hình định tuyến (Routing) và đã tạo sẵn các Interface định danh cho các VLAN cần cấp phát IP.
3. Phân hoạch dải IP (Pool): Xác định rõ Subnet, Gateway, Netmask và các địa chỉ IP cần loại trừ (IP Exclusion) dành cho các thiết bị tĩnh như Printer, Server, Access Point.
Các bước cấu hình chi tiết DHCP Server trên Switch Juniper (EX-Series)
Chúng ta sẽ thực hiện cấu hình một kịch bản thực tế: Cấp phát IP cho VLAN 20 (Phòng Kinh doanh) với dải mạng 192.168.20.0/24, Gateway là 192.168.20.1, cấp phát từ 192.168.20.50 đến 192.168.20.200, loại trừ các IP từ 192.168.20.1 đến 192.168.20.10 cho thiết bị mạng và máy chủ.
Bước 1: Khởi tạo Interface L3 (IRB) cho VLAN
Truy cập vào chế độ cấu hình của Junos:
Khai báo VLAN và gán địa chỉ IP cho Interface Routed VLAN (IRB):
Bước 2: Cấu hình hệ thống DHCP Server trên Junos OS
Trên các dòng Switch Juniper chạy Junos, hệ thống cấu hình DHCP nằm trong phân nhóm system services dhcp-local-server. Khai báo nhóm dịch vụ gắn liền với interface IRB của VLAN 20:
Bước 3: Thiết lập chi tiết Pool cấp phát IP
Định nghĩa dải mạng, subnet mask, router mặc định, thời gian thuê IP (lease time) và cấu hình DNS:
(Lưu ý: Option 51 tương ứng với Lease Time tính bằng giây. Giá trị 86400 nghĩa là thời gian thuê IP là 24 giờ).
Bước 4: Khai báo dải IP loại trừ (Excluded IP / Static allocation)
Để tránh xung đột IP với các thiết bị gán tĩnh, chúng ta loại trừ dải từ 192.168.20.1 đến 192.168.20.49:
Bước 5: Liên kết Pool với Local Server
Bước này cực kỳ quan trọng nhưng nhiều kỹ sư thường quên, dẫn đến việc DHCP server không biết lấy pool nào để cấp cho interface nào:
Kiểm tra lại toàn bộ cấu hình trước khi commit bằng lệnh:
Nếu cấu hình chính xác, tiến hành lưu cấu hình vào hệ thống:
Kiểm tra, giám sát và khắc phục sự cố (Troubleshooting) thực tế
Sau khi hoàn tất cấu hình, việc kiểm tra trạng thái hoạt động của DHCP Server là bước bắt buộc để đảm bảo các thiết bị client trong mạng có thể nhận IP thành công. Tại VietITPro.vn, chúng tôi thường sử dụng các lệnh kiểm tra chuyên sâu sau trên Junos CLI:
1. Kiểm tra trạng thái Binding (Các thiết bị đã nhận IP)
Để xem danh sách các thiết bị đang thuê IP từ switch Juniper, chạy lệnh:
Kết quả trả về sẽ hiển thị rõ địa chỉ MAC của thiết bị client, địa chỉ IP được cấp, thời gian thuê còn lại (Lease time) và Interface tương ứng.
2. Kiểm tra thông tin chi tiết của Address Pool
Nếu muốn kiểm tra số lượng IP đã cấp phát so với tổng số IP có trong pool, sử dụng lệnh:
Lệnh này giúp bạn phát hiện sớm tình trạng cạn kiệt IP (IP exhaustion) trong mạng nội bộ.
3. Theo dõi bản tin DHCP theo thời gian thực (Debugging)
Khi gặp trường hợp thiết bị client không nhận được IP (lệnh ipconfig /renew trên Windows báo lỗi No DHCP server found), bạn cần bật tính năng theo dõi gói tin của tiến trình jdhcpd:
Hoặc cấu hình traceoptions để bắt trực tiếp các gói tin:
Sau đó xem log chi tiết bằng lệnh:
Các lỗi phổ biến và kinh nghiệm xử lý từ chuyên gia
Trong quá trình triển khai thực tế trên các dòng Switch Juniper EX2200, EX3300, chúng tôi đã ghi nhận một số pan bệnh và tình huống cấu hình sai phổ biến sau đây:
1. Lỗi Client không nhận được IP dù đã cấu hình đúng mọi thông số:
- Nguyên nhân: Thiếu lệnh gán subnet của pool vào local server (Bước 5) hoặc quên cấu hình lệnh
forward-gopher/ DHCP Relay khi client nằm ở một VLAN khác không phải là VLAN trực tiếp chứa interface L3 của switch. - Khắc phục: Kiểm tra lại liên kết giữa
groupvàsubnet pooltrongsystem services dhcp-local-server.
2. Xung đột IP trong mạng (IP Conflict):
- Nguyên nhân: Quên khai báo dải
exclude-addresscho các thiết bị cố định (máy in, server, camera, switch core khác). - Khắc phục: Luôn lên sơ đồ IP chi tiết trước khi cấu hình và sử dụng lệnh
exclude-addressđể khóa các dải IP tĩnh.
3. Lỗi tràn bộ nhớ đệm / Tiến trình jdhcpd ngốn CPU cao:
- Nguyên nhân: Mạng có quá nhiều thiết bị kết nối dạng đóng mở liên tục (ví dụ hệ thống Wi-Fi công cộng khách vãng lai cấp lease time quá ngắn).
- Khắc phục: Tăng thời gian lease time lên mức từ 12 giờ đến 24 giờ (
86400giây trở lên) để giảm tần suất trao đổi bản tin DHCP trên Control Plane của switch.
Giải đáp câu hỏi thực tế (FAQ)
Switch Juniper có hỗ trợ cấu hình DHCP Relay khi tách biệt DHCP Server ngoài phần cứng không?
Trả lời: Có. Nếu hệ thống mạng lớn và bạn sử dụng một Windows Server hoặc Linux làm DHCP Server trung tâm, bạn chỉ cần cấu hình Switch Juniper làm DHCP Relay Agent trên interface IRB bằng câu lệnh:
Khi khởi động lại (Reboot) Switch Juniper, các thiết bị client có bị mất IP đang sử dụng không?
Trả lời: Không. Các thiết bị client vẫn giữ nguyên IP đang thuê cho đến khi hết thời gian lease time (trừ khi thiết bị đó tắt nguồn hoặc ngắt kết nối mạng). Tuy nhiên, cơ sở dữ liệu lease trên switch sẽ được nạp lại từ bộ nhớ cấu hình hoặc cấp phát mới dựa trên các yêu cầu tiếp theo của client. Do đó, việc cấu hình lease time hợp lý là chìa khóa để duy trì sự ổn định.
Làm thế nào để cấp một địa chỉ IP cố định (Reserved IP / Static DHCP) cho một thiết bị cụ thể dựa vào địa chỉ MAC trên Switch Juniper?
Trả lời: Junos OS cho phép gán IP tĩnh theo MAC thông qua cấu hình host trong phần address-assignment:
Lệnh này đảm bảo thiết bị có địa chỉ MAC aa:bb:cc:dd:ee:ff luôn nhận được chính xác IP 192.168.20.100 mỗi khi yêu cầu cấp phát từ switch.




