วันเสาร์ที่ 9 ตุลาคม พ.ศ. 2553

การติดตั้ง dhcpd บน freebsd

การติดตั้ง DHCP บน FreeBSD 7.0 บทความโดย dekdar แห่ง www.thaibsd.com

1. เริ่มจากค้นหา พอร์ตของ dhcp
freebsd# cd /usr/ports/

2. ค้นหาพอร์ตของ dhcp
freebsd# make search name=dhcpd
Port: isc-dhcp3-server-3.0.5_2
Path: /usr/ports/net/isc-dhcp3-server

3. เข้าไดเรกทรอรี่ dhcp เพื่อทำการติดตั้งโปรแกรม
freebsd# cd /usr/ports/net/isc-dhcp3-server

4. เลือกออพชั่น การติดตั้งโปรแกรม
freebsd# make config
Options for isc-dhcp3-server 3.0.5_2
[X] DHCP_PARANOIA add -user, -group and -chroot options
[ ] DHCP_JAIL add -chroot and -jail options
[ ] DHCP_SOCKETS use sockets instead of /dev/bpf (jail-only)
[ ] DHCP_LDAP add experimental LDAP backend support
[X] DHCP_LDAP_SSL support LDAP connection over SSL/TLS
[X] OPENSSL_BASE use the base system OpenSSL (required by TLS)
[ ] OPENSSL_PORT use OpenSSL from ports (required by TLS)
[ ] DHCP_LQ DHCPLEASEQUERY support used by Cisco uBR's
[ OK ] Cancel

5. ทำการติดตั้งโปรแกรม
freebsd# make
freebsd# make install

6. สร้างไฟล์คอนฟิก dhcpd.conf
freebsd# cp /usr/local/etc/dhcpd.conf.sample /usr/local/etc/dhcpd.conf.sample
หรือ
freebsd# touch /usr/local/etc/dhcpd.conf

7. กำหนดค่าคอนฟิกไฟล์
freebsd# pico /usr/local/etc/dhcpd.conf
ddns-update-style ad-hoc;
option domain-name "yiu.edu";
option domain-name-servers 118.175.87.11, 203.113.24.199;
default-lease-time 6000;
max-lease-time 72000;
subnet 118.175.87.8 netmask 255.255.255.248 {
}
# This is a very basic subnet declaration.
subnet 172.30.2.0 netmask 255.255.255.0
{ range 172.30.2.20 172.30.2.250;
option routers 172.30.2.1;
option broadcast-address 172.30.2.255;
}
host server_controll {
hardware ethernet 00:04:e2:80:f7:f0;
fixed-address 172.30.2.254;
} //เป็นการกำหนดค่า แจกไอพี แบบกำหนด

8. สร้างไฟล์จัดเก็บรายละเอียดไอพี ปกติมีมาให้เรียบร้อยแล้วครับ หากไม่มีก็ให้ทำ
freebsd# touch /var/db/dhcpd.leases
freebsd# chmod 777 /var/db/dhcpd.leases

9. ทดสอบการให้บริการ DHCP
//แจกทางการ์ดทุกใบที่เชื่อมต่อ เราสามารถกำหนดเฉพาะการ์ด Network ที่ต้องการได้
freebsd# /usr/local/sbin/dhcpd &
[1] 22810
freebsd# Internet Systems Consortium DHCP Server V3.0.5
Copyright 2004-2006 Internet Systems Consortium.All rights reserved.
For info, please visithttp://www.isc.org/sw/dhcp/
Wrote 0 deleted host decls to leases file.
Wrote 0 new dynamic host decls to leases file.
Wrote 32 leases to leases file.
Listening on BPF/vr0/00:13:d3:11:5c:98/118.175.87.8/29
Sending on BPF/vr0/00:13:d3:11:5c:98/118.175.87.8/29
Listening on BPF/rl0/00:e0:4c:5a:5f:0a/172.30.2/24
Sending on BPF/rl0/00:e0:4c:5a:5f:0a/172.30.2/24
Sending on Socket/fallback/fallback-net
[1] Done /usr/local/sbin/dhcpd

10. ตรวจสอบโปรเซส dhcpd
freebsd# ps ax | grep dhcpd
22811 ?? Is 0:00.00 /usr/local/sbin/dhcpd



11. เพิ่มคำสั่งใน /etc/rc.local
freebsd# echo ‘/usr/local/sbin/dhcpd rl0 &’ >> /etc/rc.local //กรณีที่ต้องการแจกทางการ์ด rl0 เท่านั้น

12. เพิ่มคำสั่งใน /etc/rc.conf
freebsd# echo ‘dhcpd_enable="YES"’ >> /etc/rc.conf

สามารถให้งานบริการ DHCP แล้วละครับ ลง reboot เครื่องสักรอบก็ได้ครับ
freebsd# shutdown –r now

ตัวอย่าง ไฟล์ข้อมูลที่แจกไอพีให้แก่เครื่องลูกข่าย จาก /var/db/dhcpd.leases
freebsd# cat /var/db/dhcpd.leases
lease 172.30.2.247 {
starts 5 2008/07/11 15:52:07;
ends 5 2008/07/11 17:32:07;
binding state active;
next binding state free;
hardware ethernet 00:15:af:8b:83:20;
uid "\001\000\025\257\213\203 ";
client-hostname "codename";
}

ตัวอย่าง การคอนฟิกพาธใน เว็ปมิน
System configuration
DHCP server config file /usr/local/etc/dhcpd.conf
DHCP server executable /usr/local/sbin/dhcpd
Path to DHCP server PID file /var/run/dhcpd.pid
DHCP server lease file /var/db/dhcpd.leases

***แนะนำ เมื่อทำถึงขั้นตอนที่ 5 แล้ว ปกติดสามารถทำผ่าน เว็ปมิน
ได้เลยครับ และง่ายกว่าที่ต้องมาพิมพ์และคอนฟิกเอง มีเครื่องมือ
อำนวยความสะดวกก็ใช้ดีกว่าครับ หากจะพิมพ์เองก็ไม่ว่าอะไร (แต่
มันช้า และโอกาสผิดพลาดมีสูงครับ หุหุหุ++)

Detail Test : Install DHCP3 on FreeBSD 7.0
OS : FreeBSD7.0 After Update Ports
Software : Install Ports Program
Apache apache-2.2.9
MySQL mysql-server-5.1.25
PHP php5-5.2.6
Test by dekdard @ gmail.com

ใช้ FreeBSD 7 เป็น DHCP Server ใช้งานได้ปกติ แต่มีข้อความที่ Server ตลอดเมื่อเครื่องลูกข่ายขอหรือ dhcp หมดเวลา ทั้งที่สร้าง /var/db/dhcpd.leases และ chmod 777 แล้ว แก้ไขไงครับ ขอบคุณครับ

แก้ไข dhcpd.conf บรรทัดนี้ครับ
ddns-update-style แก้ไขเป็น ddns-update-style none;
อย่าลืม restart dhcpd ด้วยนะครับ

ไม่มีความคิดเห็น: