ตั้งค่าเซิร์ฟเวอร์ DNS ต้นทาง (Upstream DNS Forwarding) สำหรับ ServBay
ในสภาพแวดล้อมการพัฒนาเว็บบนเครื่องของ ServBay จะมี DNS server ภายในช่วยจัดการการแปลชื่อโดเมนที่คุณตั้งค่ากับโครงการของตัวเอง เช่น .servbay.demo
โดยปกติแล้ว เมื่อ DNS server ของ ServBay ไม่สามารถแปลชื่อโดเมนบางชื่อได้เอง ระบบจะส่งต่อคำขอนั้นไปยังเซิร์ฟเวอร์ DNS ต้นทางที่ตั้งอยู่ใน macOS ของคุณโดยอัตโนมัติ อย่างไรก็ตาม เพื่อเพิ่มประสิทธิภาพของเครือข่าย เสริมความเป็นส่วนตัว หรือรองรับนโยบายเครือข่ายพิเศษ หลายคนจึงอยากเลือกเซิร์ฟเวอร์ DNS ต้นทางเอง เช่น 1.1.1.1 ของ Cloudflare หรือ 8.8.8.8 ของ Google คู่มือนี้จะแนะนำขั้นตอนการกำหนดเซิร์ฟเวอร์ DNS ต้นทางแบบกำหนดเองสำหรับ ServBay อย่างละเอียด
DNS ต้นทาง (Upstream DNS Forwarding Server) คืออะไร?
เซิร์ฟเวอร์ DNS ต้นทาง (Upstream DNS Server) หรือที่เรียกว่า DNS Forwarder คือปลายทางที่ DNS server ภายในของ ServBay (ปกติใช้ dnsmasq
) จะส่งต่อคำขอแปลชื่อโดเมนเมื่อไม่สามารถแปลได้เอง เซิร์ฟเวอร์นี้จะรับคำขอและค้นหาชื่อโดเมนบนอินเทอร์เน็ตให้ ตัวอย่างเช่น สำหรับโดเมนอย่าง google.com
หรือ API ภายนอกต่างๆ ที่โครงการของคุณต้องใช้งาน
ทำไมควรกำหนด DNS ต้นทางเองใน ServBay?
การปรับแต่ง DNS ต้นทางให้เหมาะกับคุณ ให้ประโยชน์หลายอย่างในสภาพแวดล้อมการพัฒนาเว็บบนเครื่อง:
1. เพิ่มความเร็วในการแปล DNS และความเสถียร
บริการ DNS สาธารณะอย่าง Cloudflare (1.1.1.1) หรือ Google (8.8.8.8) มักมีศูนย์ข้อมูลทั่วโลกและตอบสนองรวดเร็ว เสถียรกว่า DNS ของผู้ให้บริการอินเทอร์เน็ตทั่วไป การเลือกใช้ DNS เหล่านี้จึงช่วยลดเวลาแปลชื่อโดเมนและลดดีเลย์จากการค้นหา DNS
2. เสริมความเป็นส่วนตัว
บริการ DNS บางแห่ง รองรับการเข้ารหัสคำขอ DNS เช่น DNS over HTTPS (DoH) หรือ DNS over TLS (DoT) ซึ่งช่วยป้องกันการดักฟังหรือบันทึกข้อมูลจากบุคคลที่สาม เลือกใช้ DNS ที่คำนึงถึงความเป็นส่วนตัวจึงส่งผลดีต่อความปลอดภัยขณะพัฒนาเว็บ
3. เลี่ยงข้อจำกัดทางภูมิภาคหรือเข้าถึงแหล่งข้อมูลเฉพาะ
บางครั้ง DNS ของผู้ให้บริการอินเทอร์เน็ตในพื้นที่อาจถูกบล็อกหรือแทรกแซง เลือกใช้ DNS ต้นทางที่เหมาะสมอาจช่วยให้เข้าถึงแหล่งข้อมูลหรือ repo สำคัญสำหรับการพัฒนาได้ไร้อุปสรรคยิ่งขึ้น
4. ลดปัญหาความขัดแย้งของ DNS บนเครือข่ายองค์กร
ในสภาพแวดล้อมเครือข่ายซับซ้อน เช่น องค์กร, VPN หรือหลายเครือข่าย การกำหนด DNS ต้นทางเองใน ServBay จะช่วยแยกเส้นทาง DNS อย่างเป็นระบบ ลดโอกาสการชนกันของชื่อโดเมนภายในกับ DNS ระบบ
วิธีตั้งค่า DNS ต้นทางแบบกำหนดเองใน ServBay
ServBay มีส่วนติดต่อกราฟิกใช้งานง่ายสำหรับตั้งค่า DNS Forwarding เพียงทำตามขั้นตอนเหล่านี้:
ขั้นตอนที่ 1: เปิดแอปพลิเคชัน ServBay
ไปที่โฟลเดอร์ “แอปพลิเคชัน” (Applications) ใน macOS หาไอคอน ServBay
แล้วดับเบิ้ลคลิกเพื่อเปิดแผงควบคุมหลักของ ServBay
ขั้นตอนที่ 2: เข้าไปที่เมนู DNS Forwarding ในการตั้งค่าเครือข่าย
ในแถบนำทางด้านซ้ายของแผงควบคุม ServBay คลิก ตั้งค่า
(Settings) จากนั้น คลิกเมนูย่อย DNS Forwarding
ขั้นตอนที่ 3: เปิดใช้งาน DNS ต้นทางแบบกำหนดเอง
ที่บริเวณ DNS Forwarding
ให้มองหาและติ๊กถูกที่ Customize upstream DNS
เพื่อเปิดช่องให้ป้อนเซิร์ฟเวอร์ DNS ต้นทางด้วยตัวเอง
ขั้นตอนที่ 4: กรอกที่อยู่เซิร์ฟเวอร์ DNS ต้นทาง
หลังจากเลือก Customize upstream DNS
จะมีช่องให้กรอกที่อยู่ IP ของเซิร์ฟเวอร์ DNS ต้นทาง คุณสามารถกรอกได้ทั้ง IPv4 และ IPv6 หลายรายการ โดยใช้จุลภาคอังกฤษ ,
คั่นแต่ละที่อยู่
ตัวอย่างการใส่ที่อยู่ DNS สาธารณะของ Cloudflare (IPv4, IPv6) และ Google (IPv4):
1.1.1.1, 1.0.0.1, 8.8.8.8, 2606:4700:4700::1111, 2001:4860:4860::8888
1
หมายเหตุ: การรองรับ IPv6 ใน ServBay ขึ้นกับการตั้งค่าและเวอร์ชันของ DNS ภายใน (dnsmasq) โดยเวอร์ชันใหม่มักรองรับ IPv6 ได้
ขั้นตอนที่ 5: กดบันทึกและใช้งานการตั้งค่า
เมื่อป้อนทุกอย่างเสร็จ คลิกปุ่ม บันทึก
(Save) ใต้หน้าจอ
ขั้นตอนที่ 6: รีสตาร์ท DNS service เพื่อให้ค่าใหม่มีผล
หลังบันทึกการตั้งค่า ต้องรีสตาร์ท DNS service ของ ServBay เพื่อให้ค่าใหม่มีผลใช้งานจริง
- ไปที่แถบเมนูด้านซ้ายในแผงควบคุม ServBay คลิก
ซอฟต์แวร์แพ็กเกจ
(Packages) - มองหา
dnsmasq
(ตัวนี้คือ DNS service หลักของ ServBay) - คลิกปุ่มรีสตาร์ทถัดจาก dnsmasq (สัญลักษณ์เป็นลูกศรวนรอบ) หรือจะเลือกรีสตาร์ททั้ง ServBay ผ่านสวิตช์รวมตรงมุมล่างซ้ายในแผงควบคุมก็ได้ ซึ่งจะรีสตาร์ททุกบริการรวมถึง DNS ด้วย
(รูปประกอบ: ตำแหน่งเมนู และหน้าตาเมนู DNS Forwarding ในแผงควบคุมของ ServBay)
ตัวอย่างการตั้งค่า
ตัวอย่างนี้ใช้ DNS สาธารณะของ Cloudflare (1.1.1.1 และ 1.0.0.1) เป็น DNS ต้นทางของ ServBay:
- เปิดแอปฯ ServBay
- เข้าไปที่
ตั้งค่า
->DNS Forwarding
- ติ๊กที่
Customize upstream DNS
- ในช่องกรอกข้อมูล ใส่:
1.1.1.1, 1.0.0.1
1 - คลิกปุ่ม
บันทึก
ใต้หน้าจอ - ไปที่แท็บ
ซอฟต์แวร์แพ็กเกจ
หาdnsmasq
แล้วกดรีสตาร์ท
ข้อควรระวัง
- ตรวจสอบ DNS server ที่ใช้ให้พร้อมตอบสนอง: ก่อนตั้งค่า แนะนำให้ทดสอบว่าสามารถติดต่อกับเซิร์ฟเวอร์ DNS ที่เลือกได้ และมีความเร็วดี ด้วยคำสั่งเช่น
ping
หรือnslookup
/dig
หาก DNS ที่เลือกใช้ช้ามาก หรือไม่ตอบสนอง จะส่งผลต่อการทำงานปกติของ ServBay และสภาพแวดล้อมการพัฒนาบนเครื่อง - ฟอร์แมตการกรอก: ต้องคั่นรายการ IP ด้วยจุลภาคอังกฤษ
,
เท่านั้น หลีกเลี่ยงช่องว่าง (ยกเว้น ServBay กำหนดให้มี) - การรีสตาร์ทบริการ: หลัง save ทุกครั้ง ต้องรีสตาร์ท DNS service (
dnsmasq
) หรือ ServBay ทั้งหมด เพื่อให้การตั้งค่ามีผลใช้งาน - ผลกระทบกับโดเมนในเครื่อง: การตั้งค่า DNS ต้นทางจะมีผลเฉพาะกับโดเมนที่ ServBay ไม่สามารถ แปลได้เอง โดเมนที่คุณตั้งค่าใน ServBay (เช่น
.servbay.demo
หรือ custom TLD อื่นที่กำหนดไว้) ServBay จะพยายามแปลเองก่อนเสมอ ไม่ส่งต่อไปยัง DNS ต้นทาง
วิธีตรวจสอบว่า DNS ต้นทางแบบกำหนดเองใช้งานได้จริงหรือไม่
เมื่อกำหนดค่าเรียบร้อยแล้ว คุณสามารถตรวจสอบได้ดังนี้:
- ใช้เครื่องมือ command line: เปิดแอป “Terminal” บน macOS
- ใช้คำสั่ง
dig
สำหรับสอบถามโดเมนภายนอก (เช่นgoogle.com
) และระบุให้ชัดเจนว่าใช้ DNS ในเครื่องของ ServBay (127.0.0.1
หรือlocalhost
) ดังนี้bashdig google.com @127.0.0.1
1 - ดูผลลัพธ์บรรทัด
SERVER:
ควรเป็น127.0.0.1
แสดงว่าคำขอถูกส่งเข้า DNS ในเครื่องของ ServBay แล้ว - หากต้องการยืนยันว่า ServBay ส่งต่อ คำขอนี้ไปยัง DNS ต้นทางที่คุณตั้งหรือไม่ วิธีที่แม่นที่สุดคือ ดู log ของ DNS service (dnsmasq) ใน ServBay ซึ่งบันทึกว่าคำขอใดถูกส่งต่อไป server ไหน แผงควบคุม ServBay อาจมีเมนูดู log หรือคุณค้นหา path log file ของ dnsmasq เอง (ตามการติดตั้ง/ตั้งค่าของ ServBay)
- อีกวิธีหนึ่ง คือใช้โปรแกรมจับ packet (Wireshark, tcpdump) เพื่อดู traffic UDP/TCP port 53 ที่ออกไปยัง IP ของ DNS server ที่ตั้งไว้ แล้วรัน
dig google.com @127.0.0.1
ดูว่ามี traffic ออกไปจริงหรือไม่
หมายเหตุ: การดูจาก output ของ dig
เพียงอย่างเดียวอาจไม่ชัดเจนว่า ServBay ใช้ DNS ต้นทางที่คุณเลือกหรือไม่ การดู log ภายในของ ServBay หรือการจับ packet จะให้ความแน่นอนยิ่งกว่า
คำถามที่พบบ่อย (FAQ)
ถาม: ตั้งค่า DNS ต้นทางเองแล้ว แต่เว็บยังเข้าไม่ได้ ต้องทำอย่างไร?
ตอบ: ตรวจสอบว่า IP DNS server ที่ป้อนไปถูกรึเปล่า และ server นั้นตอบสนองหรือไม่ (ใช้คำสั่ง
ping
ทดสอบ) ตรวจสอบว่ากด "บันทึก" และ รีสตาร์ท DNS service (dnsmasq
) หรือ ServBay แล้ว หากยังมีปัญหา อาจเป็น firewall บนเครื่องที่บล็อกการออกไปหา DNS server ต่างประเทศ หรือโดเมนในเครื่องชนกับโดเมนจริง ลองดู log ของ ServBay เพิ่มเติมถาม: ใช้ IPv6 เป็น DNS ต้นทางได้ไหม?
ตอบ: ได้ ServBay รองรับการตั้ง DNS ต้นทางแบบ IPv6 ด้วย (DNS Forwarding) ให้แน่ใจว่าเขียนที่อยู่ IPv6 ถูกต้อง และใช้จุลภาคแยกกับ IPv4 หรือ IPv6 อื่นๆ
ถาม: ใช้ DNS สาธารณะปลอดภัยแค่ไหน?
ตอบ: DNS สาธารณะชื่อดังอย่าง Cloudflare (1.1.1.1), Google (8.8.8.8), Quad9 (9.9.9.9) ได้รับการยอมรับว่าปลอดภัยและเชื่อถือได้ ให้ประสิทธิภาพและความเป็นส่วนตัวมากกว่า DNS ทั่วไปของ ISP แต่อย่าลืมอ่านนโยบายความเป็นส่วนตัวของแต่ละเจ้าด้วย
ถาม: กำหนด DNS ต้นทางเอง มีผลกับโดเมนภายใน ServBay หรือไม่?
ตอบ: ไม่มีผล โดเมนที่ตั้งค่าไว้ในเมนู
เว็บไซต์
(Websites) เช่น.servbay.demo
หรือ custom TLD อื่นๆ ServBay แปลเองก่อนเสมอ คำขอที่แปลไม่ได้เท่านั้นถึงจะส่งต่อไป DNS ต้นทาง
สรุป
ServBay มีเมนูให้ตั้งค่า DNS ต้นทางได้เองอย่างง่ายดาย ช่วยให้สภาพแวดล้อมการพัฒนาเว็บเร็วขึ้น ตอบสนองไวขึ้น และเสริมความเป็นส่วนตัวตามต้องการ หากทำตามขั้นตอนในบทความนี้ จะช่วยให้คุณกำหนดแนวทางแปลชื่อโดเมนของ ServBay ได้ยืดหยุ่นยิ่งขึ้น ประสบการณ์พัฒนาเว็บบนเครื่องจึงลื่นไหลไร้กังวล อย่าลืมบันทึกและรีสตาร์ท DNS service ทุกครั้งหลังปรับค่าใหม่เพื่อให้ทุกอย่างมีผลทันที