Thứ Tư, 25/02/2026, 17:00 (GMT+0)

Hướng dẫn cấu hình DHCP server, DHCP client thành công

Quay lại Trang chủ Blog
Trên trang này

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.

Mục tiêu triển khai hệ thống DHCP

Tự động cấp phát cấu hình mạng

DHCP client tự động nhận:

  • IP address.
  • Subnet mask.
  • Default gateway.
  • DNS server.
  • Thời gian thuê IP (lease time).

Quản lý tập trung

Tất cả chính sách IP nằm ở DHCP server:

  • Dải IP được cấp.
  • IP nào cố định (reservation).
  • DNS, gateway dùng chung.

Kiến trúc mô hình triển khai

OS

IP

Vai trò

Ubuntu 24.04192.168.186.10DHCP server
CentOS Stream 9 DHCP client

Quy trình triển khai

Bước 1: Cài đặt DHCP server trên Ubuntu

1.1 Cập nhật và cài đặt gói DHCP:

sudo apt update
sudo apt install isc-dhcp-server -y

1.2 Kiểm tra sau khi cài đặt:

apt list --installed isc-dhcp-server

Hoặc:

dpkg -l | grep isc-dhcp-server

Kết quả nếu cài thành công:

Bước 2: Đặt IP tĩnh cho ubuntu

Sửa file netplan:

sudo vim /etc/netplan/50-cloud-init.yaml

Sử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 apply

Bước 3: Cấu hình DHCP server trên ubuntu

3.1 Sửa file cấu hình dhcp:

sudo vim /etc/dhcp/dhcpd.conf

Thê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.150

3.2 Chỉ định interface để DHCP lắng nghe, sửa file:

sudo vim /etc/default/isc-dhcp-server

Tìm dòng:

INTERFACESv4=""

Sửa thành:

INTERFACESv4="ens33"  # Hoặc interface kiểm tra được ở bước trên

3.3 Khởi động DHCP server:

sudo systemctl restart isc-dhcp-server

sudo systemctl status isc-dhcp-server

Kết quả DHCP đang chạy:

Bước 4: Cấu hình CentOS (client) nhận IP từ DHCP server

4.1 Sửa file cấu hình mạng:

sudo vim /etc/NetworkManager/system-connections/ens33.nmconnection

Sửa thành:

4.2 Khởi động lại NetworkManager để áp dụng:

sudo systemctl restart NetworkManager

4.3 Kiểm tra IP:

ip a

Kết quả:

  • 192.168.186.100 nằm trong dải địa chỉ mạng DHCP server cấp phát.

Bước 5: Kiểm tra kết nối với DHCP server

ping 192.168.186.10    # IP máy Ubuntu DHCP Server

Kết nối thành công:

Bước 6: Kiểm tra cấp phát trên DHCP server (ubuntu)

Sử dụng lệnh:

cat /var/lib/dhcp/dhcpd.leases
  • IP 192.168.186.100 đã được cấp phát.
  • start: Thời điểm bắt đầu lease – nghĩa là thời điểm client nhận được IP.
  • ends: Thời điểm kết thúc lease – sau đó client cần gia hạn (renew) hoặc lấy IP mới.
  • cltt (Client Last Transaction Time): Thời điểm cuối cùng client thực hiện giao dịch với DHCP server (giống starts nếu là lần đầu). 
  • binding state active: Trạng thái binding hiện tại là active → IP này đang được sử dụng.
  • next binding state free: Khi lease hết hạn, trạng thái tiếp theo sẽ là free → IP này sẽ sẵn sàng để cấp phát lại.
  • rewind binding state free: Khi thực hiện "rewind" (quay lui cấu hình trước khi server restart), IP này cũng sẽ trở lại trạng thái free.
  • 00:0c:29:d1:31:37: Địa chỉ MAC address của client được cấp phát IP.
  • uid"\001\000\014)\32117": UID của client (Unique Identifier), thường được DHCP client tạo ra để phân biệt trong các môi trường không có MAC cố định (VD: DHCP relay, VPN...).

Cấp phát IP theo địa chỉ MAC

CentOS và Windows

Bước 1: Xác định MAC của client

Chạy lệnh sau để lấy địa chỉ MAC:

1.1 CentOS:

ip link show ens33

Hoặc:

ip a

Kết quả:

1.2 Windows:

ipconfig /all

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

  • Chuyển dấu - thành : và có thể viết thường.
  • d4:d2:52:34:ce:a7

Bước 2: Chỉnh sửa file cấu hình DHCP server

2.1 Sửa file cấu hình

sudo vim /etc/dhcp/dhcpd.conf

Tì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;

}
  • host centos-client: tên định danh tùy chọn.
  • hardware ethernet: địa chỉ MAC của client.
  • fixed-address: IP muốn gán cố định.

Ví dụ cấu hình đầy đủ subnet:

Bước 3: Khởi động lại DHCP server

sudo systemctl restart isc-dhcp-server

Bước 4: Xin cấp phát lại IP trên máy client

4.1 CentOS:

Giải phóng IP cũ

sudo dhclient -r ens33

Yêu cầu cấp phát IP mới

sudo dhclient -v ens33

4.2 Windows

Giải phóng IP cũ

ipconfig /release

Yêu cầu cấp phát IP mới

ipconfig /renew

Bước 5: Kiểm tra DHCP leases

cat /var/lib/dhcp/dhcpd.leases

DHCP 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.

#CloudWave Radar
#CloudWave Radar
Chúng tôi có 4 môi trường staging, 2 môi trường production, hàng chục microservice và rất nhiều phiên bản thử nghiệm. Lúc đầu dùng VPS tưởng là đủ, nhưng rồi mỗi lần cập nhật code là một lần lo… không biết lần này ‘tháo’ có làm hỏng cái gì không?
Tại sao doanh nghiệp hiện đại cần Kubernetes?
Tiếp tục đọc