Linux Lab 3.2: DHCP Sever trên CentOS 8

phatnguyen

Internship/Fresher
Oct 14, 2019
26
7
3
26
TP HCM
Nội dung
1. DHCP
2. DHCP Failover
3. Lab Demo


1. DHCP
DHCP là gì?
DHCP (Dynamic Host Configuration Protocol) là giao thức được sử dụng để cấu hình địa chỉ IP cho thiết bị máy tính. Mỗi thiết bị của người dùng đều cần phải có ít nhất 1 địa chỉ IP để tham gia vào mạng – để kết nối tới các dịch vụ khác. Khi máy tính lần đầu tiên kết nối tới mạng nội bộ bằng dây cáp hoặc truy cập Wifi, điều đầu tiên nó làm chính là tìm địa chỉ IP, netmask, default gateway và DNS servers.
DHCP server có thể có 3 phương thức cấp phát địa chỉ IP như sau:
  • Cấp phát tĩnh: DHCP server cấp phát một địa chỉ IP dựa trên một bảng với cặp địa chỉ MAC/ địa chỉ IP tương ứng, được điền thủ công và chỉ khi có yêu cầu từ client với địa chỉ MAC được liệt kê bên trong bảng mới được cấp IP.
  • Cấp phát động: người quản trị mạng sẽ gán một dãy (range) địa chỉ IP tới DHCP, và mỗi máy tính client trong mạng LAN được cấu hình để request một địa chỉ IP từ DHCP server trong quá trình khởi tạo mạng.
  • Cấp phát tự động: DHCP server gán vĩnh viễn địa chỉ IP tới request client từ dãy địa chỉ IP được quy định bởi người quản trị. Tương tự như cấp phát động, nhưng DHCP server giữ lại bảng chứa các địa chỉ IP được gán trước đó, để nó có thể gán cho client cùng địa chỉ IP mà họ đã request trước đó.
Trong số 3 phương thức trên, phương thức cấp phát động và cấp phát tĩnh là phương thức cấp phát IP phổ biến nhất hiện nay.
Các thành phần của DHCP
Khi làm việc với DHCP, bạn cần hiểu tất cả thành phần của nó. Dưới đây là danh sách các thành phần của DHCP.
  • DHCP server: Một thiết bị mạng chạy dịch vụ DHCP chứa địa chỉ IP và thông tin cấu hình liên quan. Đây thường là máy chủ hoặc router nhưng có thể là bất cứ thứ gì hoạt động như máy chủ chẳng hạn như thiết bị SD-WAN.
  • DHCP client: Thiết bị nhận thông tin cấu hình từ máy chủ DHCP. Đây có thể máy tính, thiết bị di động, thiết bị IoT (Internet of Things) hoặc bất cứ thiết bị gì khác yêu cầu kết nối mạng. Hầu hết các thiết bị này được cấu hình để nhận thông tin DHCP theo mặc định.
  • IP address pool: Dãy địa chỉ có sẵn cho client DHCP. Những địa chỉ này thường được truyền tuần tự từ thấp nhất đến cao nhất.
  • Subnet: Mạng IP có thể được phân thành các phân đoạn được gọi là subnet (mạng con). Mạng con giúp mạng được quản lý dễ dàng hơn.
  • Lease: Khoảng thời gian client DHCP giữ thông tin địa chỉ IP. Khi khoảng thời gian này hết hạn, client phải làm mới nó.
  • DHCP relay: Router hoặc máy chủ nghe tin nhắn được phát trên mạng đó và sau đó chuyển chúng đến một máy chủ được cấu hình. Máy chủ này sau đó phản hồi lại relay agent để truyền chúng đến client. Nó được sử dụng để tập trung máy chủ DHCP thay vì để máy chủ trên mỗi mạng con.
Hoạt động của DHCP
Screenshot_000.png

Bước 1: DHCP Discovery:
Máy tính client sẽ gửi thông điệp broadcast trên physical subnet để tìm server DHCP khả dụng. Máy tính client tạo ra một gói tin UDP (User Datagram Protocol) với đích đến mặc định 255.255.255.255 hoặc địa chỉ broadcast subnet cụ thể nếu được cấu hình.

Bước 2: DHCP offer:
Khi DHCP server nhận được truy vấn cần cấp phát IP từ một client, nó sẽ bảo lưu địa chỉ IP cho client và mở rộng địa chỉ IP sẽ cấp phát bằng cách gửi cho client message DHCPOFFER. Thông điệp này chứa địa chỉ MAC của client, địa chỉ IP mà server sẽ cung cấp, subnet mask, thời gian được cấp phát và địa chỉ IP của DHCP server cung cấp.

