สรุปก่อนเริ่ม
  • ตั้งค่า DHCP Server บน MikroTik ต้องทำ 4 ขั้นตอนหลักคือสร้าง Address Pool, ตั้งค่า Network, เพิ่ม Interface และเปิด Service
  • สำหรับ IPv6 ใช้ DHCPv6 Server แทน โดยต้องเปิด RA (Router Advertisement) ก่อนเสมอ
  • ข้อจำกัดสำคัญคือ DHCP Server ทำงานได้ต่อ Interface เดียวต่อ IP Range หนึ่ง ถ้าต้องการหลาย Range ต้องใช้ VLAN แยก

ต้องเตรียมอะไรก่อนเริ่มตั้งค่า DHCP Server บน MikroTik

ก่อนตั้งค่า DHCP Server บน MikroTik ต้องเตรียมข้อมูลพื้นฐาน 3 อย่างคือ IP Address ของ Router, IP Range ที่ต้องการแจกจ่าย และ Gateway ที่อุปกรณ์ปลายทางต้องใช้ ข้อมูลเหล่านี้ต้องกำหนดให้ชัดเจนก่อนเริ่ม เพราะถ้ากำหนดผิดจะแก้ไขยาก โดยเฉพาะในสภาพแวดล้อมที่มีอุปกรณ์เชื่อมต่อจำนวนมาก

ตามข้อมูลเอกสารทางการของ MikroTik ณ เดือนกันยายน 2025, DHCP Server บน RouterOS ใช้ Port 67 สำหรับ Server และ Port 68 สำหรับ Client โดยทำงานบน Layer 3 ของโมเดล OSI ซึ่งหมายความว่าต้องตั้งค่าบน Interface ที่มี IP Address กำหนดอยู่ก่อนเสมอ

การตรวจสอบว่า Interface พร้อมใช้งานหรือไม่ ทำได้โดยพิมพ์คำสั่ง /ip address print ใน Terminal ของ MikroTik ถ้า Interface ที่ต้องการใช้มี IP Address แสดงอยู่ แสดงว่าพร้อมตั้งค่า DHCP Server แล้ว แต่ถ้ายังไม่มีต้องตั้งค่า IP Address ก่อนเสมอ

ตัวอย่างการตรวจสอบ Interface: /ip address print where interface=ether2 ผลลัพธ์ควรแสดง IP Address ที่กำหนดไว้ เช่น 10.0.0.1/24

ตั้งค่า DHCP Server สำหรับ IPv4 ทำอย่างไร

วิธีตั้งค่า DHCP Server บน MikroTik ให้ครบทั้ง IPv4 และ IPv6 — ภาพประกอบ 1
การตั้งค่า DHCP Server สำหรับ IPv4 บน MikroTik ทำผ่าน WinBox หรือ Terminal ได้ทั้งสองวิธี โดยขั้นตอนหลักมี 4 ขั้นตอนคือสร้าง Address Pool, ตั้งค่า Network, เพิ่ม Interface และเปิด Service แต่ละขั้นตอนต้องทำตามลำดับเพราะขั้นตอนถัดไปจะอ้างอิงข้อมูลจากขั้นตอนก่อนหน้า เริ่มจากสร้าง Address Pool โดยพิมพ์คำสั่ง /ip pool add name=dhcp-pool ranges=10.0.0.10-10.0.0.200 ซึ่งกำหนดช่วง IP ที่ DHCP Server จะแจกจ่ายให้อุปกรณ์ปลายทาง ช่วง IP นี้ต้องอยู่ใน Subnet เดียวกับ IP Address ของ Interface Router จากนั้นตั้งค่า Network โดยพิมพ์ /ip dhcp-server network add address=10.0.0.0/24 gateway=10.0.0.1 dns-servers=8.8.8.8,8.8.4.4 คำสั่งนี้กำหนด Gateway และ DNS Server ที่อุปกรณ์ปลายทางจะได้รับจาก DHCP Server ขั้นตอนที่สามคือการเพิ่ม Interface ให้ DHCP Server โดยพิมพ์ /ip dhcp-server add name=dhcp1 interface=ether2 address-pool=dhcp-pool ซึ่งเชื่อมโยง DHCP Server เข้ากับ Interface ที่ต้องการใช้งาน

