• เข้าสู่ระบบ
  • ลงทะเบียน
รวมบทความเกี่ยวกับการทำ Self-Host
ไม่พบผลการค้นหา
ดูผลการค้นหาทั้งหมด
  • หน้าหลัก
  • บทความ
    • Synology NAS
    • Omada SDN
    • pfSense
    • Proxmox
    • Home Assistant
    • Network Security
วันอาทิตย์ ที่ 15 มิถุนายน 2025, 17:56 น.
  • หน้าหลัก
  • บทความ
    • Synology NAS
    • Omada SDN
    • pfSense
    • Proxmox
    • Home Assistant
    • Network Security
ไม่พบผลการค้นหา
ดูผลการค้นหาทั้งหมด
รวมบทความเกี่ยวกับการทำ Self-Host
หน้าหลัก Tutorial Synology NAS

เชื่อมต่อ Synology NAS จากภายนอก ผ่าน Cloudflare DNS Proxy ร่วมกับ Reverse Proxy ที่ติดมากับ NAS (nginx)

kiraro โดย kiraro
25 สิงหาคม, 2023
in Tutorial, Synology NAS
A A
4
0
แชร์
3k
จำนวนวิว
Share on FacebookShare on Twitter

ตารางเนื้อหา

  • 1. เรียกใช้งานผ่านซับโดเมน (Sub Domain) ดียังไง?
  • 2. แล้วเราต้องมีอะไรบ้าง ถึงจะใช้งานแบบนี้ได้?
  • 3. ตั้งค่าการใช้งาน และ Sub Domain ในฝั่ง Cloudflare
  • 4. ฟอร์เวิร์ดพอร์ต 443 ในเราเตอร์ไปยัง NAS
  • 5. ตั้งค่า Reverse Proxy ใน NAS
  • 6. สร้าง SSL Certificate ใน NAS ด้วย Let’s Encrypt

สำหรับท่านที่ใช้งาน Synology NAS จากข้างนอกผ่าน QuickConnect จะพบปัญหาว่าความเร็วที่ได้ค่อนข้างต่ำมากแทบใช้งานไม่ได้เลย หลายท่านเลยก็ใช้วิธี Forward Port ผ่าน DDNS ของผู้ให้บริการไม่ว่าจะเป็น thddns.net ของ AIS, 3bbddns.com ของ 3BB หรือ trueddns.com ของทางฝั่ง TrueOnline ที่ส่วนมากจะสุ่ม Port มาให้ใช้งาน 10 Port ด้วยกัน ถามว่าใช้งานได้ไหม ก็พอได้อยู่แต่ว่าในแง่ของความปลอดภัยนั้นคงไม่แนะนำเนื่องจากเราต้องเปิดพอร์ตหลายพอร์ตสำหรับหลายเซอร์วิส เหมือนเปิดประตูบ้านหลายบานการดูแลก็คงไม่ทั่วถึง บางครั้งก็มีอะไรหลุดรอดสายตาเราเข้ามาได้นั่นเอง วันนี้เลยมาแนะนำวิธีการเปิดประตูบานเดียวให้ทุกอย่างผ่านเข้าประตูนี้ พร้อมกับยามเผ้าประตูอีกชั้นหนึ่งด้วย นั่นก็คือการใช้งานผ่านโดเมน (Domain) ของเราเองที่ผูกไว้กับทาง Cloudflare ครับผม

1 เรียกใช้งานผ่านซับโดเมน (Sub Domain) ดียังไง?

  • อย่างแรกเลยคือมันดูเท่ห์ครับ ฮ่าๆ อย่างผมมีโดเมน ชื่อ homelab.in.th ถ้าต้องการจะใช้งาน Synology Photos ก็เพียงแค่สร้างซับโดเมนขึ้นมาสมมติว่าชื่อ photo.homelab.in.th แล้วก็เข้าใช้งานผ่าน URL นี้เลย หรือจะเข้าไปใช้ Plex ก็สร้าซับโดเมน ที่ชื่อ plex.homelab.in.th ก็สามารถเข้าไปดูหนังผ่านลิงค์นี้ได้เลยเช่นกัน จะเห็นได้ว่าเราสามารถแยกเซอร์วิสต่างๆ ได้อย่างเป็นระบบ ผ่านซับโดเมนของเราได้นั่นเองครับ
  • ข้อดีต่อมาคือ ด้วยวิธีนี้เราจะเปิดพอร์ตที่เราเตอร์แค่พอร์ตเดียวครับ คือพอร์ตของ HTTPS หรือ พอร์ต 443 ไม่ว่าจะมีกี่ซับโดเมนก็ตาม การมอนิเตอร์ก็จะทำได้ง่ายขึ้นอีกทั้งเรายังสามารถทำ SSL Certificate หรือเครื่องหมายกุญแจหน้า URL เพื่อเข้ารหัสการเชื่อมต่อให้ปลอยภัยมากขึ้นได้อีกด้วย
