ค้นหาเว็บไซต์

วิธีการติดตั้งเซิร์ฟเวอร์ DHCP ใน Ubuntu และ Debian


Dynamic Host Configuration Protocol (DHCP) เป็นโปรโตคอลเครือข่ายที่ใช้เพื่อให้คอมพิวเตอร์โฮสต์ได้รับการกำหนดที่อยู่ IP และการกำหนดค่าเครือข่ายที่เกี่ยวข้องจากเซิร์ฟเวอร์โดยอัตโนมัติ

ที่อยู่ IP ที่กำหนดโดยเซิร์ฟเวอร์ DHCP ให้กับไคลเอนต์ DHCP อยู่ในสถานะ “เช่า” โดยปกติระยะเวลาการเช่าจะแตกต่างกันไปขึ้นอยู่กับระยะเวลาที่คอมพิวเตอร์ไคลเอนต์มีแนวโน้มที่จะต้องใช้การเชื่อมต่อหรือการกำหนดค่า DHCP

DHCP ทำงานอย่างไร?

ต่อไปนี้เป็นคำอธิบายโดยย่อว่า DHCP ทำงานอย่างไร:

  • เมื่อไคลเอ็นต์ (ที่ได้รับการกำหนดค่าให้ใช้ DHCP) และเชื่อมต่อกับเครือข่ายบูทขึ้น ไคลเอ็นต์จะส่งแพ็กเก็ต DHCPDISCOVER ไปยังเซิร์ฟเวอร์ DHCP
  • เมื่อเซิร์ฟเวอร์ DHCP ได้รับแพ็กเก็ตคำขอ DHCPDISCOVER เซิร์ฟเวอร์จะตอบกลับด้วยแพ็กเก็ต DHCPOFFER
  • จากนั้น ไคลเอ็นต์จะได้รับแพ็กเก็ต DHCPOFFER และส่งแพ็กเก็ต DHCPREQUEST ไปยังเซิร์ฟเวอร์แสดงว่าพร้อมที่จะรับข้อมูลการกำหนดค่าเครือข่ายที่ให้ไว้ใน DHCPOFFER แข็งแกร่ง> แพ็คเก็ต
  • สุดท้ายนี้ หลังจากที่เซิร์ฟเวอร์ DHCP ได้รับแพ็กเก็ต DHCPREQUEST จากไคลเอ็นต์แล้ว เซิร์ฟเวอร์จะส่งแพ็กเก็ต DHCPACK เพื่อแสดงว่าขณะนี้ไคลเอ็นต์ได้รับอนุญาตให้ใช้ที่อยู่ IP ที่กำหนดให้กับเซิร์ฟเวอร์แล้ว

ในบทความนี้ เราจะแสดงวิธีการตั้งค่าเซิร์ฟเวอร์ DHCP ใน Ubuntu/Debian Linux และเราจะเรียกใช้คำสั่งทั้งหมดด้วยคำสั่ง sudo เพื่อรับสิทธิ์ผู้ใช้รูท

การทดสอบการตั้งค่าสภาพแวดล้อม

เราจะใช้สภาพแวดล้อมการทดสอบต่อไปนี้สำหรับการตั้งค่านี้

DHCP Server - Ubuntu 16.04 
DHCP Clients - CentOS 7 and Fedora 25

ขั้นตอนที่ 1: การติดตั้งเซิร์ฟเวอร์ DHCP ใน Ubuntu

1. เรียกใช้คำสั่งด้านล่างเพื่อติดตั้งแพ็คเกจเซิร์ฟเวอร์ DCHP ซึ่งเดิมเรียกว่า เซิร์ฟเวอร์ dhcp3

sudo apt install isc-dhcp-server

2. เมื่อการติดตั้งเสร็จสมบูรณ์ ให้แก้ไขไฟล์ /etc/default/isc-dhcp-server เพื่อกำหนดอินเทอร์เฟซที่ DHCPD ควรใช้เพื่อรองรับคำขอ DHCP ด้วยตัวเลือก INTERFACES .

ตัวอย่างเช่น หากคุณต้องการให้ DHCPD daemon ฟังบน eth0 ให้ตั้งค่าดังนี้:

INTERFACES="eth0"

และเรียนรู้วิธีกำหนดค่าที่อยู่ IP แบบคงที่สำหรับอินเทอร์เฟซด้านบน

ขั้นตอนที่ 2: การกำหนดค่าเซิร์ฟเวอร์ DHCP ใน Ubuntu

3. ไฟล์การกำหนดค่า DHCP หลักคือ /etc/dhcp/dhcpd.conf คุณต้องเพิ่มข้อมูลเครือข่ายทั้งหมดของคุณที่จะส่งไปยังไคลเอนต์ที่นี่

และมีคำสั่งสองประเภทที่กำหนดไว้ในไฟล์คอนฟิกูเรชัน DHCP ได้แก่:

  • พารามิเตอร์ – ระบุวิธีดำเนินการ ไม่ว่าจะดำเนินงาน หรือตัวเลือกการกำหนดค่าเครือข่ายใดที่จะส่งไปยังไคลเอ็นต์ DHCP
  • การประกาศ – กำหนดโทโพโลยีเครือข่าย ระบุไคลเอ็นต์ เสนอที่อยู่สำหรับไคลเอ็นต์ หรือใช้กลุ่มของพารามิเตอร์กับกลุ่มของการประกาศ

