Cloudflare Tunnel

ตัว Cloudflare Tunnel ช่วยให้สามารถเข้าถึงบริการท้องถิ่นผ่านอินเทอร์เน็ตได้อย่างปลอดภัยโดยไม่ต้องใช้การส่งต่อพอร์ตหรือที่อยู่ IP สาธารณะ ตัวเชื่อมต่อนี้จะเริ่มต้นจากระบบท้องถิ่นไปยัง Cloudflare ด้วยวิธีนี้ จึงสามารถทำให้เครือข่ายที่อยู่เบื้องหลัง CG-NAT หรือการเชื่อมต่ออินเทอร์เน็ตที่มีข้อจำกัดสามารถเข้าถึงได้อย่างปลอดภัย

หมายเหตุ: Cloudflare Tunnel สามารถใช้งานได้ตั้งแต่ Core 2 ขึ้นไปเท่านั้น

หมายเหตุ: Antcas Control 支援การเชื่อมต่อผ่าน Cloudflare Tunnel และสามารถให้บริการ Visualisierung ได้โดยไม่ต้องมีการตั้งค่า

ข้อกำหนดเบื้องต้น

สำหรับการใช้งาน จะต้องมีบัญชี Cloudflare ที่มีโดเมนที่จัดการ และการจัดการจะทำโดยอัตโนมัติผ่าน API ของ Cloudflare โทเค็น API ที่ใช้งานต้องมีสิทธิ์ที่เหมาะสม ดูเพิ่มเติมในส่วน Configuration

ถ้าสерเวอร์อยู่เบื้องหลัง Firewall ที่มีข้อจำกัด จะต้องแน่ใจว่าการเชื่อมต่อออกไปยัง Cloudflare เป็นไปได้ โดยเฉพาะอย่างยิ่ง ต้องอนุญาตให้เข้าถึง Port 7844 ข้อมูลเพิ่มเติมสามารถดูได้จากลิงก์นี้:
https://developers.cloudflare.com/cloudflare-one/networks/connectors/cloudflare-tunnel/troubleshoot-tunnels/connectivity-prechecks/

การทำงาน

Cloudflare Tunnel จะสร้างการเชื่อมต่อออกไปยัง Cloudflare ที่ถูกเข้ารหัส แล้วผู้ใช้ภายนอกจะสามารถเข้าถึง Visualisierung หรือแอปพลิเคชันอื่นๆ ผ่านโดเมนที่ตั้งค่าไว้ การเชื่อมต่อนี้จะถูกส่งผ่านอินฟราสตรักเจอร์ของ Cloudflare โดยไม่ต้องเปิด Port ที่รับเข้าใน Router

Port ของแอปพลิเคชันจะถูกกำหนดให้กับการเชื่อมต่อเครือข่ายท้องถิ่นที่เป็นเสมือนจริง และจะถูกเผยแพร่อย่างปลอดภัยผ่าน Tunnel

Configuration

มีหลายวิธีในการตั้งค่า Configuration ต่อไปนี้จะอธิบายวิธีการทำงานของแต่ละวิธีสำหรับการตั้งค่าและกรณีใช้งานต่างๆ

Local Managed Configuration

ในการตั้งค่านี้ การตั้งค่าตัวเชื่อมต่อจะถูกเก็บไว้ใน Antcas Control และจะถูกซิงโครไนซ์กับ Cloud หลังจากนั้น ความได้เปรียบของวิธีนี้คือสามารถตั้งค่าและจัดการตัวเชื่อมต่อได้อย่างง่ายดาย แต่ต้องระวังว่าผู้ใช้ที่มีสิทธิ์ในการตั้งค่าสерเวอร์จะสามารถแก้ไขการตั้งค่าตัวเชื่อมต่อใน Cloud ได้

สร้าง API-Token ใหม่ในโปรไฟล์ผู้ใช้ของบัญชี Cloudflare ของคุณ โทเค็นนี้ต้องมีสิทธิ์ดังต่อไปนี้:

ประเภท วัตถุประสงค์ สิทธิ์
บัญชี Cloudflare Tunnel แก้ไข
โซน DNS แก้ไข

หมายเหตุ: โซน DNS ต้องถูกกำหนดให้กับบัญชีอย่างน้อยหนึ่งโซน เพื่อที่จะสามารถระบุบัญชีได้

หลังจากนั้น จะมีการเพิ่ม Cloudflare Tunnel ใหม่ใน Infrastructure ภายใต้ Server Network VPN และ Tunnel ทุกตัวเชื่อมต่อจะสร้างการเชื่อมต่อเครือข่ายที่เป็นเสมือนจริง เช่น cf-tunnel0 ควรทำการตั้งค่าตัวเชื่อมต่อให้เสร็จสิ้นก่อนและตั้งค่าแอปพลิเคชันหลังจากนั้น

