การติดตั้งและปรับแต่ง DHCP Server บน Fedora Core 6


DHCP มาจาก Dynamics Host Configuration Protocol เป็นกระบวนการจัดสรรคุณสมบัติต่างๆ เพื่อใช้ในการเชื่อมต่อเครือข่าย ให้กับเครื่องภายในเครือข่ายแบบอัตโนมัติ ซึ่งคุณสมบัติต่างๆ นั้นมีทั้งหมายเลขไอพี (IP address) , เกตเวย์ (Gateway) , DNS เซิร์ฟเวอร์

ขั้นตอนการติดตั้ง DHCP Server

ขั้นตอนที่ 1

ใส่แผ่น CD/DVD ของ Fedora Core 6 Linux แล้วทำการเมาท์ แล้วไปยังพาธที่เก็บไฟล์สำหรับติดตั้งซอฟต์แวร์ ดังนี้

 

[root@netserv ~]# mount /dev/cdrom /mnt/cdrom

mount: block device /dev/cdrom is write-protected, mounting read-only

[root@netserv ~]# cd /mnt/cdrom/Fedora/RPMS/

[root@netserv RPMS]#

 

ขั้นตอนที่ 2

ทำการติดตั้งโดยใช้คำสั่ง rpm ซึ่งซอฟต์แวร์สำหรับติดตั้ง DHCP เซิร์ฟเวอร์ในแผ่น Fedora Core 6 มีชื่อไฟล์เป็น dhcp-3.0.4-21.fc6.i386.rpm มีวิธีการดังนี้

[root@netserv RPMS]# rpm -ihv dhcp-3.0.4-21.fc6.i386.rpm

warning: dhcp-3.0.4-21.fc6.i386.rpm: Header V3 DSA signature: NOKEY, key ID 4f2a6fd2

Preparing... ######################## [100%]

1:dhcp ########################### [100%]

[root@netserv RPMS]#

ขั้นตอนการปรับแต่ง DHCP Server

โดยปกติแล้วคอนฟิกกูเรชั่นไฟล์หลักๆ ที่ใช้ในการปรับแต่ง DHCP Server จะอยู่ที่ /etc/dhcpd.conf เราสามารถคัดลอกไฟล์ตัวอย่างของ dhcpd.conf ไปไว้ที่ /etc ได้ ซึ่งไฟล์ตัวอย่างนี้จะอยู่ที่ /usr/share/doc/dhcp-<version>/dhcpd.conf.sample เราสามารถคัดลอกได้ ดังนี้

# cp /usr/share/doc/dhcp-3.0.4/dhcpd.conf.sample /etc/dhcpd.conf