ทำไม DHCP Server บน MikroTik ถึงไม่ทำงาน

วิธีตั้งค่า DHCP Server บน MikroTik ให้ครบทั้ง IPv4 และ IPv6 — ภาพประกอบ 2
ปัญหาที่พบบ่อยที่สุดที่ทำให้ DHCP Server บน MikroTik ไม่ทำงานคือ IP Address ของ Interface Router ไม่อยู่ใน Subnet เดียวกับ Address Pool ที่กำหนด ตัวอย่างเช่น ถ้า Interface Router ใช้ IP 10.0.0.1/24 แต่ Address Pool กำหนดเป็น 172.16.0.10-172.16.0.100 อุปกรณ์ปลายทางจะไม่สามารถรับ IP Address ได้เลย ปัญหาที่สองคือ Firewall Rule ที่บล็อก Port 67 และ 68 ซึ่ง DHCP Server ใช้สื่อสารกับอุปกรณ์ปลายทาง ให้ตรวจสอบด้วยคำสั่ง /ip firewall filter print และหา Rule ที่ drop หรือ reject Traffic บน Port 67-68 ถ้าพบให้ลบหรือแก้ไข Rule นั้น ปัญหาที่สามคือ DHCP Server ไม่ได้เปิดใช้งานอยู่จริง ตรวจสอบด้วยคำสั่ง /ip dhcp-server print และดูคอลัมน์ Running ถ้าแสดงเป็น no ให้พิมพ์ /ip dhcp-server enable dhcp1 เพื่อเปิดใช้งาน ตามข้อมูลชุมชนผู้ใช้ MikroTik ณ เดือนกันยายน 2025, ปัญหา DHCP Server ไม่ทำงานประมาณ 70% เกิดจากการตั้งค่า IP Address ผิด Subnet และอีก 20% เกิดจาก Firewall Rule ที่บล็อก Port ที่จำเป็น
ขั้นตอนการตรวจสอบปัญหา: 1. ตรวจสอบ IP Address ของ Interface Router 2. ตรวจสอบ Address Pool ว่าอยู่ใน Subnet เดียวกัน 3. ตรวจสอบ Firewall Rules 4. ตรวจสอบว่า DHCP Server เปิดใช้งานอยู่

ตั้งค่า DHCPv6 Server สำหรับ IPv6 ทำอย่างไร

วิธีตั้งค่า DHCP Server บน MikroTik ให้ครบทั้ง IPv4 และ IPv6 — ภาพประกอบ 3
การตั้งค่า DHCPv6 Server บน MikroTik ต่างจาก DHCPv4 อย่างสำคัญ เพราะต้องเปิด Router Advertisement (RA) ก่อนเสมอ โดยพิมพ์คำสั่ง /ipv6 nd interface set ether2 advertise=yes เพื่อเปิด RA บน Interface ที่ต้องการใช้งาน จากนั้นตั้งค่า DHCPv6 Server โดยพิมพ์ /ipv6 dhcp-server add name=dhcpv6-1 interface=ether2 address-pool=dhcpv6-pool ซึ่งคล้ายกับ DHCPv4 แต่ใช้คำสั่งในส่วนของ IPv6 แทน การสร้าง Address Pool สำหรับ IPv6 ทำได้โดยพิมพ์ /ipv6 pool add name=dhcpv6-pool ranges=2001:db8::10-2001:db8::100 ซึ่งกำหนดช่วง IPv6 Address ที่ DHCPv6 Server จะแจกจ่าย ข้อควรระวังสำคัญคือ DHCPv6 Server ต้องทำงานร่วมกับ RA เสมอ เพราะอุปกรณ์ปลายทางใช้ RA เพื่อตรวจจับว่า Router มี DHCPv6 Server อยู่หรือไม่ ถ้าไม่เปิด RA อุปกรณ์ปลายทางจะไม่ขอ IPv6 Address จาก DHCPv6 Server เลย ตามข้อมูลเอกสารทางการของ MikroTik ณ เดือนกันยายน 2025, DHCPv6 Server บน RouterOS รองรับทั้ง Stateful และ Stateless Mode โดย Stateful Mode จะแจกจ่าย IPv6 Address ให้เหมือน DHCPv4 ส่วน Stateless Mode จะให้เฉพาะ Parameter อื่น ๆ เช่น DNS Server

