การปรับใช้แบบกระจาย (Distributed Deployment)¶
บางครั้งคุณอาจพบสถานการณ์ที่โทรศัพท์มือถือของคุณอยู่ที่บ้าน แต่คุณอยู่นอกบ้าน จะใช้งานได้อย่างไร? คุณสามารถใช้ไคลเอนต์ Frp หรือ OpenVPN ที่มีอยู่ใน FIRERPA เพื่อทำการปรับใช้แบบกระจาย (distributed deployment) ทำให้สามารถเชื่อมต่อกับอุปกรณ์ที่ปรับใช้แบบกระจายได้จากทุกที่ ทั้งสองวิธีนี้ต้องการให้คุณมีเซิร์ฟเวอร์ที่มี Public IP และต้องกำหนดค่าซอฟต์แวร์ฝั่งเซิร์ฟเวอร์ให้ถูกต้องจึงจะใช้งานได้ เอกสารในส่วนถัดไปจะอธิบายวิธีการปรับใช้เซิร์ฟเวอร์ Frp และ OpenVPN
อันตราย
ในบทนี้ เราจะไม่กล่าวถึงการดำเนินการพื้นฐาน เช่น การเปิด/ปิดพอร์ตไฟร์วอลล์ เราจะถือว่าคุณมีความเข้าใจและได้ตั้งค่าตามที่กำหนดเรียบร้อยแล้ว และเราจะถือว่าคุณมีความเข้าใจเกี่ยวกับ Frp และ OpenVPN อยู่แล้ว สำหรับวิธีการปรับใช้เซิร์ฟเวอร์ทั้งสองประเภทนี้ เราได้อธิบายรายละเอียดไว้ในบทความนี้และบทถัดไป หากคุณเลือกที่จะปรับใช้ด้วยตนเอง เราขอแนะนำอย่างยิ่งให้ใช้วิธีการสร้างเครือข่ายด้วย OpenVPN
ผ่านแพลตฟอร์ม Hub ของ FIRERPA¶
คุณยังสามารถปรับใช้ firerpa/hub + firerpa/hub-bridge ด้วยตนเองเพื่อเปิดใช้งานการเข้าถึงแบบ P2P ระหว่างอุปกรณ์ สำหรับรายละเอียดการดำเนินการ โปรดอ้างอิงจากเอกสารของโปรเจกต์
การส่งต่อ (Forward) ไปยังพอร์ตภายในผ่าน Frp¶
คุณต้องดาวน์โหลดโปรแกรมฝั่งเซิร์ฟเวอร์ของ fatedier/frp ก่อน และใช้คำสั่งที่เราให้ไว้ด้านล่างนี้เพื่อเริ่มต้นการทำงานอย่างเคร่งครัด คุณสามารถแก้ไขพอร์ตและ token ได้ตามความเหมาะสม โดยต้องใช้ frps เวอร์ชัน > v0.45.0
อันตราย
frps --token lamda --bind_addr 0.0.0.0 --bind_port 6009 --proxy_bind_addr 127.0.0.1 --allow_ports 10000-15000
จากคำสั่งข้างต้น ให้เขียนการตั้งค่าใน properties.local ดังนี้
fwd.host=ที่อยู่ Public IP ของเซิร์ฟเวอร์ของคุณ
fwd.port=6009
fwd.rport=พอร์ตปลายทางที่จะส่งต่อ (ควรอยู่ในช่วงของ allow_ports)
fwd.token=lamda
fwd.protocol=tcp
fwd.enable=true
เพิ่มหรือเขียนการตั้งค่าข้างต้นลงในไฟล์ properties.local จากนั้นรีสตาร์ทบริการ FIRERPA
การส่งต่อ (Forward) ไปยังพอร์ตสาธารณะผ่าน Frp¶
หากคุณต้องการเชื่อมต่อกับอุปกรณ์จากทุกที่ เพื่อความปลอดภัย เราไม่แนะนำให้ทำเช่นนี้ หากจำเป็นต้องใช้งานในลักษณะนี้จริงๆ ขอแนะนำให้ใช้ฟังก์ชันของ OpenVPN เพื่อวางอุปกรณ์และคอมพิวเตอร์ของคุณไว้ในเครือข่ายย่อย (subnet) เดียวกันแล้วจึงเข้าถึง
อันตราย
หากคุณยังคงต้องการใช้วิธีการของ frp ดังกล่าวเพื่อเข้าถึงจากทุกที่ โปรดตรวจสอบให้แน่ใจว่าบริการ FIRERPA ได้เริ่มต้นทำงานโดยใช้ใบรับรองบริการ (Service Certificate) และเปลี่ยนคำสั่งเริ่มต้น frps จาก --proxy_bind_addr 127.0.0.1 เป็น --proxy_bind_addr 0.0.0.0 ซึ่งจะทำให้พอร์ต 12345 ในตัวอย่างข้างต้นถูกผูก (bind) กับ Public IP โดยตรง หากคุณไม่ได้เริ่มต้น FIRERPA โดยใช้ใบรับรองบริการ ทุกคนจะสามารถเข้าถึงได้ ซึ่งเป็นสิ่งที่อันตรายอย่างยิ่ง โปรดเตรียมใจว่าข้อมูลของคุณอาจถูกเข้าถึงและทำลายโดยผู้ไม่หวังดี
การเชื่อมต่อกับอุปกรณ์ที่ใช้ Frp Forwarding¶
เนื่องจากเอกสารข้างต้นได้ผูกพอร์ตที่ส่งต่อไปยัง 127.0.0.1 ของเซิร์ฟเวอร์ ดังนั้นเนื้อหาต่อไปนี้จำเป็นต้องทดสอบบนเซิร์ฟเวอร์สาธารณะที่ติดตั้ง frps เอง เราจะสมมติว่า fwd.rport ของคุณคือพอร์ต 12345 ด้านล่างนี้คือตัวอย่างวิธีการเชื่อมต่อกับอุปกรณ์ผ่านไลบรารี Python
from lamda.client import *
d = Device("127.0.0.1", port=12345)
คุณยังสามารถเปิดเบราว์เซอร์บนเซิร์ฟเวอร์และไปที่ http?s://127.0.0.1:12345 เพื่อเข้าถึงเดสก์ท็อประยะไกล (Remote Desktop) ของอุปกรณ์ได้
การใช้งานผ่านเครือข่าย OpenVPN¶
โปรดดูบทที่เกี่ยวข้องกับวิธีการปรับใช้เซิร์ฟเวอร์ OpenVPN เพื่อเรียนรู้วิธีการนำอุปกรณ์เข้าร่วมเครือข่าย OpenVPN
การเชื่อมต่อกับอุปกรณ์ที่ใช้เครือข่าย OpenVPN¶
หลังจากที่อุปกรณ์เข้าร่วมเครือข่าย OpenVPN แล้ว การใช้งานจะเหมือนกับปกติทุกประการ คุณเพียงแค่ต้องนำคอมพิวเตอร์ส่วนตัวของคุณเข้าร่วมเครือข่าย OpenVPN เดียวกันนี้ ก็จะสามารถเข้าถึงอุปกรณ์ได้โดยตรงผ่านที่อยู่ IP ส่วนตัว (Private IP) ของ OpenVPN คุณสามารถดาวน์โหลดไคลเอนต์ OpenVPN Connect ได้จากเว็บไซต์ทางการของ OpenVPN ที่ openvpn.net/client เพื่อเชื่อมต่อเข้าสู่เครือข่ายเดียวกัน