Private OpenVPN
 Server ด้วย Docker container บน Multi-Cloud

สำหรับบทความนี้เราจะไปติดตั้งระบบ Private VPN ด้วยซอฟต์แวร์ OpenVPN กันครับ โดยจะเป็นการ deploy ด้วย Docker container บน Multi-Cloud Platform-as-a-Service ครับ ซึ่งการติดตั้งก็ง่ายสุดๆ เพราะเลือกติดตั้งแบบ 1-Click install ได้เลยจาก Marketplace โดยที่เราสามารถเลือกโหมดติดตั้ง OpenVPN ได้ 2 รูปแบบคือ

คำเตือน: ไม่ขออธิบายว่า OpenVPN คืออะไรนะครับ อันนี้สามารถเปิดกูเกิลค้นหาอ่านเพิ่มเติมได้!

Credit image: jelastic / OpenVPN บน Multi-Cloud Platform-as-a-Service (PaaS) ด้วย Docker Container
  1. Secure Internet Access (โหมดท่องอินเทอร์เน็ตอย่างปลอดภัย)

    – ซูโลชั่นสำหรับให้การเข้าถึงอินเทอร์เน็ตที่ปลอดภัยและป้องกันภัยคุกคามจาก Wi-Fi สาธารณะ
    – เป็นนโยบายการใช้อินเทอร์เน็ตขององค์กรที่ต้องการรับส่งข้อมูลอย่างปลอดภัย
    – โหมดนี้จะใช้ DNS คิวรีของ Google (Google Public DNS)
  2. Secure Remote Access (เข้าถึงทรัพยากรขององค์กรภายใน Environment group)

    – ซูโลชั่นนี้สำหรับให้บริการพนักงาน ใช้เข้าถึงทรัพยากรขององค์กรและเซิร์ฟเวอร์ในคลาวด์ที่ปลอดภัย
    และ Container, Cloud LAN environment.
    – เพิ่มระดับความปลอดภัยอีกชั้นให้กับโปรโตคอล เช่น RDP, VNC ที่เป็นการรีโมทเดสก์ท็อปหน้าจอจากระยะไกล
    – โหดมนี้จะใช้ DNS คิวรี resolved โดยผ่าน DNS server ภายในของแพลตฟอร์ม (Internal platform DNS server)
    – สามารถกำหนด VPN Environment group ได้ เช่น ในกรณีที่เซิร์ฟเวอร์ VPN ทำงานภายใน Environment group (Web server) ไคลเอนต์ VPN จะเข้าถึงได้เฉพาะ Container ภายในกลุ่ม Web server นี้เท่านั้น!

ไปเริ่มติดตั้งกันเลย…

1. เข้าสู่ระบบแพลตฟอร์ม Ruk-com Cloud, เปิด Marketplace จากนั้นค้นหา OpenVPN Access Server จะอยู่ที่เซตชั่นเมนู Dev & AdminTools.

OpenVPN บน Multi-Cloud Platform-as-a-Service (PaaS) ด้วย Docker Container
Secure Remote Access

2. หลังจาก deploy เสร็จจะขึ้นหน้าต่างแสดงรายละเอียดเข้าสู่ระบบ (Username, Password และ URL) พร้อมทั้งส่งรายละเอียดนี้ให้ทางเมลครับ

OpenVPN Access Server

3. ถัดไปให้กำหนด Domain Binding เช่น vpn.yourdomain.com

อย่าลืม! ไปอัพเดต DNS record ชี้ A record มายัง IP Address เซิร์ฟเวอร์ OpenVPN ด้วยนะครับ

หลังอัพเดต DNS record เสร็จแล้วก็ให้คอนฟิกเพิ่มโฮสต์ “vpn.yourdomain.com” ใน Add-on Let’s Encrypt Free SSL -> คลิกที่ปุ่ม Configure

Let’s Encrypt Free SSL

4. Login เข้าสู่ระบบหน้า Admin UI จากนั้นใส่ User/Pass (ที่ได้รับทางเมล)

Admin UI: https://vpn.yourdomin.com:943/admin

OpenVPN Admin UI

จากนั้นกดยอมรับ “OpenVPN Access Server End User License”

OpenVPN Access Server End User License

ใช้งานฟรี! 2 VPN connections allowed มากกว่านี้ต้องซื้อ license ที่นี้

OpenVPN Client Software and Profiles

สำหรับ Client ให้ Login เข้าสู่ระบบเพื่อดาวน์โหลด Connection profiles ได้ที่ Client UI

Client UI: https://vpn.yourdomain.com:943/

Client UI Login

กดดาวน์โหลด Connection profiles สำหรับเครื่อง Client หรืออุปกรณ์เราได้เลย
(เช่น ในที่นี้ผู้เขียนใช้ Mac Pro แล้วติดตั้งเพียงเท่านี้ Connection ก็จะถูกเพิ่มไปยัง OpenVPN Clent พร้อมคลิก Connect เพื่อใช้งาน VPN)

VPN Tunnel Verification

เมื่อพิมพ์คำสั่ง ifconfig ก็จะเจอะ vpn interface ดังตัวอย่าง
โดย IP Address : 172.27.232.3 เป็น Private IP Address ของ Client เครื่องนี้ครับ

utun3: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1500
	inet 172.27.232.3 --> 172.27.232.1 netmask 0xfffff800

ถัดไปให้ทดสอบ ping ไปยังเครื่อง OpenVPN เซิร์ฟเวอร์ (จะเห็นว่าสามารถติดต่อได้ ดังรูป)

Internal IP Address ของเครื่อง OpenVPN เซิร์ฟเวอร์คือ 10.102.9.33

สำหรับ Client สามารถดาวน์โหลด OpenVPN client ได้จากลิงก์ข้างล่างนี้ (หลังติดตั้งเสร็จก็เพียง Import client.ovpn ไฟล์เข้าไปเป็นอันเสร็จ)

เนื่องจากเป็นการติดตั้งบน Multi-Cloud Platform-as-a-Service เราสามารถที่จะ Migrate ระบบไปยัง Datacenter อื่นๆ ที่รองรับได้เลยทันทีครับ (ดังรูป)

Migrate Env OpenVPN Server

เพียงเท่านี้เราก็ได้ VPN server ใช้งานสำหรับองค์กร/หรือเปิดเป็น VPN เซิร์ฟเวอร์ส่วนตัวได้แล้วครับ ^^

sourece: https://jelastic.com/blog/private-openvpn-access-server/

Scroll to top