cp: overwrite `/etc/dhcpd.conf'? Y

ก่อนการปรับแต่ง DHCP Server ให้ทำการตรวจสอบก่อนว่า เราจะแจกจ่ายหมายเลขไอพีสำหรับเครือข่ายกลุ่มไหน มีซับเน็ตเป็นอย่างไร เครื่องไหนเป็นโดเมนเนมเซิร์ฟเวอร์ (DNS Server)

 

ซึ่งในการปรับแต่ง สามารถทำได้ดังนี้

ขั้นตอนที่ 1

ทำการแก้ไขค่าของ subnet ให้เป็นเครือข่ายวงที่เราจะแจกจ่ายไป ซึ่งมีค่า subnet เป็น 192.168.2.0 และใช้ netmask เป็น 255.255.255.0 ดังนี้

จาก

subnet 192.168.0.0 netmask 255.255.255.0 {

เป็น

subnet 192.168.2.0 netmask 255.255.255.0 {

ขั้นตอนที่ 2

ทำการตั้งค่าของ default gateway ที่จะแจกไปให้กับเครื่องในเครือข่าย ซึ่งในที่นี้จะใช้คำว่า routersโดยแก้ไขให้เป็นหมายเลขไอพีของการ์ดแลนใบที่เป็นเครือข่ายภายใน ในที่นี้คือ eth1 ซึ่งมีหมายเลขไอพีเป็น 192.168.2.1 โดยแก้ไข ดังนี้

จาก

option routers 192.168.0.1;

เป็น

option routers 192.168.2.1;

ขั้นตอนที่ 3

ค่าของ subnet-mask ที่จะแจกจ่ายไปให้กับเครื่องลูกข่ายใช้งานในที่นี้ใช้ค่ามาตรฐาน ดังนี้

option subnet-mask 255.255.255.0;

ขั้นตอนที่ 4

ปิดการแจกจ่าย nis-domain ผ่านทาง DHCP Server เนื่องจากว่า NIS เป็นเซอร์วิสสำหรับการแชร์ public key ในระบบเครือข่ายที่ใช้ลินุกซ์ด้วยกัน ดังนี้

จาก

option nis-domain "domain.org";

เป็น

#option nis-domain "domain.org";

ขั้นตอนที่ 5

ทำการตั้งค่าของโดเมนที่จะแจกจ่ายให้กับเครื่องลูกข่าย ในที่นี้ตั้งเป็น linux-server-1.com ดังนี้

จาก

option domain-name "domain.org";

เป็น

option domain-name "linux-server-1.com";

ขั้นตอนที่ 6

ทำการตั้งค่าของโดเมนเนมเซิร์ฟเวอร์ (Domain Name Server) ในที่นี้ตั้งเป็นหมายเลขไอพีของเครื่องเซิร์ฟเวอร์ที่ตั้งขึ้นมา หรือตั้งเป็นไอพีของโดเมนเนมเซิร์ฟเวอร์อื่นก็ได้เช่นกัน ซึ่งสามารถมีได้หลายตัว คั่นด้วยเครื่องหมายคอมม่า (,) ดังนี้

จาก

option domain-name-servers 192.168.1.1;

เป็น

option domain-name-servers 192.168.2.1 , 10.101.150.23;

ขั้นตอนที่ 7

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

จาก

range dynamic-bootp 192.168.0.128 192.168.0.254;

เป็น

range 192.168.2.11 192.168.2.250;

การปรับแต่งในไฟล์ /etc/dhcpd.conf เสร็จเรียบร้อย ค่าอื่นๆ ที่ไม่ได้กล่าวถึงให้ใช้ค่ามาตรฐานที่ระบบตั้งมาให้ ซึ่งค่าที่สำคัญมีดังนี้

  • default-lease-time เป็นค่าที่กำหนดระยะเวลาปกติที่เครื่องลูกข่ายจะใช้หมายเลขไอพีเดิมได้ ตราบใดที่ยังร้องขอภายในช่วงเวลานี้ หน่วยเป็นวินาที

  • max-lease-time เป็นค่าที่กำหนดระยะเวลาสูงสดที่เครื่องลูกข่ายจะใช้หมายเลขไอพีเดิมได้ ตราบใดที่ยังร้องขอภายในช่วงเวลานี้ หน่วยเป็นวินาที

ตรวจสอบการทำงาน

ขั้นตอนที่ 1

หลังจากทำการปรับแต่งข้อมูลในไฟล์ /etc/dhcpd.conf เสร็จเรียบร้อยแล้ว ให้ทำการเปิดการใช้งานเซอร์วิส dhcpd , ปิดการใช้งาน และรีสตาร์ทเซอร์วิส ดังนี้

[root@netserv ~]# /etc/init.d/dhcpd start

Starting dhcpd: [ OK ]

[root@netserv ~]# /etc/init.d/dhcpd stop

Shutting down dhcpd: [ OK ]

[root@netserv ~]# /etc/init.d/dhcpd restart

Shutting down dhcpd: [FAILED]

Starting dhcpd: [ OK ]

 

 

 

ขั้นตอนที่ 2

จากนั้นให้ตรวจสอบที่เครื่องลูกข่าย ว่าได้รับหมายเลขไอพีหรือไม่

 

ขั้นตอนที่ 3

ที่ฝั่งเซิร์ฟเวอร์ สามารถตรวจสอบการใช้หมายเลขไอพีได้จากไฟล์ /var/lib/dhcpd/dhcpd.leases

โดยใช้คำสั่ง cat , less , more อ่านข้อมูลในไฟล์ ดังนี้

[root@netserv ~]# cat /var/lib/dhcpd/dhcpd.leases

...

lease 192.168.2.249 {

starts 6 2007/05/19 16:25:29;

ends 6 2007/05/19 22:25:29;

binding state active;

next binding state free;

hardware ethernet 00:16:d3:96:69:6f;

uid "\001\000\026\323\226io";

client-hostname "CP";

}

...

ขั้นตอนที่ 4

เมื่อระบบทำงานได้ถูกต้องแล้ว ให้เรากำหนดให้เซอร์วิส dhcpd ทำงานทุกครั้งเมื่อเปิดเครื่องเข้าสู่ระบบ

[root@netserv ~]# chkconfig dhcpd on