Cài đặt DHCP Server trên Ubuntu 22.04

bởi | LPI, Ubuntu

Home » LPI » Ubuntu » Cài đặt DHCP Server trên Ubuntu 22.04

Khái niệm

– DHCP Server được sử dụng để cấp phát các thông số cho máy client trong mạng LAN:
+ IP Address, Subnetmask, Gateway, DNS ( để cho Client có thể kết nối Internet )
+ Ngoài những thông số trên thì DHCP Server còn có thể cấp phát nhiều option khác “DHCP OPTIONS IANA”

– DHCP Server sử dụng UDP/67 và máy tính client kết nối với DHCP Server UDP/68

Chuẩn bị

– DHCP server có 2 card mạng: 1 card mạng NAT để ra internet, 1 card WAN để làm DHCP server cấp IP xuống các thiết bị trong mạng WAN

root@localhost:~# ip addr
....
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:0c:29:4a:24:20 brd ff:ff:ff:ff:ff:ff
    altname enp2s1
    inet 192.168.64.201/24 brd 192.168.64.255 scope global ens33
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe4a:2420/64 scope link
       valid_lft forever preferred_lft forever
3: ens37: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:0c:29:4a:24:2a brd ff:ff:ff:ff:ff:ff
    altname enp2s5
    inet 172.16.200.2/24 brd 172.16.200.255 scope global ens37
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe4a:242a/64 scope link
       valid_lft forever preferred_lft forever

+ Đổi hostname, time zone

root@localhost:~# hostnamectl set-hostname dhcp.dinhducthanh.local
root@localhost:~# timedatectl set-timezone Asia/Ho_Chi_Minh
root@localhost:~# reboot

– DHCP client: một số thiết bị có card mạng kết nối vào mạng WAN để xin IP từ DHCP server

Cài đặt và cấu hình DHCP Server

Cài đặt DHCP ( Dynamic Host Configuration Protocol ) để gán địa chỉ IP cho các thiết bị trong mạng cục bộ.

– Cài đặt DHCP

root@dhcp:~# apt -y install isc-dhcp-server

– Cấu hình DHCP. Như ví dụ dưới, chỉ cấu hình IPv4.

root@dhcp:~# vi /etc/default/isc-dhcp-server
# dòng 4: bỏ ghi chú
DHCPDv4_CONF=/etc/dhcp/dhcpd.conf
# dòng 17 : chỉ định card mạng WAN để nghe và cấp IP(thay thế nó vào môi trường của bạn)
INTERFACESv4="ens37"
root@dhcp:~# vi /etc/dhcp/dhcpd.conf
#dòng 10 : chỉ định tên miền
option domain-name "dinhducthanh.local";
# dòng 11 : chỉ định tên máy chủ hoặc địa chỉ IP của nameserver
option domain-name-servers ns1.dinhducthanh.local, ns2.dinhducthanh.local;
# dòng 24 : bỏ ghi chú (máy chủ DHCP này được khai báo hợp lệ)
authoritative;
# thêm vào cuối
# chỉ định địa chỉ mạng và subnetmask
subnet 172.16.200.0 netmask 255.255.255.0 {
    # specify gateway
    option routers 172.16.200.254;
    # specify subnet mask
    option subnet-mask 255.255.255.0;
    # specify the range of lease IP address
    range dynamic-bootp 172.16.200.100 172.16.200.200;
}

Cài đặt DHCP Server trên Ubuntu 22.04
– Restart dịch vụ

root@dhcp:~# systemctl restart isc-dhcp-server

– Có thể xem địa chỉ IP đã cấp cho máy khách trong folder và tệp dưới.

root@dhcp:~# ll /var/lib/dhcp

drwxrwxr-x  2 root  dhcpd 4096 Apr 26 07:42 ./
drwxr-xr-x 40 root  root  4096 Apr 26 07:16 ../
-rw-r--r--  1 dhcpd dhcpd  580 Apr 26 07:48 dhcpd.leases
-rw-rw-r--  1 root  dhcpd  219 Apr 26 07:36 dhcpd.leases~
-rw-r--r--  1 dhcpd dhcpd  219 Apr 26 07:36 dhcpd6.leases
-rw-rw-r--  1 root  dhcpd    0 Apr 26 07:36 dhcpd6.leases~
root@localhost:~# cat /var/lib/dhcp/dhcpd.leases
# The format of this file is documented in the dhcpd.leases(5) manual page.
# This lease file was written by isc-dhcp-4.4.1

# authoring-byte-order entry is generated, DO NOT DELETE
authoring-byte-order little-endian;

server-duid "\000\001\000\001-\315\376?\000\014)J$*";

root@localhost:~# cat /var/lib/dhcp/dhcpd.leases
# The format of this file is documented in the dhcpd.leases(5) manual page.
# This lease file was written by isc-dhcp-4.4.1

# authoring-byte-order entry is generated, DO NOT DELETE
authoring-byte-order little-endian;

server-duid "\000\001\000\001-\315\376?\000\014)J$*";

lease 172.16.200.100 {
  starts 3 2024/05/08 09:17:41;
  ends 3 2024/05/08 09:27:41;
  cltt 3 2024/05/08 09:17:41;
  binding state active;
  next binding state free;
  rewind binding state free;
  hardware ethernet 00:0c:29:11:6f:f0;
  uid "\377+\2244\301\000\002\000\000\253\021V7\331\215\002\272c\343";
  client-hostname "client";
.....
.....

Cấu hình DHCP Client

– Cấu hình DHCP Client để nhận địa chỉ IP từ DHCP Server trong mạng WAN

Đối với máy khách là Ubuntu

– Cấu hình như sau.

root@client:~# vi /etc/netplan/01-netcfg.yaml
# enable dhcp4
network:
  ethernets:
    enp1s0:
      dhcp4: true
     
      dhcp6: false
  version: 2

-Áp dụng thay đổi

root@client:~# netplan apply

– Kiểm tra

root@client:~# ip addr

Đối với Máy khách là Windows

– Nhấn phím [Windows] tìm ncpa.cpl để mở cài đặt mạng trên windows

– Chọn card mạng WAN cần xin IP từ DHCP server

– Chọn cài đặt DHCP client

Tham khảo thêm

Cài đặt ban đầu Ubuntu 22.04: Network Settings

Cài đặt ban đầu Ubuntu 22.04: Enable root user