รูปที่ 1: เปรียบเทียบการเชื่อมต่อเข้าใช้งาน Web Application แบบไม่ใช้ Reverse Proxy และ ใช้ Reverse Proxy
  • เมื่อเราใช้งานผ่าน Cloudflare DNS Proxy ตัว Cloudflare จะทำหน้าที่เป็น Proxy Server หรือด่านหน้าให้กับเราก่อนโดยการซ่อน IP จริงของเราไว้ป้องการการถูก DDOS และยังเป็น ไฟร์วอลล์วอร์ด่านหน้าปราการแรกให้กับเราอีกด้วย ยกตัวอย่างเช่นถ้าเราใช้งานอยู่แค่ในประเทศไทย ก็ตั้งค่า ไฟร์วอลล์ของ Cloudflare ให้อนุญาตการเข้าถึงจาก IP แค่ในประเทศไทยเท่านั้น ต่างประเทศบล็อคให้หมด ถือว่าคัดกรองภัยคุกคามออกไปได้เยอะเลยทีเดียว
  • สามารถจัดการการเข้าถึงด้วย ไฟร์วอลล์หรือ Access Control Profile ใน Synology NAS ได้เลยผ่านพอร์ต 443

2 แล้วเราต้องมีอะไรบ้าง ถึงจะใช้งานแบบนี้ได้?

  • พลังอันยิ่งใหญ่ก็ต้องมากับภาระอันใหญ่ยิ่ง ถ้าคิดจะมาสายนี้แล้วก็ต้องไปให้สุดครับ เนื่องจากเราจะเรียกใช้งานผ่านซับโดเมน ดังนั้นสิ่งที่ขาดไปไม่ได้เลยก็คือโดเมนของเราครับ จะ .con .net .io หรือดอทอะไรก็แล้วแต่ วิธีที่ง่ายและปลอดภัยที่สุดคือจดทะเบียนผ่าน Cloudflare ไปเลย ราคาก็จะอยู่ที่ประมาณ 250-400 บาทต่อปี สำหรับโดเมน ที่เป็น .com .net และแพงขึ้นไปตามความนิยมของชื่อครับ สำหรับใครต้องการสมัครก็สามารถสมัครได้ตามลิงค์นี้เลยครับ www.cloudflare.com/products/registrar/ ก่อนสมัครเค้าจะบังคับให้สร้างบัญชีผู้ใช้ของ Cloudflare ก่อน ก็ทำการสมัครตามขั้นตอนได้เลยครับ
  • ส่วนใครที่ไม่อยากเสียเงินจ่ายค่าโดเมนรายปี สามารถสมัครโดเมนฟรีกับทาง DuckDNS ที่เว็บไซต์ www.duckdns.org หรือ Synology เองก็มีบริการโดเมนฟรีเช่นกัน เข้าไปตั้งค่าได้ที่ Control Panel > External Access > DDNS แล้วเลือก Service Provider เป็น Synology ตรงนี้เราต้องสมัคร Synology Account ให้เรียบร้อยก่อนถึงจะใช้บริการนี้ได้
รูปที่ 2: หน้า interface การตั้งค่า DDNS ของทาง Synology
  • Public IP หรือ IP จริงตามแล้วแต่เราจะเรียกกันครับ ณ ตอนนี้ถ้าใครใช้เน็ตของ True หรือ 3BB น่าจะยังขอกันได้ฟรีอยู่ครับ แต่ AIS Fibre ต้องจ่ายค่า Public IP เพิ่มอีกเดือนละ 200 บาท วิธีการขอก็คือโทรไปที่คอลเซนเตอร์ของผู้ให้บริการแล้วบอกว่าขอ Public IP หรือ ปลด NAT ครับ
  • และสุดท้ายที่ขาดไม่ได้เลยคือ Synology NAS ครับ โดย NAS ที่ผมใช้เป็นรุ่น DS920+ กับ DSM เวอร์ชัน 7.2 ครับ ใครที่ยังไม่อัพเดทก็แนะนำให้อัพเดทให้เรียบร้อยครับ เพื่อปิดช่องโหว่และเพิ่มฟีเจอร์ใหม่ๆ

3 ตั้งค่าการใช้งาน และ Sub Domain ในฝั่ง Cloudflare

  • ล็อกอินเข้า dash.cloudflare.com เลือกโดเมนที่เราต้องการใช้งาน ทางแถบซ้ายเลือกไปที่ DNS > Record จากนั้นกด Add record
  • ในส่วนของ Type เลือกเป็น “CNAME” หรือจะเลือกเป็น “A” ก็ได้หากต้องการชี่ไปที่ IPv4 address โดยตรง
  • ช่อง Name เลือกใช้ชื่อเว็บแอพที่เราจะใช้งาน ตรงนี้คือส่วนของซับโดเมนนั้นเอง ตัวอย่างเลือกเป็น photo จะได้ FQDN หรือลิงค์ที่เข้าใช้งานเป็น “https://photo.homelab.in.th”
  • Target คือส่วนของโดเมนที่เราจะชี้ไป ในตัวอย่างชี้ไปที่ domain หลักของเราคือ homelab.in.th ก็เลือก “@” หรือ “homelab.in.th” ได้เลย
  • Proxy status เราจะเปิดหรือปิดก็ได้ ถ้าเลือกเปิด Cloudflare จะซ่อน IP จริงของเราให้และใช้งาน WAF หรือ Web application firewall ของทาง Cloudflare ได้อีกด้วยป้องกัน DDOS ได้ระดับหนึ่ง แต่ถ้ามีการรับส่งข้อมูลไฟล์รูปภาพหรือไฟล์วีดีโอจำนวนมากๆ แนะนำให้ปิดเพราะอาจจะขัดกับนโยบายของ Cloudflare และโดนจำกัดความเร็วได้
  • จากนั้นกด Save
รูปที่ 3: การเพิ่มและการตั้งค่าซับโดเมนใน Cloudflare
  • ตรงนี้เราก็จะได้ซับโดเมนที่เราพร้อมจะใช้งานในส่วนของ Cloudflare แล้ว
  • ส่วนเรื่องการอัพเดทข้อมูล “A record” หรือ DDNS อัตโนมัติเมื่อ Public IP ของเราเปลี่ยน สามารถเข้าไปดูบทความที่เกี่ยวข้องได้ที่นี่เลย www.homelab.in.th/cloudflare-ddns-synology-nas-container-manager/

4 ฟอร์เวิร์ดพอร์ต 443 ในเราเตอร์ไปยัง NAS

เมื่อเราเรียกใช้งานผ่านเว็บบราวน์เซอร์ ตัวอย่างเช่น https://photo.homelab.in.th ทาง Cloudflare จะรับส่งข้อมูลผ่านพอร์ต 443 อัตโนมัติ ดังนั้นเราเตอร์ของเราเองก็จำเป็นต้องเปิดพอร์ต 443 และฟอร์เวิร์ดพอร์ต 443 ไปยัง IP Address ของ NAS ในวงแลน (LAN) เพื่อเรียกใช้งานเว็บแอพผ่าน Reverse Proxy วิธีการฟอร์เวิร์ดพอร์ตเราเตอร์แต่ละรุ่นก็จะแตกต่างกันไป ต้องอ่านดูจากคู่มือของเราเตอร์ที่ท่านใช้งานเอง ซึ่งส่วนมากจะอยู่ในหัวข้อของ NAT หรือ Network Address Translation นั้นเอง ในที่นี้จะใช้ pfSense เราเตอร์เป็นตัวอย่าง ในตัวอย่างนี้เข้าใช้งานผ่าน AIS Public IP และ NAS มีเลขไอพีอยู่ที่ 10.9.0.26

  • Protocol: TCP
  • Dest. Ports (บางรุ่นคือ Source Ports): 443
  • NAT IP (บางรุ่นคือ Destination IP): 10.9.0.26
  • NAT Port (บางรุ่นคือ Destination Ports): 443
