วิธีการตั้งค่าเซิร์ฟเวอร์ DHCP และไคลเอนต์บน CentOS และ Ubuntu
DHCP (ย่อมาจาก Dynamic Host Configuration Protocol) คือโปรโตคอลไคลเอ็นต์/เซิร์ฟเวอร์ที่ช่วยให้เซิร์ฟเวอร์สามารถกำหนดที่อยู่ IP และพารามิเตอร์การกำหนดค่าอื่นๆ ที่เกี่ยวข้องได้โดยอัตโนมัติ (เช่น ซับเน็ตมาสก์ และเกตเวย์เริ่มต้น) ไปยังไคลเอนต์บนเครือข่าย
DHCP มีความสำคัญเนื่องจากจะป้องกันไม่ให้ผู้ดูแลระบบหรือผู้ดูแลระบบเครือข่ายกำหนดค่าที่อยู่ IP ด้วยตนเองสำหรับคอมพิวเตอร์ใหม่ที่เพิ่มในเครือข่ายหรือคอมพิวเตอร์ที่ย้ายจากเครือข่ายย่อยหนึ่งไปยังอีกเครือข่ายย่อย
ที่อยู่ IP ที่กำหนดโดยเซิร์ฟเวอร์ DHCP ให้กับไคลเอ็นต์ DHCP อยู่ใน “การเช่า ” โดยปกติเวลาการเช่าจะแตกต่างกันไปขึ้นอยู่กับระยะเวลาการเช่า คอมพิวเตอร์ไคลเอนต์มีแนวโน้มที่จะต้องมีการเชื่อมต่อหรือการกำหนดค่า DHCP
ในบทความนี้ เราจะอธิบายวิธีกำหนดค่าเซิร์ฟเวอร์ DHCP ในการกระจาย CentOS และ Ubuntu Linux เพื่อกำหนดที่อยู่ IP ให้กับเครื่องไคลเอ็นต์โดยอัตโนมัติ
การติดตั้งเซิร์ฟเวอร์ DHCP ใน CentOS และ Ubuntu
แพ็คเกจเซิร์ฟเวอร์ DCHP มีอยู่ในคลังอย่างเป็นทางการของ Linux กระแสหลัก การติดตั้งทำได้ค่อนข้างง่าย เพียงเรียกใช้คำสั่งต่อไปนี้
yum install dhcp #CentOS
sudo apt install isc-dhcp-server #Ubuntu
เมื่อการติดตั้งเสร็จสมบูรณ์ ให้กำหนดค่าอินเทอร์เฟซที่คุณต้องการให้ DHCP daemon ตอบสนองคำขอในไฟล์การกำหนดค่า /etc/default/isc-dhcp-server หรือ >/etc/sysconfig/dhcpd
vim /etc/sysconfig/dhcpd #CentOS
sudo vim /etc/default/isc-dhcp-server #Ubuntu
ตัวอย่างเช่น หากคุณต้องการให้ DHCPD daemon ฟังบน eth0
ให้ตั้งค่าโดยใช้คำสั่งต่อไปนี้
DHCPDARGS=”eth0”
บันทึกไฟล์และออก
การกำหนดค่าเซิร์ฟเวอร์ DHCP ใน CentOS และ Ubuntu
ไฟล์การกำหนดค่า DHCP หลักอยู่ที่ /etc/dhcp/dhcpd.conf
ซึ่งควรมีการตั้งค่าว่าจะทำอย่างไร สถานที่ใดที่จะทำบางสิ่งบางอย่าง และพารามิเตอร์เครือข่ายทั้งหมดที่จะระบุ ให้กับลูกค้า
โดยพื้นฐานแล้วไฟล์นี้ประกอบด้วยรายการคำสั่งที่แบ่งออกเป็นสองประเภทกว้างๆ:
- พารามิเตอร์ส่วนกลาง: ระบุวิธีดำเนินงาน ไม่ว่าจะดำเนินงาน หรือพารามิเตอร์การกำหนดค่าเครือข่ายใดที่จะมอบให้กับไคลเอ็นต์ DHCP
- การประกาศ: กำหนดโทโพโลยีเครือข่าย ระบุว่ามีไคลเอ็นต์อยู่ เสนอที่อยู่สำหรับไคลเอ็นต์ หรือใช้กลุ่มของพารามิเตอร์กับกลุ่มของการประกาศ
ตอนนี้ ให้เปิดและแก้ไขไฟล์การกำหนดค่าเพื่อกำหนดค่าเซิร์ฟเวอร์ DHCP ของคุณ
------------ On CentOS ------------
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
vi /etc/dhcp/dhcpd.conf
------------ On Ubuntu ------------
sudo vim /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;
ถัดไป คุณต้องกำหนดเครือข่ายย่อยสำหรับเครือข่ายย่อยภายใน เช่น 192.168.1.0/24 ดังที่แสดง
subnet 192.168.1.0 netmask 255.255.255.0 {
option routers 192.168.1.1;
option subnet-mask 255.255.255.0;
option domain-search "tecmint.lan";
option domain-name-servers 192.168.1.1;
range 192.168.10.10 192.168.10.100;
range 192.168.10.110 192.168.10.200;
}
โปรดทราบว่าโฮสต์ที่ต้องการตัวเลือกการกำหนดค่าพิเศษสามารถแสดงอยู่ใน คำสั่งโฮสต์ (ดูหน้าคู่มือ dhcpd.conf)
เมื่อคุณกำหนดค่า DHCP server daemon แล้ว คุณต้องเริ่มบริการในช่วงเวลาดังกล่าว และเปิดใช้งานให้เริ่มโดยอัตโนมัติจากการบูตระบบครั้งถัดไป และตรวจสอบว่าบริการทำงานอยู่หรือไม่โดยใช้คำสั่งต่อไปนี้
------------ On CentOS ------------
systemctl start dhcpd
systemctl enable dhcpd
systemctl enable dhcpd
------------ On Ubuntu ------------
sudo systemctl start isc-dhcp-server
sudo systemctl enable isc-dhcp-server
sudo systemctl enable isc-dhcp-server
จากนั้น อนุญาตคำขอไปยัง DHCP daemon บนไฟร์วอลล์ ซึ่งรับฟังบนพอร์ต 67/UDP โดยการเรียกใช้
------------ On CentOS ------------
firewall-cmd --zone=public --permanent --add-service=dhcp
firewall-cmd --reload
#------------ On Ubuntu ------------
sudo ufw allow 67/udp
sudo ufw reload
การกำหนดค่าไคลเอ็นต์ DHCP
สุดท้ายนี้ คุณต้องทดสอบว่าเซิร์ฟเวอร์ DHCP ทำงานได้ดีหรือไม่ เข้าสู่ระบบเครื่องไคลเอนต์บางเครื่องบนเครือข่ายและกำหนดค่าให้รับที่อยู่ IP จากเซิร์ฟเวอร์โดยอัตโนมัติ
แก้ไขไฟล์การกำหนดค่าที่เหมาะสมสำหรับอินเทอร์เฟซที่ไคลเอนต์จะได้รับที่อยู่ IP โดยอัตโนมัติ
การตั้งค่าไคลเอ็นต์ DHCP บน CentOS
บน CentOS ไฟล์กำหนดค่าอินเทอร์เฟซจะอยู่ที่ /etc/sysconfig/network-scripts/
vim /etc/sysconfig/network-scripts/ifcfg-eth0
เพิ่มตัวเลือกด้านล่าง:
DEVICE=eth0
BOOTPROTO=dhcp
TYPE=Ethernet
ONBOOT=yes
บันทึกไฟล์และเริ่มบริการเครือข่ายใหม่ (หรือรีบูตระบบ)
systemctl restart network
การตั้งค่าไคลเอ็นต์ DHCP บน Ubuntu
บน Ubuntu 16.04 คุณสามารถกำหนดค่าอินเทอร์เฟซทั้งหมดในไฟล์กำหนดค่า /etc/network/interfaces
sudo vi /etc/network/interfaces
เพิ่มบรรทัดเหล่านี้ลงไป:
auto eth0
iface eth0 inet dhcp
บันทึกไฟล์และรีสตาร์ทบริการเครือข่าย (หรือรีบูตระบบ)
sudo systemctl restart networking
บน Ubuntu 18.04 เครือข่ายจะถูกควบคุมโดยโปรแกรม Netplan คุณต้องแก้ไขไฟล์ที่เหมาะสมภายใต้ไดเร็กทอรี /etc/netplan/ เป็นต้น
sudo vim /etc/netplan/01-netcfg.yaml
จากนั้นเปิดใช้งาน dhcp4 ภายใต้อินเทอร์เฟซเฉพาะ เช่น ภายใต้ อีเธอร์เน็ต, ens0 และใส่ความคิดเห็นเกี่ยวกับการกำหนดค่า IP แบบคงที่:
network:
version: 2
renderer: networkd
ethernets:
ens0:
dhcp4: yes
บันทึกการเปลี่ยนแปลงและรันคำสั่งต่อไปนี้เพื่อให้การเปลี่ยนแปลงมีผล
sudo netplan apply
สำหรับข้อมูลเพิ่มเติม โปรดดูหน้าคู่มือ dhcpd และ dhcpd.conf
man dhcpd
man dhcpd.conf
ในบทความนี้ เราได้อธิบายวิธีกำหนดค่าเซิร์ฟเวอร์ DHCP ในระบบปฏิบัติการ CentOS และ Ubuntu Linux หากคุณต้องการคำชี้แจงเพิ่มเติมเกี่ยวกับประเด็นใดๆ คุณสามารถถามคำถามผ่านแบบฟอร์มคำติชมด้านล่าง หรือเพียงแบ่งปันความคิดเห็นของคุณกับเรา