ปกติในอุปกรณ์ Synology NAS จะมีบริการ DDNS ของผู้ให้บริการต่างๆให้เลือกใช้งานอยู่แล้ว ไม่ว่าจะเป็นบริการของ No-IP.com, DYNDNS หรือแม้แต่บริการของทาง Synology เอง ( synology.me )
แต่หากเราใช้บริการของ Cloudflare อยู่แล้ว เราเองก็อยากจะใช้เป็นชื่อโดเมนของตัวเอง แต่ใน DSM ไม่มีผู้ให้บริการที่เป็น Cloudflare ให้เลือก ซึ่ง หากใครต้องการใช้ชื่อโดเมนตัวเองที่ใช้บริการ Cloudflare อยู่ จะต้องชี้ CNAME ไปทีชื่อ DDNS ของผู้ให้บริการอื่นที่รองรับ
ด้วยความที่สงสัยว่า เราจะสามารถเพิ่มผู้ให้บริการ DDNS เข้าไปใน DSM เองได้หรือไม่ เลยได้ลองไปสำรวจในระบบ และได้เจอกับ script ของผู้บริการรายอื่นในระบบ จึงได้คัดลอกมาเป็นต้นแบบและเขียนเพิ่มเข้าไป เพื่อเรียกใช้ cloudflare api วันนี้เลยนำไฟล์ที่เขียนมาแจกให้ใช้งานกัน โดยมีขั้นตอนการติดตั้ง และตั้งค่าดังนี้ครับ
ขั้นตอนการติดตั้ง
1. เปิดการใช้งาน SSH Service โดยเข้าไปที่ Control Panel -> Terminal & SNMP จากนั้นทำเครื่องหมายถูกหน้า Enable SSH Service และหากเปิด Firewall เอาไว้ อย่าลืมเปิด port 22 หรือ port อื่นที่ตั้งค่าเอาไว้ด้วยครับ
2. ใช้ User ที่มีสิทธิ์เป็น Admin เข้า SSH เมื่อเข้าได้แล้ว เปลี่ยนสิทธิ์เป็น root ด้วยคำสั่งด้านล่างนี้
sudo -i
3. ดาวน์โหลด Script จาก Github วางไว้ที่ /usr/syno/bin/ddns/cloudflareddns.php
wget https://raw.githubusercontent.com/Freedomlover/SynologyCloudflareDDNS/main/cloudflareddns.php -O /usr/syno/bin/ddns/cloudflareddns.php
4. กำหนดสิทธิ์ให้กับไฟล์
chmod +x /usr/syno/bin/ddns/cloudflareddns.php
5. เพิ่มการตั้งค่า DDNS เพื่อให้เรียกใช้งาน Script ที่ดาวน์โหลดมา โดยให้คัดลอกทีละบรรทัด
echo "[Cloudflare DDNS]">>/etc.defaults/ddns_provider.conf
echo " modulepath=/usr/syno/bin/ddns/cloudflareddns.php">>/etc.defaults/ddns_provider.conf
echo " queryurl=https://www.cloudflare.com">>/etc.defaults/ddns_provider.conf
echo " website=https://www.cloudflare.com">>/etc.defaults/ddns_provider.conf
เสร็จขั้นตอนการติดตั้งครับ
การดูค่าพารามิเตอร์ที่จำเป็นจาก Cloudflare
สำหรับค่าพารามิเตอร์ที่จำเป็นต้องใช้มีด้วยกัน 2 ค่า คือ Zone ID และ API Tokens
1. Zone ID ให้คลิกเข้าไปที่โดเมนที่เราต้องการใช้งาน จากนั้นจะมาที่หน้า Overview รหัส Zone ID จะอยู่ทางขวาของจอ
2. การสร้าง API Tokens ให้ไปที่เมนู My Profile -> API Tokens คลิกปุ่ม Create Token
3. คลิก Use template ในส่วนของ Edit zone DNS
4. ในส่วน Permissions ให้เลือก Zone, DNS, Edit และในส่วนของ Zone Resources ให้เลือกเป็น Include, Specific zone, ชื่อโดเมนที่ต้องการ จากนั้นกดปุ่ม Continue to summary และกดปุ่ม Create Token และให้คัดลอก API Token เก็บเอาไว้
ขั้นตอนการตั้งค่าใน Synology
เมื่อติดตั้งเรียบร้อยแล้ว จะมีรายชื่อผู้ให้บริการ DDNS เป็นชื่อ Cloudflare DDNS เพิ่มเข้ามา โดยการตั้งค่ามีดังนี้
1. ไปที่ Control Panel -> External Access จากนั้นกด Add เพื่อเพิ่ม DDNS ใหม่ โดยให้เลือก Cloudflare DDNS
2 ให้ใส่ข้อมูลดังนี้
- Hostname : ใส่ชื่อ sub domain ที่เราต้องการ
- Username/Email : ใส่ Zone ID
- Password/Key : ใส่ API Token
จากนั้นกดปุ่ม Test Connection เพื่อทดสอบว่าสามารถทำงานได้หรือไม่ หากไม่มีข้อผิดพลาด กดปุ่ม OK เพื่อเพิ่ม DDNS เข้าสู่ระบบ
เพียงเท่านี้ เราก็ได้ชื่อโดเมนของเราเอง มาทำ DDNS กันได้ใช้งานฟรีๆแล้วครับ
ตรวจสอบความถูกต้อง DNS ใน Cloudflare
หากมีปัญหาการใช้งาน สามารถตรวจสอบการอัปเดตได้จาก Github ครับ
สอบถามหน่อยครับ ชื่อ hostname เราสร้างเอง ไม่ต้องไปสร้างจาก ddns free จากที่อื่นใช่ไหมครับ ลองทำตามดูแล้วมันแปลก ๆ
ใช่ครับ ถ้ามีโดเมนของตัวเอง แล้วสมัครใช้บริการ cloudflare แล้วสามารถใช้ชื่อโดเมนของตัวเองได้เลยครับ