รูปที่ 4: การตั้งค่า Port Forward ของ pfSense เราเตอร์ เพื่อฟอร์เวิร์ดพอร์ต 443 ไปยัง NAS

5 ตั้งค่า Reverse Proxy ใน NAS

เปิดการตั้งค่า Reverse Proxy โดยไปที่ Control Panel > Login Portal > Advanced > Reverse Proxy จะได้หน้าการตั้งค่าขึ้นมาตามรูปที่ 5 เลือกกด Create

รูปที่ 5: หน้าการตั้งค่า Reverse Proxy ใน Synology NAS
  • Reverse Proxy Name: เลือกคำอธิบาย ในที่นี้เลือก “photo”
  • การตั้งค่าในส่วนของ Source หรือต้นทางที่มา
  • Protocol: HTTPS
  • Hostname: คือซับโดเมนของเราที่ต้องการใช้งาน ในที่นี้เลือก “photo.homelab.in.th”
  • Port: พอร์ตที่ฟอร์เวิร์ดมาจากเราเตอร์ ในที่นี้เลือก “443” ตามที่เราตั้งค่าไว้ก่อนหน้านี้
  • Enable HSTS: บังคับให้ใช้เฉพาะ HTTPS หรือไม่ ติ๊กถูกถ้าต้องการ
  • Access control profile: อนุญาตให้เฉพาะ IP Address ที่กำหนดเท่านั้นที่ใช้งานได้ ในที่นี้เลือกให้เฉพาะ IP ของ Cloudflare ผ่านเท่านั้น ซึ่งส่วนนี้จำเป็นต้องตั้งค่าเพิ่มเติม
  • การตั้งค่าในส่วนของ Destination หรือปลายทางที่เราจะเรียกใช้
  • Protocol: ในส่วนนี้จะเป็น HTTP/HTTPS ขึ้นอยู่กับเว็บแอพที่เราจะเรียกใช้ ในที่นี้เรียกใช้ SynologyPhoto ผ่านพอร์ต 5001 ซึ่งเป็น HTTPS จึงเลือกเป็น HTTPS
  • Hostname: IP Address ปลายทาง ในที่นี้คือไอพีของ NAS เอง
  • Port: พอร์ตของเว็บแอพที่เราจะใช้ SynologyPhoto สามารถเรียกใช้งานผ่านพอร์ต 5001

ในส่วนของแท็บ Custom Header เราสามารถใส่ตัวเลือกเพิ่มเติมเมื่อแอพนั้นต้องการอย่างเช่นใน SynologyPhoto ถ้าต้องการใช้งานให้ได้เต็มรูปแบบต้องใช้ WebSocket ด้วย เราก็สามารถเพิ่มได้ตรงส่วนนี้

รูปที่ 6: การเพิ่ม WebSocket เพื่อการใช้งาน SynologyPhoto ให้ได้เต็มประสิทธิภาพ

อ่อ ลืมบอกไป ท่านใดที่เปิด Firewall ไว้ใน NAS ก็อย่าลืมเพิ่มกฏให้อนุญาตพอร์ต 443 จากประเทศไทยและสิงค์โปรด้วย เนื่องจาก IP ของ Cloudflare บางครั้งก็มาจากประเทศสิงค์โปร์เช่นกัน

6 สร้าง SSL Certificate ใน NAS ด้วย Let’s Encrypt

ใน Cloudflare หากเราทำการตั้งค่า SSL/TLS ไว้ที่ระดับ Full (strict) เพื่อเพิ่มระดับความปลอดภัยสูงสุด ป้องกันการโจมตีแบบ Man-in-the-middle Attack และอื่นๆ ดังรูปที่ 7 จะทำให้เมื่อเราเรียกใช้งานผ่านซับโดเมน https://photo.homelab.in.th เกิด “error code 526” หรือ “Invalid SSL certificate” ได้ดังรูปที่ 8

