Trong các hệ thống mạng doanh nghiệp quy mô vừa và lớn, việc duy trì một DHCP Server tập trung cho nhiều VLAN hoặc nhiều phân đoạn mạng (Subnet) khác nhau là yêu cầu bắt buộc để tối ưu hóa quản lý tài nguyên IP. Bài viết này sẽ đi sâu vào kỹ thuật cấu hình DHCP Relay trên Router MikroTik – một tính năng "sống còn" khi bạn muốn đẩy các yêu cầu xin cấp phát IP (DHCP Discover) từ các dải mạng khác nhau về một máy chủ DHCP duy nhất.
Tại sao cần sử dụng DHCP Relay thay vì DHCP Server cục bộ?
Thông thường, gói tin DHCP Discover là gói tin quảng bá (Broadcast). Theo nguyên tắc mạng, gói tin Broadcast bị chặn bởi Router (không thể đi qua các Interface hoặc VLAN khác). Nếu bạn có 5 VLAN khác nhau, thông thường bạn phải dựng 5 DHCP Server trên MikroTik.
Tuy nhiên, với DHCP Relay, bạn chỉ cần một DHCP Server duy nhất (có thể nằm trên chính MikroTik hoặc một Windows Server/Linux Server khác). DHCP Relay đóng vai trò như một "người chuyển phát", nhận gói tin Broadcast từ client, đóng gói nó thành gói tin Unicast và gửi trực tiếp đến địa chỉ IP của DHCP Server đích.
Mô hình triển khai thực tế
Giả sử chúng ta có cấu hình như sau:
- Router MikroTik (DHCP Relay): Đóng vai trò là Gateway của các VLAN, nơi thực hiện cấu hình DHCP Relay.
- DHCP Server (Đích): Địa chỉ IP là
192.168.100.100. - VLAN 20 (Client): Cần nhận IP từ DHCP Server, Interface
vlan20, dải mạng192.168.20.0/24.
Các bước cấu hình DHCP Relay trên MikroTik (Winbox & CLI)
Bước 1: Kiểm tra kết nối đến DHCP Server
Trước khi cấu hình Relay, hãy đảm bảo Router MikroTik có thể ping tới địa chỉ IP của DHCP Server. Đây là lỗi phổ biến nhất khiến cấu hình thất bại.
Nếu không ping được, hãy kiểm tra lại cấu hình Route hoặc Firewall Rule trên cả hai thiết bị.
Bước 2: Thiết lập DHCP Relay trên Router MikroTik
Trên MikroTik, DHCP Relay được quản lý thông qua menu /ip dhcp-relay.
Cấu hình bằng lệnh (CLI):
Giải thích thông số:
name: Tên định danh cho tiến trình relay.interface: Interface nơi khách hàng (client) đang kết nối (ở đây là vlan20).dhcp-server: IP của máy chủ DHCP thật sự.local-address: Địa chỉ IP của Gateway trên vlan20 (để DHCP Server biết dải mạng nào đang yêu cầu IP).
Bước 3: Cấu hình trên DHCP Server đích
Đây là bước thường bị bỏ sót. Khi DHCP Server nhận được yêu cầu từ Relay, nó cần biết dải mạng nào tương ứng với địa chỉ local-address mà Relay gửi sang.
Nếu bạn dùng Windows Server làm DHCP Server, bạn cần tạo "Scope" cho dải mạng 192.168.20.0/24. Nếu DHCP Server cũng là một Router MikroTik khác, bạn cần tạo DHCP Pool tương ứng cho dải mạng đó.
Phân tích ưu nhược điểm và rủi ro kỹ thuật
Kinh nghiệm xương máu từ VietITPro:
- Vấn đề Firewall: Trên Router MikroTik đóng vai trò Relay, hãy đảm bảo không có Rule nào trong
/ip firewall filterchặn cổng UDP 67 và 68 giữa các Interface và Server. - Vấn đề MTU: Trong các hệ thống mạng chạy qua đường truyền VPN hoặc Tunnel, gói tin DHCP có thể bị phân mảnh. Nếu client không nhận được IP, hãy kiểm tra lại giá trị MTU trên các đường truyền trung gian.
- Vấn đề Loop: Tuyệt đối không cấu hình DHCP Relay trên một Interface đã được cấu hình DHCP Server cục bộ. Điều này gây ra xung đột địa chỉ IP nghiêm trọng.
Xử lý sự cố (Troubleshooting) khi DHCP Relay không hoạt động
Nếu sau khi cấu hình, client vẫn không nhận được IP (nhận IP 169.254.x.x), hãy thực hiện các bước chẩn đoán sau:
1. Kiểm tra trạng thái gói tin bằng Packet Sniffer
Sử dụng công cụ Sniffer tích hợp sẵn của MikroTik để xem gói tin có thực sự được chuyển tiếp đi hay không.
Nếu bạn thấy gói tin DHCP Discover đến nhưng không thấy gói DHCP Offer quay lại, vấn đề nằm ở đường truyền hoặc cấu hình của DHCP Server đích.
2. Kiểm tra log hệ thống
Theo dõi log để xem có thông báo lỗi từ dịch vụ DHCP relay.
3. Kiểm tra lại địa chỉ Local-address
Đảm bảo local-address trong cấu hình DHCP Relay phải nằm trong cùng dải mạng với Interface được chọn. Nếu sai địa chỉ này, DHCP Server sẽ từ chối cấp IP vì không khớp với Scope đã khai báo.
Câu hỏi thực tế (FAQ) từ cộng đồng kỹ thuật
Câu hỏi 1: Tôi có thể cấu hình nhiều DHCP Server cho một DHCP Relay để dự phòng (Failover) không?
Trả lời: Có, bạn có thể liệt kê nhiều IP trong cấu hình dhcp-server cách nhau bằng dấu phẩy. Tuy nhiên, tính năng này phụ thuộc vào cách DHCP Server đích xử lý yêu cầu. Thông thường, phương án dùng Cluster hoặc Failover trên Windows Server sẽ ổn định hơn.
Câu hỏi 2: DHCP Relay có làm chậm tốc độ mạng không?
Trả lời: Không. DHCP Relay chỉ can thiệp vào quá trình đàm phán IP (diễn ra trong vài mili giây). Sau khi thiết bị đã có IP, gói tin dữ liệu sẽ chạy trực tiếp qua các bảng Routing, không đi qua tiến trình Relay nữa nên không ảnh hưởng tới băng thông thực tế.
Câu hỏi 3: Có nên dùng DHCP Relay qua internet (Site-to-Site VPN) không?
Trả lời: Về mặt kỹ thuật là có thể, nhưng không khuyến khích. Việc xin cấp phát IP qua đường truyền internet công cộng tiềm ẩn rủi ro về độ trễ và mất gói tin, khiến thời gian kết nối mạng của client bị treo lâu. Chỉ nên dùng trong mạng nội bộ hoặc đường truyền leased-line ổn định.
Tổng kết
Việc nắm vững DHCP Relay là kỹ năng nền tảng để xây dựng hệ thống mạng chuyên nghiệp. Tại VietITPro, chúng tôi thường xuyên gặp các trường hợp cấu hình sai địa chỉ local-address dẫn đến hệ thống mạng "tê liệt" cục bộ. Hãy luôn kiểm tra kỹ sơ đồ định tuyến trước khi áp đặt cấu hình lên thiết bị mạng lõi (Core Router).
Hy vọng bài hướng dẫn này giúp các kỹ thuật viên tại Việt Nam có cái nhìn thực tế và áp dụng thành công vào hệ thống của mình. Nếu có bất kỳ sự cố phần cứng hoặc cấu hình chuyên sâu nào, đừng ngần ngại liên hệ với đội ngũ kỹ thuật tại VietITPro.vn để được hỗ trợ trực tiếp.