4. ตอนนี้ ให้เปิดและแก้ไขไฟล์การกำหนดค่าหลัก กำหนดตัวเลือกเซิร์ฟเวอร์ DHCP ของคุณ:

sudo vi /etc/dhcp/dhcpd.conf 

ตั้งค่าพารามิเตอร์ส่วนกลางต่อไปนี้ที่ด้านบนของไฟล์ โดยจะนำไปใช้กับการประกาศทั้งหมดด้านล่าง (ระบุค่าที่ใช้กับสถานการณ์ของคุณ):

option domain-name "tecmint.lan";
option domain-name-servers ns1.tecmint.lan, ns2.tecmint.lan;
default-lease-time 3600; 
max-lease-time 7200;
authoritative;

5. ตอนนี้ ให้กำหนดเครือข่ายย่อย ที่นี่ เราจะตั้งค่า DHCP สำหรับเครือข่าย LAN 192.168.10.0/24 (ใช้พารามิเตอร์ที่ใช้กับสถานการณ์ของคุณ)

subnet 192.168.10.0 netmask 255.255.255.0 {
        option routers                  192.168.10.1;
        option subnet-mask              255.255.255.0;
        option domain-search            "tecmint.lan";
        option domain-name-servers      192.168.10.1;
        range   192.168.10.10   192.168.10.100;
        range   192.168.10.110   192.168.10.200;
}

ขั้นตอนที่ 3: กำหนดค่า IP แบบคงที่บนเครื่องไคลเอ็นต์ DHCP

6. หากต้องการกำหนดที่อยู่ IP แบบคงที่ (คงที่) ให้กับคอมพิวเตอร์ไคลเอนต์โดยเฉพาะ ให้เพิ่มส่วนด้านล่างซึ่งคุณต้องระบุที่อยู่ MAC อย่างชัดเจนและ IP ที่จะกำหนดแบบคงที่:

host centos-node {
	 hardware ethernet 00:f0:m4:6y:89:0g;
	 fixed-address 192.168.10.105;
 }

host fedora-node {
	 hardware ethernet 00:4g:8h:13:8h:3a;
	 fixed-address 192.168.10.106;
 }

บันทึกไฟล์และปิด

7. จากนั้น ให้เริ่มบริการ DHCP ในขณะนั้น และเปิดใช้งานให้เริ่มโดยอัตโนมัติจากการบูตระบบครั้งถัดไป เช่น:

------------ SystemD ------------ 
sudo systemctl start isc-dhcp-server.service
sudo systemctl enable isc-dhcp-server.service


------------ SysVinit ------------ 
sudo service isc-dhcp-server.service start
sudo service isc-dhcp-server.service enable

8. ต่อไป อย่าลืมอนุญาตบริการ DHCP (DHCPD daemon ฟังบนพอร์ต 67/UDP) บนไฟร์วอลล์ดังต่อไปนี้:

sudo ufw allow  67/udp
sudo ufw reload
sudo ufw show

ขั้นตอนที่ 4: การกำหนดค่าเครื่องไคลเอนต์ DHCP

9. ณ จุดนี้ คุณสามารถกำหนดค่าคอมพิวเตอร์ไคลเอนต์ของคุณบนเครือข่ายให้รับที่อยู่ IP จากเซิร์ฟเวอร์ DHCP โดยอัตโนมัติ

เข้าสู่ระบบคอมพิวเตอร์ไคลเอ็นต์และแก้ไขไฟล์การกำหนดค่าอินเทอร์เฟซ Ethernet ดังต่อไปนี้ (จดชื่อ/หมายเลขอินเทอร์เฟซ):

sudo vi /etc/network/interfaces

และกำหนดตัวเลือกด้านล่าง:

auto  eth0
iface eth0 inet dhcp

บันทึกไฟล์และออก และรีสตาร์ทบริการเครือข่ายเช่นนั้น (หรือ รีบูต ระบบ):

------------ SystemD ------------ 
sudo systemctl restart networking

------------ SysVinit ------------ 
sudo service networking restart

หรือใช้ GUI บนเครื่องเดสก์ท็อปเพื่อทำการตั้งค่า ตั้งค่าวิธีการเป็นอัตโนมัติ (DHCP) ดังที่แสดงในภาพหน้าจอด้านล่าง (เดสก์ท็อป Fedora 25)

ณ จุดนี้ หากการตั้งค่าทั้งหมดได้รับการกำหนดค่าอย่างถูกต้อง เครื่องไคลเอ็นต์ของคุณควรได้รับที่อยู่ IP โดยอัตโนมัติจากเซิร์ฟเวอร์ DHCP

แค่นั้นแหละ! ในบทช่วยสอนนี้ เราได้แสดงวิธีการตั้งค่าเซิร์ฟเวอร์ DHCP ใน Ubuntu/Debian แบ่งปันความคิดของคุณกับเราผ่านทางส่วนข้อเสนอแนะด้านล่าง หากคุณใช้การกระจายแบบ Fedora โปรดดูวิธีการตั้งค่าเซิร์ฟเวอร์ DHCP ใน CentOS/RHEL