--- title: DHCP on Debian tag: บทความ, คู่มือ, dhcp, debian, linux, how-to --- การติดตั้ง DHCP Server บน Debian 10 Buster === ในระบบเครื่อข่าย computer สิ่งหนึ่งที่จำเป็นคือ IP Address ซึ่งอุปกรณ์ในเครือข่ายจะต้องมี และต้องไม่ซ้ำกับอุปกรณ์อื่นๆ ในเครือข่ายเดียวกัน การกำหนดค่า IP Address สามารถทำได้โดยตั้งค่าของแต่ละอุปกรณ์เอง แต่ก็อาจจะสร้างความยุ่งยาก และอาจจะเกิดปัญหาได้ หากกำหนด IP Address ซ้ำกัน ในบทความนี้จะมาแนะนำวิธีการติดตั้ง DHCP Server ซึ่งจะหน้าที่ในการแจกจ่าย IP Address ให้อุปกรณ์ในเครือข่ายอย่างอัตโนมัติ เตรียมตัว --- 1. คอมพิวเตอร์ที่ใช้ทำหน้าที่เป็น DHCP Server ซึ่งในบทความนี้ใช้ Linux server ในการทำ 2. IP Address ที่จะแจกจ่ายให้กับเครื่องฯ ในเครือข่าย 3. - บน Linux นั้น ส่วนมากจะใช้ [ISC DHCP Server](https://www.isc.org/dhcp/) คำสั่งติดตั้ง ```shell=bash $ sudo apt update $ sudo apt install -y isc-dhcp-server ``` - เมื่อติดตั้งเสร็จ ก็ทำการตั้งค่า DHCP Server โดยมี 2 ไฟล์ที่ต้อง update คือ `/etc/dhcp/dhcpd.conf` และ `/etc/default/isc-dhcp-server.conf` **/etc/dhcp/dhcpd.conf** กำหนด IP range ที่จะใช้ และ options ต่างๆ รวมถึงการทำ fix ip ```config authoritative; # เปิดการใช้ dhcp server นี้ ## ตั้งค่า IP ที่จะใช้งาน และ option ต่างๆ subnet 192.168.56.0 netmask 255.255.255.0 { range 192.168.56.150 192.168.56.170; option routers 192.168.56.1; allow bootp; allow booting; filename "pxelinux.0"; } ## หากต้องการกำหนด IP ให้อุปกรณ์ host srv2 { hardware ethernet 08:00:27:55:40:24; fixed-address 192.168.56.155; } ``` **/etc/default/isc-dhcp-server.conf** กำหนด NIC ที่จะให้ dhcp แจก IP กับ network ไหน ```config INTERFACESv4="enp0s8" #INTERFACESv6="" ``` - ตั้งค่าต่างๆ แล้ว ลอง restart isc-dhcp-server จากประสบการณ์หากตั้งค่าถูกแล้ว ต้องทำการ reboot server ด้วย ```shell=bash $ sudo systemctl stop isc-dhcp-server $ sudo systemctl start isc-dhcp-server $ sudo systemctl status isc-dhcp-server ``` หากพบว่ามี dhcp รันอยู่แล้ว ให้ทำการ `sudo reboot`