Bước 3: DHCP request
Trong hầu hết các công ty hiện nay, thường hay sử dụng hai DHCP servers để giúp hệ thống cung cấp khả năng chịu lỗi cao nếu như có một server bị lỗi hoặc được bảo trì. Vậy nên client có thể nhận được DHCP offer từ nhiều server khác nhau, nhưng nó sẽ chỉ chấp nhận duy nhất một DHCP offer mà thôi. Client trả lời DHCP request, nó sẽ gửi tin unicast tới server mà thông tin địa chỉ nằm trong DHCP offser mà nó nhận được. Dựa trên trường Transaction ID trong request, khi đó servers sẽ nhận được thông báo những offer mà client chấp nhận. Khi các DHCP server khác nhận thông điệp này, chúng sẽ loạt bỏ bất kỳ offer nào nó đã gửi tới client và lấy lại các địa chỉ IP offer này đưa vào danh sách các địa chỉ IP có sẵn.

Bước 4: DHCP acknowledgement
Khi DHCP server nhận được thông điệp DHCPREQUEST từ client, quá trình cấu bước vào giai đoạn cuôí cùng.

Giai đoạn chấp nhận liên quan đến việc gửi một gói DHCPACK tới client. Gói tin này bao gồm thời gian được sử dụng và thông tin cấu hình khác mà client có thể đã truy vấn. Tại điểm này, quá trình cấu hình IP đã được hoàn thành.

2. DHCP Failover

Thiết lập chuyển đổi dự phòng DHCP:
Khi một máy chủ phát một thông báo DHCPDISCOVER, nó sẽ bao gồm địa chỉ MAC của nó. Cả hai server chính và phụ đều nhận được thông báo này. Để xác định máy chủ nào sẽ cấp phát địa chỉ IP cho máy chủ lưu trữ, mỗi máy chủ sẽ trích xuất địa chỉ MAC từ thông báo DHCPDISCOVER và thực hiện hash. Sau đó, mỗi máy chủ sẽ so sánh kết quả của hoạt động băm của nó với phần tách cân bằng tải đã định cấu hình.
Mức phân chia được đặt thành 50% theo mặc định để đảm bảo sự phân chia đồng đều giữa hai máy chủ. Khi sự phân chia là 50%, máy chủ chính phân bổ địa chỉ IP nếu kết quả băm nằm trong khoảng từ 1 đến 127 và máy chủ phụ phân bổ địa chỉ IP nếu kết quả băm nằm trong khoảng từ 128 đến 255.
Khi một máy chủ phân bổ địa chỉ IP, nó cập nhật cơ sở dữ liệu của nó cho dhcp server còn lại đảm bảo cả 2 được đồng bộ hóa thông tin. ,

Như hình bên dưới ,khi một máy chủ phát bản tin DHCPDISCOVER, cả máy chủ chính và máy chủ phụ đều nhận được thông báo. Họ thực hiện thao tác hash trên địa chỉ MAC trong thông báo DHCPDISCOVER và kết quả là 250. Vì phân chia cân bằng tải là 50% và kết quả băm là 250, máy chủ phụ phản hồi với máy chủ lưu trữ bằng thông báo DHCPOFFER. Máy chủ thứ hai phân bổ địa chỉ IP từ nhóm địa chỉ IP được chỉ định của nó. Sau đó, nó sẽ gửi một thông báo cập nhật cho thuê đến máy chủ chính để máy chủ chính biết địa chỉ được chỉ định như thế nào và có thể tiếp quản đúng cách nếu máy chủ phụ bị lỗi.

Screenshot_14.png


3. Lab Demo
Mô hình Lab
Screenshot_00.png
Yêu cầu: Cấu hình DHCP Server cấp IP cho máy User​
  • DNS Server: 8.8.8.8
  • DHCP network: 10.120.173.10
  • DHCP Subnet mask: 255.255.255.0
  • Range of IP addresses to allocate: 10.120.173.1– 10.120.173.10
  • Default gateway: 10.120.173.250
Thực hiện:
  • Cấu hình IP cho máy DHCP Server với Ip là 10.120.173.10/24
  • Kiểm tra máy Server thông Internet để cài đặt các gói DHCP
Screenshot_1.png


  • Tiến hành cài đặt các gói cần thiết của DHCP Server bằng cách đánh lệnh sau:
    sudo dnf -y install dhcp-server
Screenshot_4.png

  • Cấu hình file DHCP bằng cách nhập lệnh:
    sudo vi /etc/dhcp/dhcpd.conf
Screenshot_6.png

  • Sửa file cấu hình config dhcp server
#
# DHCP Server Configuration file.
# see /usr/share/doc/dhcp-server/dhcpd.conf.example
# see dhcpd.conf(5) man page

# Set DNS name and DNS server's IP address or hostname
option domain-name-servers 8.8.8.8 ;

# The default DHCP lease time
default-lease-time 600;

