

Trong hệ thống mạng nội bộ, việc cấu hình IP thủ công cho từng máy vừa tốn thời gian vừa dễ sai sót. DHCP (Dynamic Host Configuration Protocol) ra đời để giải quyết vấn đề đó bằng cách tự động cấp phát cấu hình mạng cho các thiết bị client.
Bài viết này sẽ hướng dẫn bạn triển khai DHCP Server trên Ubuntu 24.04 và cấu hình DHCP Client trên CentOS Stream 9, kèm theo cách gán IP cố định theo địa chỉ MAC.
DHCP client tự động nhận:
Tất cả chính sách IP nằm ở DHCP server:
OS | IP | Vai trò |
| Ubuntu 24.04 | 192.168.186.10 | DHCP server |
| CentOS Stream 9 | DHCP client |
1.1 Cập nhật và cài đặt gói DHCP:
sudo apt update
sudo apt install isc-dhcp-server -y1.2 Kiểm tra sau khi cài đặt:
apt list --installed isc-dhcp-serverHoặc:
dpkg -l | grep isc-dhcp-serverKết quả nếu cài thành công:

Sửa file netplan:
sudo vim /etc/netplan/50-cloud-init.yamlSửa thành:
network:
version: 2
ethernets:
ens33:
addresses:
- 192.168.186.10/24
routes:
- to: 0.0.0.0/0
via: 192.168.186.1
nameservers:
addresses: [8.8.8.8, 1.1.1.1]
dhcp4: falseÁp dụng:
sudo netplan apply3.1 Sửa file cấu hình dhcp:
sudo vim /etc/dhcp/dhcpd.confThêm cấu hình sau:
default-lease-time 600;
max-lease-time 7200;
authoritative;
subnet 192.168.186.0 netmask 255.255.255.0 {
range 192.168.186.100 192.168.186.150;
option routers 192.168.186.1;
option subnet-mask 255.255.255.0;
option domain-name-servers 8.8.8.8, 1.1.1.1;
}
Cấp phát IP từ 192.168.186.100 đến 192.168.186.1503.2 Chỉ định interface để DHCP lắng nghe, sửa file:
sudo vim /etc/default/isc-dhcp-serverTìm dòng:
INTERFACESv4=""Sửa thành:
INTERFACESv4="ens33" # Hoặc interface kiểm tra được ở bước trên3.3 Khởi động DHCP server:
sudo systemctl restart isc-dhcp-server
sudo systemctl status isc-dhcp-serverKết quả DHCP đang chạy:

4.1 Sửa file cấu hình mạng:
sudo vim /etc/NetworkManager/system-connections/ens33.nmconnectionSửa thành:

4.2 Khởi động lại NetworkManager để áp dụng:
sudo systemctl restart NetworkManager4.3 Kiểm tra IP:
ip aKết quả:

ping 192.168.186.10 # IP máy Ubuntu DHCP Server
Kết nối thành công:

Sử dụng lệnh:
cat /var/lib/dhcp/dhcpd.leases
CentOS và Windows
Chạy lệnh sau để lấy địa chỉ MAC:
1.1 CentOS:
ip link show ens33Hoặc:
ip aKết quả:

1.2 Windows:
ipconfig /allTìm đến adapter mạng đang dùng (thường là Ethernet hoặc Wi-Fi) và ghi lại dòng:

2.1 Sửa file cấu hình
sudo vim /etc/dhcp/dhcpd.confTìm đến phần khai báo subnet, thêm một đoạn cấu hình dạng sau vào bên trong hoặc ngay sau subnet:
# Cho centos
host centos-client {
hardware ethernet 00:0c:29:d1:31:37;
fixed-address 192.168.186.111;
}
# Cho windows
host windows-client {
hardware ethernet d4:d2:52:34:ce:a7;
fixed-address 192.168.186.112;
}Ví dụ cấu hình đầy đủ subnet:

sudo systemctl restart isc-dhcp-server4.1 CentOS:
Giải phóng IP cũ
sudo dhclient -r ens33Yêu cầu cấp phát IP mới
sudo dhclient -v ens334.2 Windows
Giải phóng IP cũ
ipconfig /releaseYêu cầu cấp phát IP mới
ipconfig /renewcat /var/lib/dhcp/dhcpd.leasesDHCP không chỉ giúp tự động hóa việc cấp phát IP mà còn đóng vai trò quan trọng trong quản lý và vận hành hạ tầng mạng một cách tập trung, nhất quán. Việc triển khai DHCP Server trên Ubuntu kết hợp với các DHCP Client như CentOS hay Windows là nền tảng cơ bản nhưng bắt buộc đối với mọi hệ thống IT hiện đại.
Nắm vững DHCP sẽ giúp bạn dễ dàng mở rộng sang các bài toán lớn hơn trong Data Center, Cloud và Hybrid Network.