ความระวัง: ถ้าคุณเลือก Cloudflare Tunnel ที่มีอยู่แล้ว การตรวจสอบตัวตนของตัวเชื่อมต่อจะถูกเขียนทับเพื่อที่จะสามารถสร้างการเชื่อมต่อได้ Antcas Control 支援การเชื่อมต่อกับ Cloudflare ตัวเดียวในเวลาเดียวกัน

สำหรับการตั้งค่าอัตโนมัติ จะต้องใช้ Cloudflare API-Token ด้วยโทเค็นนี้ Antcas Control สามารถเรียกข้อมูล DNS และ Configuration ของตัวเชื่อมต่อได้อย่างอัตโนมัติ การตั้งค่าและจัดการข้อมูลนั้น คำแนะนำในการสร้าง API-Token สามารถดูได้จาก Cloudflare Help ภายใต้:
https://developers.cloudflare.com/fundamentals/api/get-started/create-token/

หลังจากที่ API-Token ได้รับการตรวจสอบแล้ว คุณสามารถเลือกบัญชีและตัวเชื่อมต่อได้ สามารถสร้าง Cloudflare Tunnel ใหม่ได้ โดยจะมีชื่อเป็นชื่อของเซิร์ฟเวอร์ + ชื่อของอินเตอร์เฟซ เช่น Bürogebäude - cf-tunnel0

หมายเหตุ: การตั้งค่าตัวเชื่อมต่อจะทำโดยอัตโนมัติผ่าน API แน่ใจว่าสามารถเชื่อมต่อกับ Cloudflare ได้ในระหว่างการตั้งค่า

เมื่อสร้างตัวเชื่อมต่อแล้ว คุณควรกำหนด Visualisierung ที่ต้องการให้มีการเข้าถึงผ่านตัวเชื่อมต่อนี้ให้กับอินเตอร์เฟซเครือข่าย แล้วสามารถเพิ่มเป็น แอปพลิเคชันสำหรับตัวเชื่อมต่อได้ แอปพลิเคชันจะอยู่ในระดับที่สูงกว่าตัว Cloudflare Tunnel ที่ตั้งค่าไว้

เลือกโดเมนในการตั้งค่าและกำหนดชื่อสำหรับซับโดเมน แล้วเลือก Endpoint

หมายเหตุ: ถ้าใช้ชื่อเดียวกันกับตัวเชื่อมต่ออื่นๆ ชื่อนั้นจะไม่ถูกกำหนด และการเชื่อมต่อจะทำงานตามปกติ หากเปลี่ยนชื่อ Antcas Control จะลบซับโดเมน หาก ID ของตัวเชื่อมต่อถูกรักษาโดย Antcas

Zero Trust Configuration

ทางเลือกสำหรับ Local Managed Configuration คือ Zero Trust Configuration การตั้งค่านี้จะทำใน Cloudflare Console และจะซิงโครไนซ์กับ Antcas Control หลังจากนั้น ความได้เปรียบของวิธีนี้คือไม่มีการเข้าถึง Configuration ของ Cloudflare ผ่าน Antcas Control

สำหรับการตั้งค่านี้ ไม่จำเป็นต้องกำหนด Port ให้กับอินเตอร์เฟซ สามารถใช้ Endpoint ที่ใดก็ได้ในเครือข่าย ได้ เช่น Port ของอินเตอร์เฟซหลัก หรือบริการอื่นๆ ในเครือข่าย แต่แตกต่างจาก Configuration ปกติ localhost ไม่สามารถใช้เป็น Endpoint ได้

ถ้าการเชื่อมต่อไม่ได้รับการเข้ารหัส จะต้องตั้งค่า noTLSVerify ใน Cloudflare Console เป็น TRUE แต่การเชื่อมต่อที่ไม่ได้รับการเข้ารหัสกับบริการภายนอกเซิร์ฟเวอร์ไม่แนะนำจากมุมมองของความปลอดภัย

สำหรับ Configuration จะมีการเพิ่ม Cloudflare Tunnel ใหม่ใน Infrastructure ภายใต้ Server Network VPN และ Tunnel ทุกตัวเชื่อมต่อจะสร้างการเชื่อมต่อเครือข่ายที่เป็นเสมือนจริง เช่น cf-tunnel0 สำหรับการตั้งค่า จะต้องใช้โทเค็นของ Zero Trust Tunnel เท่านั้น โทเค็นนี้สามารถคัดลอกและวางจาก Cloudflare Console ได้โดยตรง หากข้อความที่วางมีคำสั่งการติดตั้งเต็มๆ โทเค็นนั้นจะถูกนำออกให้เหลือแต่โทเค็น