# Set the maximum lease time
max-lease-time 7200;

# Set Network address, subnet mask and gateway
subnet 10.120.173.0 netmask 255.255.255.0 {
# Range of IP addresses to allocate
range 10.120.173.1 10.120.173.5;
# Set default gateway
option routers 10.120.173.250;
}
Screenshot_5.png


  • sau khi cấu hình xong tiến hành kiểm tra dhcp trên User Client:
Screenshot_7.png


Mô hình thực hiện Lab DHCP Failover​
Screenshot_0.png
  • Tiến hành cấu hình failover trên 2 server DHCP bằng cách chỉnh sửa file cấu hình /etc/dhcp/dhcpd.conf
[root@localhost ~]# vim /etc/dhcp/dhcpd.conf

failover peer "failover-partner" {
primary;
address 10.120.173.10;
port 519;
peer address 10.120.173.11;
peer port 520;
max-response-delay 60;
max-unacked-updates 10;
mclt 3600;
split 128;
load balance max seconds 3;
}

default-lease-time 86400;
max-lease-time 86400;

subnet 10.120.173.0 netmask 255.255.255.0 {
option subnet-mask 255.255.255.0;
option routers 10.120.173.250;
option domain-name-servers 8.8.8.8;
pool {
failover peer "failover-partner";
range 10.120.173.1 10.120.173.5;
}
}
Tham số mclt (Maximum Client Lead Time ) phải được xác định trên máy chủ chính nhưng không được xác định trên máy chủ phụ.
tham số split là một tham số cần được xác định trên phần chính và bỏ qua khỏi cấu hình trên phần phụ,
  • Nếu giá trị split =128 thì việc cấp dhcp sẽ load balanced giữa 2 sever dhcp
  • nếu giá trị split =255 thì máy primary phụ trách cấp dhcp cho client 100%. khi máy chủ primaary gặp sự cố thí máy secondary sẽ thay thế.
Điều đáng chú ý là giao tiếp giữa các nút chuyển đổi dự phòng không được mã hóa hay xác thực.
Screenshot_8.png

  • Thực hiện cấu hình tương tự trên note Secondary
[root@localhost ~]# vim /etc/dhcp/dhcpd.conf
failover peer "failover-partner" {
secondary;
address 10.120.173.11;
port 520;
peer address 10.120.173.10;
peer port 519;
max-response-delay 60;
max-unacked-updates 10;
load balance max seconds 3;
}

default-lease-time 86400;
max-lease-time 86400;

subnet 10.120.173.0 netmask 255.255.255.0 {
option subnet-mask 255.255.255.0;
option routers 10.120.173.250;
option domain-name-servers 8.8.8.8;
pool {
failover peer "failover-partner";
range 10.120.173.1 10.120.173.5;
}
}
Screenshot_9.png


Kiểm tra:
- Tiến hành shutdown máy chủ DHCP 01
Máy client sẽ nhận dhcp qua máy chủ dhcp 02 (secondary)

- Kiểm tra IP của máy client hiện tại:
+máy CLient nhận IP : 10.120.173.4/24
+DHCP server là Primary (10.120.173.10)
Screenshot_11.png


- Tiến hành Shutdown DHCP 01 (Primary)
Sau đó kiểm tra clear IP hiện tại của máy Client
Screenshot_12.png


- Kiểm tra thông tin IP của máy Client hiện tại:

máy Client chuyển sang nhận IP máy DHCP 02(Secondary)
Screenshot_13.png
 

Attachments

  • Screenshot_1.png
    Screenshot_1.png
    108.7 KB · Views: 0
  • Screenshot_0.png
    Screenshot_0.png
    175.8 KB · Views: 0
  • Screenshot_8.png
    Screenshot_8.png
    70.4 KB · Views: 0
  • Screenshot_9.png
    Screenshot_9.png
    24 KB · Views: 0
  • Screenshot_8.png
    Screenshot_8.png
    53.3 KB · Views: 0
  • Screenshot_14.png
    Screenshot_14.png
    160.6 KB · Views: 0
Last edited:
  • Like
Reactions: gani

About us

  • Securityzone.vn là một trang web chuyên về an ninh mạng và công nghệ thông tin. Trang web này cung cấp các bài viết, tin tức, video, diễn đàn và các dịch vụ liên quan đến lĩnh vực này. Securityzone.vn là một trong những cộng đồng IT lớn và uy tín tại Việt Nam, thu hút nhiều người quan tâm và tham gia. Securityzone.vn cũng là nơi để các chuyên gia, nhà nghiên cứu, sinh viên và người yêu thích an ninh mạng có thể trao đổi, học hỏi và chia sẻ kiến thức, kinh nghiệm và giải pháp về các vấn đề bảo mật trong thời đại số.

Quick Navigation

User Menu