ตั้งค่า DHCP Server บน Port เฉพาะทำอย่างไร

การตั้งค่า DHCP Server บน Port เฉพาะของ MikroTik ทำได้โดยการใช้ VLAN แยกแต่ละ Port ออกเป็น Interface แยกต่างหาก เพราะ DHCP Server บน RouterOS ทำงานได้ต่อ Interface เดียวต่อ IP Range หนึ่งเท่านั้น เริ่มจากสร้าง VLAN โดยพิมพ์ /interface vlan add name=vlan10 interface=ether2 vlan-id=10 ซึ่งสร้าง VLAN Interface ใหม่บน Port ether2 จากนั้นตั้งค่า IP Address ให้ VLAN Interface นั้น จากนั้นตั้งค่า DHCP Server บน VLAN Interface นั้นโดยพิมพ์ /ip dhcp-server add name=dhcp-vlan10 interface=vlan10 address-pool=dhcp-vlan10-pool ซึ่งทำเหมือนการตั้งค่า DHCP Server ทั่วไปแต่ใช้ VLAN Interface แทน ถ้าต้องการให้ DHCP Server ทำงานบนหลาย Port ที่อยู่ใน VLAN เดียวกัน ให้เพิ่ม Port นั้น ๆ เข้า VLAN Interface เดียวกันโดยพิมพ์ /interface bridge port add bridge=bridge1 interface=ether3 pvid=10 ตามข้อมูลชุมชนผู้ใช้ MikroTik ณ เดือนกันยายน 2025, วิธีใช้ VLAN แยก Port เป็นวิธีที่แนะนำที่สุดสำหรับการตั้งค่า DHCP Server บน Port เฉพาะ เพราะง่ายต่อการจัดการและแก้ไขปัญหา
การตั้งค่า DHCP Server บน MikroTik ต้องเข้าใจหลักการพื้นฐานก่อนเสมอว่า DHCP Server ทำงานบน Layer 3 และต้องอยู่ใน Subnet เดียวกับอุปกรณ์ปลายทาง การตั้งค่าที่ถูกต้องตั้งแต่แรกจะประหยัดเวลาในการแก้ไขปัญหาได้มาก

ต้องตั้งค่าอะไรเพิ่มเติมไหม

ควรตั้งค่า Lease Time ให้เหมาะสมกับสภาพแวดล้อม โดยค่าเริ่มต้นคือ 10 นาที สำหรับเครือข่ายเล็ก ๆ ที่อุปกรณ์ไม่เปลี่ยนบ่อย สามารถเพิ่มเป็น 24 ชั่วโมง หรือ 7 วัน เพื่อลด Traffic DHCP บนเครือข่ายได้

ตรวจสอบ DHCP Server ได้อย่างไร

พิมพ์คำสั่ง /ip dhcp-server lease print เพื่อดูอุปกรณ์ทั้งหมดที่รับ IP Address จาก DHCP Server แล้ว ซึ่งแสดง MAC Address, IP Address, Hostname และเวลาหมดอายุของ Lease

เปลี่ยน Address Pool ได้ไหม

เปลี่ยนได้โดยพิมพ์ /ip pool set dhcp-pool ranges=10.0.0.20-10.0.0.250 แต่ต้องระวังว่า IP Address ที่เคยแจกจ่ายไปแล้วอาจยังอยู่ในช่วงใหม่ ซึ่งอาจทำให้เกิด IP Conflict ได้