รูปที่ 7: การตั้งค่า SSL/TLS ใน Cloudflare
รูปที่ 8: การแจ้งเตือน Invalid SSL certificate เมื่อเรียกใช้งานผ่านซับโดเมน

วิธีแก้ไขสามารถทำได้สองวิธีคือ

  • (ไม่แนะนำอย่างยิ่ง) เปลี่ยน Cloudflare SSL/TLS มาอยู่ที่ระดับ Full หรือ Flexible
  • สร้าง SSL Certificate ขึ้นมาใช้งานโดยใช้ Let’s Encrypt ซึ่งทาง Synology ได้เพิ่มฟังก์ชันนี้มากับตัว NAS แล้ว

ก่อนอื่นหากเราจะสร้าง SSL Certificate จาก Let’s Encrypt ต้องทำการฟอร์เวิร์ดพอร์ต 80 จากเราเตอร์เข้ามายัง NAS ของเราด้วยวิธีการเช่นเดียวกับตอนฟอร์เวิร์ดพอร์ต 443 แค่เปลี่ยนเลขพอร์ตเป็น 80 เท่านั้นเอง โดยทาง Let’s Encrypt จะยืนยันความเป็นเจ้าของซับโดเมนของเราผ่านช่องทางนี้ ถ้าไม่เปิดไว้จะทำให้การขอ SSL Certificate ไม่ผ่าน ซึ่งเมื่อเราได้ Certificate มาแล้วก็ทำการปิดพอร์ต 80 ได้เลย

วิธีการสร้าง SSL Certificate

  • Control Panel > Security > Certificate > Add
  • เลือก Add a new certificate แล้วกด Next
รูปที่ 9: ขั้นตอนการสร้าง SSL Certificate ใหม่เพื่อใช้กับซับโดเมนที่ต้องการ
  • Description: ใส่คำอธิบาย ในที่นี้เลือก “photo”
  • เลือก “Get a certificate from Let’s Encrypt”
  • กด Next
รูปที่ 10: ขั้นตอนการสร้าง SSL Certificate ใหม่เพื่อใช้กับซับโดเมนที่ต้องการ (ต่อ)
  • Domain name: เลือกซับโดเมนที่เราจะสร้างมา ในที่นี้ “photo.homelab.in.th”
  • Email: ใส่อีเมล์ของเราเอง
  • จากนั้นกด Done
  • รอสักครู่ เมื่อสำเร็จจะได้ SSL Certificate ในชื่อ “photo.homelab.in.th”
รูปที่ 11: ขั้นตอนการสร้าง SSL Certificate ใหม่เพื่อใช้กับซับโดเมนที่ต้องการ (ต่อ)
  • นำ SSL Certificate ไปใช้งานกับซับโดเมนของเราโดยการกดเลือกที่ Certificate ที่ได้มา ในที่นี้คือ “photo.homelab.in.th”
  • กดเลือก “Settings”
  • เลื่อนไปยังซับโดเมนของเรา
  • เปลี่ยน Certificate ให้ตรงกับชื่อซับโดเมน
  • เรียบร้อย
รูปที่ 12: ขั้นตอนการสร้าง SSL Certificate ใหม่เพื่อใช้กับซับโดเมนที่ต้องการ (ต่อ)

เพียงเท่านี้ก็สามารถเข้าใช้งานเว็บแอพของเราได้อย่างเต็มประสิทธิภาพและปลอดภัยได้แล้วครับ

รูปที่ 13: ทดลองเข้าหน้า SynologyPhoto ผ่านซับโดเมนจากภายนอก

หากติดขัดตรงไหนสามารถทิ้งคำถามไว้ใต้บทความได้เลยครับผม


ข้อมูลอ้างอิง/วีดีโอ

Tags: 443CertificateCloudflareDDNSDS920+HTTPSLet's EncryptNASNATpfSensePublic IPReverse-ProxySSLSub DomainSynology
แชร์Tweet
บทความถัดไป

อัพเกรด 2.5Gbps เน็ตเวิร์คให้ Synology DS920+ โดยใช้ USB Ethernet Adapter

kiraro

kiraro

Trail Runner, Dog Lover, Homelab Junky

