วิธีตั้งค่า Dynamic DNS (DDNS) บน pfSense ด้วย FastDDNS

pfSense สามารถทำให้ hostname ของ FastDDNS ชี้ไปยัง WAN address ของคุณได้สองวิธี ได้แก่ เพิ่มเป็น Custom entry ใน Dynamic DNS client ที่มีมาในตัว หรือใช้ cron script แบบบรรทัดเดียว คู่มือนี้จะแนะนำทั้งสองวิธีและอธิบายว่าทำไมมีเพียงวิธีเดียวที่ยังคงอยู่หลังการกู้คืนการตั้งค่า

Minh NguyenMinh Nguyenผู้ก่อตั้งและนักพัฒนา FastDDNS

สองวิธีในการรัน FastDDNS บน pfSense

แผงจัดการ hostname ของคุณมีการตั้งค่าให้เลือกสองแบบ วิธีที่ 2 เพิ่ม FastDDNS ลงในไคลเอนต์ Services > Dynamic DNS ที่ติดตั้งมาในระบบในฐานะผู้ให้บริการ Custom — นี่คือวิธีที่ควรใช้ในระยะยาว เพราะ pfSense จะเก็บการตั้งค่านี้ไว้ในคอนฟิกและสำรองข้อมูลไว้ด้วย วิธีที่ 1 วางสคริปต์บรรทัดเดียวลงในเชลล์เพื่อติดตั้งงาน cron ที่ทำงานทุกสองนาที วิธีนี้ใช้งานได้ทันที แต่ pfSense จะไม่จัดการงานดังกล่าว

การเรียงหมายเลขด้านล่างเป็นไปตามป้ายกำกับในแผงของคุณ ไม่ใช่ลำดับที่เราแนะนำ ตั้งค่าวิธีที่ 2 สำหรับการใช้งานระยะยาว และใช้วิธีที่ 1 เมื่อคุณต้องการส่งการอัปเดตทันทีโดยไม่ต้องกรอกแบบฟอร์ม


วิธีที่ 2 — ไคลเอนต์ DDNS ในตัว วิธีที่ 1 — สคริปต์ crontab
ตำแหน่งที่ใช้ทำงาน Services > Dynamic DNS ในเว็บ UI Diagnostics > Command Prompt, หรือ SSH
เก็บไว้ในคอนฟิกของ pfSense ใช่ ไม่ — ดูข้อจำกัดด้านล่าง
ยังคงอยู่หลังการกู้คืนคอนฟิกหรือการติดตั้งใหม่ ใช่ ไม่
เมื่อส่งการอัปเดต เมื่อที่อยู่ของอินเทอร์เฟซที่ตรวจสอบอยู่เปลี่ยนแปลง รวมถึงตรวจสอบซ้ำวันละครั้ง ทุก 2 นาที โดยไม่คำนึงถึงการเปลี่ยนแปลง
ความยุ่งยากในการตั้งค่า มีเจ็ดช่อง โดยสี่ช่องคัดลอกมาจากแผง วางเพียงครั้งเดียว
เหมาะสำหรับ การตั้งค่าถาวร การอัปเดตครั้งแรกทันที หรือการทดสอบอย่างรวดเร็ว

ก่อนเริ่มต้น

มีสี่อย่าง และสองอย่างในนั้นเป็นตัวตัดสินว่าการเข้าถึงจากระยะไกลจะใช้งานได้หรือไม่

  • ชื่อโฮสต์ FastDDNS สร้างฟรีได้ที่ FastDDNS จากนั้นเปิด hostname แล้วเลื่อนลงไปที่ DDNS Configuration Parameters > Firewall pfSense.
  • สิทธิ์ผู้ดูแลระบบสำหรับเว็บอินเทอร์เฟซ pfSense และสิทธิ์เข้าถึง shell หากคุณวางแผนจะใช้วิธีที่ 1 เท่านั้น
  • IP สาธารณะจริงบนอินเทอร์เฟซ WAN หาก ISP ของคุณให้คุณอยู่หลัง Carrier-Grade NAT, DDNS ก็ช่วยอะไรไม่ได้ เพราะ hostname จะชี้ไปยังที่อยู่ที่ไม่มีใครนอก ISP เข้าถึงได้ ตรวจสอบที่อยู่ WAN บนแดชบอร์ด pfSense หรือเรียกใช้ CGNAT Checker ใน แอปพลิเคชันมือถือ FastDDNS.
  • กฎไฟร์วอลล์และ NAT สำหรับสิ่งที่คุณต้องการเข้าถึง DDNS เพียงทำให้ชื่อชี้ไปยังที่อยู่ที่ถูกต้อง ส่วนวิธีเข้าถึงยังเป็นหน้าที่ของคุณ ตรวจสอบภายหลังด้วย Port Check.

บนแดชบอร์ด pfSense หากที่อยู่บนอินเทอร์เฟซ WAN อยู่ในช่วง 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 หรือ 100.64.0.0/10 แสดงว่ามีอุปกรณ์ต้นทางบางอย่างกำลังทำ NAT อยู่ ช่วง 100.64.0.0/10 เป็นช่วงที่สงวนไว้สำหรับ Carrier-Grade NAT


วิธีที่ 2 — เพิ่ม FastDDNS เป็นไคลเอนต์ Dynamic DNS แบบกำหนดเอง

นี่คือการตั้งค่าที่ควรเก็บไว้ pfSense จะจัดเก็บไว้ใน config.xml ดังนั้นการตั้งค่านี้จะกลับมาพร้อมกับการกู้คืนการตั้งค่า และยังคงอยู่หลังติดตั้งใหม่

ขั้นตอนที่ 1 — คัดลอก URL การอัปเดตจากแผงควบคุม hostname

เปิด hostname ของคุณ เลื่อนลงไปที่ DDNS Configuration Parameters แล้วขยาย Firewall pfSense ทุกอย่างที่จำเป็นสำหรับทั้งสองวิธีอยู่ในแผงเดียวนี้:

แผง Firewall pfSense ในแดชบอร์ด FastDDNS: วิธีที่ 1 ติดตั้งสคริปต์ข้างต้น และ วิธีที่ 2 ใช้ Service Type เป็น Custom, Force IPv4 DNS Resolution, Update URL และ Description ด้านล่าง
แผงควบคุมในปัจจุบัน — hostname และข้อมูลรับรองถูกปิดบังในภาพหน้าจอนี้ ส่วนของคุณจะแสดงข้อมูลครบถ้วน

คัดลอก Update URL ภายใต้ Method 2 มี hostname และข้อมูลเข้าสู่ระบบของคุณอยู่แล้ว:

https://client.fastddns.net/?hostname=myhome.fastddns.net&user_name=YOUR-USERNAME&user_pass=YOUR-UPDATE-PASSWORD

ค่าทั้งสามที่เป็นตัวพิมพ์ใหญ่ใช้แทนข้อมูลส่วนตัวของบัญชีคุณ — แผงควบคุมจะกรอกข้อมูลเหล่านี้ให้เอง

ขั้นตอนที่ 2 — เปิดไคลเอนต์ Dynamic DNS

ในอินเทอร์เฟซเว็บของ pfSense ให้ไปที่ Services > Dynamic DNS แล้วคลิก + เพิ่ม

ขั้นตอนที่ 3 — กรอกข้อมูลในช่อง