ความคิดเห็น 4

  1. SSK says:
    2 ปี ที่แล้ว

    ขอบคุณครับ กำลังหา วิธีใฃ้ cloudflare กับ nas อยู่พอดี

    ตอบกลับ
    • kiraro says:
      2 ปี ที่แล้ว

      ยินดีครับผม ติดขัดขั้นตอนไหนสอบถามได้เลยนะครับ

      ตอบกลับ
      • Thanakrit Amatyakul says:
        2 เดือน ที่แล้ว

        สอบถามหน่อยครับจำเป็นต้องมี Public IP ใช่ไหมครับ

        ตอบกลับ
  2. จิรวัฒน์ says:
    2 ปี ที่แล้ว

    สวัสดีครับ HTTPS สามารถใช้กับ 3bbddns ได้ไหมครับ พอดีใช้ synology nas แล้วใช้ 3bbddns บน synology photo app ของ ios แล้วดูวีดีโอ ไม่ได้เลยครับ มันขึ้น “Unable to play the video because your certificate is invalid. Please go to More > Settings to enable Play Content Over HTTP.” พอจะทราบวีธีแก้ไหมครับ

    ตอบกลับ

ใส่ความเห็น ยกเลิกการตอบ

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *

Recent News

อัพเดท Remote Host ทุกเครื่องในชุดคำสั่งเดียว ด้วย Ansible Playbook

อัพเดท Remote Host ทุกเครื่องในชุดคำสั่งเดียว ด้วย Ansible Playbook

สิงหาคม 30, 2023
172
เชื่อมต่อ Synology NAS และ Network ภายในบ้านจากข้างนอกแบบง่ายๆ และปลอดภัยผ่าน Wireguard VPN (Tailscale)

เชื่อมต่อ Synology NAS และ Network ภายในบ้านจากข้างนอกแบบง่ายๆ และปลอดภัยผ่าน Wireguard VPN (Tailscale)

สิงหาคม 30, 2023
1.5k
ติดตั้ง Omada SDN Controller บน Ubuntu server 20.04

ติดตั้ง Omada SDN Controller บน Ubuntu server 20.04

สิงหาคม 30, 2023
365
ทำ Cloudflare DDNS ใน Synology NAS ผ่าน Container Manager

ทำ Cloudflare DDNS ใน Synology NAS ผ่าน Container Manager

สิงหาคม 25, 2023
927

ป้ายกำกับ

2.5Gbps 20.04 443 Adapter ansible API Token apt Certificate Cloudflare Container Container Manager Controller DDNS debian Docker docker-compose Driver DS920+ Ethernet HTTPS iperf3 Let's Encrypt NAS NAT Omada pfSense playbook Public IP QuickConnect Realtek Reverse-Proxy RTL8156 SDN SSH SSL Sub Domain Synology Tailscale TP-link Ubuntu update upgarde USB VPN Wireguard
รวมบทความเกี่ยวกับการทำ Self-Host

Copyright © 2023 - All Rights Reserved

เว็บไซต์นี้ทำขึ้นด้วยใจรัก 🤍

  • เกี่ยวกับเรา
  • นโยบายความเป็นส่วนตัว
  • ติดต่อเรา

ติดตามพวกเรา

หวัดดี! ยินดีต้อนรับกลับมา

เข้าใช้งานด้วยบัญชี Google
หรือ

ลงชื่อเข้าใช้งานด้านล่าง

ลืมรหัสผ่าน? ลงทะเบียน

สร้างบัญชีผู้ใช้ใหม่!

ลงทะเบียนด้วยบัญชี Google
หรือ

กรอกข้อมูลด้านล่างเพื่อลงทะเบียน

กรุณากรอกข้อมูลให้ครบทุกช่อง ลงชื่อเข้าใช้

เปลี่ยนรหัสผ่านของคุณ

กรุณาพิมพ์ชื่อผู้ใช้งานหรืออีเมลของคุณเพื่อเปลี่ยนรหัสผ่าน

ลงชื่อเข้าใช้
  • เข้าสู่ระบบ
  • ลงทะเบียน
ไม่พบผลการค้นหา
ดูผลการค้นหาทั้งหมด
  • หน้าหลัก
  • บทความ
    • Synology NAS
    • Omada SDN
    • Home Assistant
    • Network Security
    • pfSense
    • Proxmox

Copyright © 2023 - All Rights Reserved