ช่อง ค่า เหตุผล
Service Type Custom FastDDNS ไม่อยู่ในรายการผู้ให้บริการในตัว และไม่จำเป็นต้องอยู่ในรายการ
Interface to Monitor WAN อินเทอร์เฟซที่การเปลี่ยนแปลงที่อยู่จะเป็นตัวกระตุ้นให้อัปเดต
Hostname ชื่อโฮสต์ FastDDNS ของคุณ URL การอัปเดตมี hostname นี้อยู่แล้ว ดังนั้นสำหรับประเภท Custom ค่านี้จึงเป็นเพียงป้ายกำกับที่คุณจะเห็นในรายการ
Update URL URL จากขั้นตอนที่ 1 วาง URL ทั้งหมด ไม่มี %IP% ให้แทนที่ — FastDDNS จะบันทึกที่อยู่จากต้นทางของคำขอ
Force IPv4 DNS Resolution เลือกไว้ บังคับให้ resolve โฮสต์อัปเดตผ่าน IPv4 เท่านั้น ดังนั้นที่อยู่ที่ FastDDNS บันทึกไว้จะเป็นที่อยู่ IPv4 ของ WAN แทนที่จะเป็น IPv6
Result Match เว้นว่างไว้ pfSense จะเปรียบเทียบค่านี้กับข้อความตอบกลับทั้งหมด FastDDNS จะตอบกลับว่า good หลังจากมีการเปลี่ยนแปลง และ nochg เมื่อไม่มีการเปลี่ยนแปลง ดังนั้นจึงไม่มีสตริงคงที่ค่าเดียวที่ตรงกับทั้งสองกรณี — คำแนะนำของแผงควบคุมเองจึงไม่ได้กำหนดค่าไว้
Description FastDDNS.net ข้อความอิสระสำหรับใช้อ้างอิงของคุณเอง
แผงควบคุม Firewall pfSense ในแดชบอร์ด FastDDNS วิธีที่ 2 ถูกเน้น: ประเภทบริการ กำหนดเอง, ตรวจสอบบังคับให้แก้ไข DNS IPv4, อัปเดต URL และช่องคำอธิบาย
ค่าของ Method 2 ตามที่แผงควบคุมแสดง — เป็นหน้าเวอร์ชันเก่าที่ใช้ธีมสว่าง ช่องต่าง ๆ ยังคงเหมือนเดิม

ขั้นตอนที่ 4 — บันทึก แล้วอ่านคอลัมน์สถานะ

คลิก บันทึก & บังคับอัปเดต. จากนั้นกลับไปที่รายการ Services > Dynamic DNS คอลัมน์ Cached IP ควรแสดงที่อยู่ WAN ปัจจุบันของคุณ หากว่างเปล่า หรือยังคงเป็นข้อมูลเก่าหลังจากบังคับอัปเดต แสดงว่าการอัปเดตไม่สำเร็จ — ดูสาเหตุได้จากตารางการแก้ไขปัญหาด้านล่าง

สิ่งหนึ่งที่ควรเข้าใจเกี่ยวกับวิธีนี้คือ วิธีนี้ทำงานตามเหตุการณ์ ไม่ใช่การส่งสัญญาณทุกสองนาที Netgate ระบุว่าบริการนี้จะอัปเดต เมื่อที่อยู่อินเทอร์เฟซเปลี่ยนแปลง และ pfSense ยังมีรายการ cron เริ่มต้นที่ทำงาน /etc/rc.dyndns.updateวันละครั้งเวลา 01:01 เพื่อเป็นมาตรการสำรอง ดังนั้นการอัปเดตที่ล้มเหลวจะถูกลองใหม่ — เพียงแต่ไม่ใช่ภายในไม่กี่นาที หากต้องการอัปเดตทันที ให้ใช้ บันทึก & บังคับอัปเดต.

หากต้องการเรียกใช้ endpoint เดิมจากสคริปต์ของคุณเอง พารามิเตอร์มีระบุไว้ใน หน้าคู่มือ FastDDNS client API

การสาธิตด้านล่างเป็นการบันทึกแบบเก่า ดังนั้นแผงควบคุมจึงดูแตกต่างจากภาพหน้าจอที่นี่ ฟิลด์และลำดับของขั้นตอนยังคงเหมือนเดิม