เชื่อมต่อ VPN ง่าย ๆ บน Ubuntu ด้วย OpenVPN และไฟล์ .ovpn

เชื่อมต่อ VPN ง่าย ๆ บน Ubuntu ด้วย OpenVPN และไฟล์ .ovpn

ในยุคปัจจุบัน ความปลอดภัยและความเป็นส่วนตัวบนโลกออนไลน์มีความสำคัญมากขึ้นเรื่อย ๆ โดยเฉพาะเมื่อใช้งานอินเทอร์เน็ตในที่สาธารณะหรือเชื่อมต่อกับเครือข่ายที่ไม่ปลอดภัย การใช้ VPN (Virtual Private Network) จึงเป็นตัวเลือกที่ดีในการปกป้องข้อมูลส่วนตัวของคุณ สำหรับผู้ที่ใช้ระบบปฏิบัติการ Ubuntu การตั้งค่า OpenVPN โดยใช้ไฟล์ .ovpn สามารถทำได้ง่าย ๆ เพียงไม่กี่ขั้นตอน บทความนี้จะอธิบายวิธีการตั้งค่า OpenVPN ให้เชื่อมต่ออัตโนมัติโดยไม่ต้องกรอกชื่อผู้ใช้และรหัสผ่านทุกครั้ง

ขั้นตอนการตั้งค่า VPN บน Ubuntu ด้วยไฟล์ .ovpn

1. เตรียมความพร้อม

ก่อนเริ่มต้น คุณจำเป็นต้องมีไฟล์ .ovpn ซึ่งเป็นไฟล์คอนฟิกที่ใช้สำหรับเชื่อมต่อกับ VPN หากคุณได้รับไฟล์นี้มาจากผู้ให้บริการ VPN ให้ดาวน์โหลดและบันทึกไฟล์ไว้ในเครื่อง

2. ติดตั้ง OpenVPN บน Ubuntu

เปิดเทอร์มินัลและติดตั้ง OpenVPN โดยใช้คำสั่งต่อไปนี้:

sudo apt update
sudo apt install openvpn

คำสั่งนี้จะอัปเดตแพ็กเกจและติดตั้ง OpenVPN บนระบบ Ubuntu ของคุณ

ห้ามใช้ !!!!!
sudo apt install openvpn-client เด็ดขาด
เพราะ openvpn-client เป็นตัว unofficial
ของแทร่ ต้อง openvpn เท่านั้น!!!

3. ย้ายไฟล์ .ovpn ไปยังโฟลเดอร์ของ OpenVPN

ย้ายไฟล์ .ovpn ของคุณไปที่โฟลเดอร์ /etc/openvpn/client/ เพื่อให้ OpenVPN สามารถทำงานเป็น daemon และเริ่มต้นโดยอัตโนมัติ:

วิธีทำคือ เปิดไฟล์ ไฟล์ของคุณ.ovpn ในเครื่องที่ให้เตรียมไว้ตั้งแต่ตอนต้นนู่นเลย อาจจะใช้ vscode หรือ text editor ตัวไหนก็ได้ที่ถนัด
หาบรรทัดที่เขียนว่า

auth-user-pass

ให้แก้ไข เพิ่มเติม เป็น

auth-user-pass auth.txt

จากนั้น copy code ทั้งหมดเอาไว้ แล้วกลับไป ที่ Server และ พิมพ์ตามนี้

cd /etc/openvpn/client
sudo nano client.conf

จากนั้น ก็วาง Code ที่ Copy ไว้ลงในนั้น และ เซฟไฟล์ แล้วก็ออกมา

บางคนถนัด vi จะใช้ vi ก็ได้ไม่ว่ากัน

4. ตั้งค่าให้ไม่ต้องกรอก Username และ Password ทุกครั้ง

หากไฟล์ .conf ของคุณต้องใช้ username และ password ในการเชื่อมต่อ คุณสามารถตั้งค่าให้ระบบใช้ข้อมูลนี้โดยอัตโนมัติทุกครั้งที่เชื่อมต่อ VPN:

  • สร้างไฟล์ชื่อ auth.txt ในโฟลเดอร์เดียวกับไฟล์ .conf:
sudo nano /etc/openvpn/client/auth.txt

จากนั้น บรรทัดแรก ให้ใส่ username ที่ล็อกอิน

บรรทัดที่ 2 ให้ใส่ password / pin

ตัวอย่าง:

myvpn
448291

จากนั้น Save แล้วก็ออกจากไฟล์มาซะ

  • ป้องกันการเข้าถึงไฟล์ auth.txt ด้วยการตั้งสิทธิ์ไฟล์:
sudo chmod 600 /etc/openvpn/client/auth.txt

5. ตั้งค่าให้ OpenVPN รันอัตโนมัติเมื่อเปิดเครื่อง

หากต้องการให้ OpenVPN เชื่อมต่ออัตโนมัติเมื่อระบบบูต คุณสามารถเปิดใช้งาน OpenVPN ให้เป็นบริการ daemon ได้โดยใช้คำสั่ง systemd ดังนี้:

sudo systemctl enable openvpn-client@client
ใช้คำสั่งด้านบน ขณะที่อยู่ใน /etc/openvpn/client นะครับ


คุณสามารถตรวจสอบสถานะของการเชื่อมต่อโดยใช้คำสั่งนี้:

sudo systemctl status openvpn-client@client

หากเชื่อมต่อสำเร็จ คุณจะเห็นสถานะเป็น active (running)

6. ตรวจสอบการเชื่อมต่อ VPN

หลังจากที่ตั้งค่าทุกอย่างเสร็จสิ้นแล้ว คุณสามารถตรวจสอบว่า IP ของคุณเปลี่ยนไปตาม VPN หรือไม่ โดยใช้คำสั่งนี้:

curl ifconfig.me

คำสั่งนี้จะแสดง IP ปัจจุบันของคุณ ซึ่งควรเป็น IP ของเซิร์ฟเวอร์ VPN หากเชื่อมต่อสำเร็จ

7. ทดสอบการเชื่อมต่ออัตโนมัติหลังจากรีบูต

ลองรีบูตเครื่องด้วยคำสั่ง sudo reboot เพื่อดูว่า OpenVPN เชื่อมต่ออัตโนมัติหรือไม่ หากตั้งค่าทุกอย่างถูกต้อง ระบบจะเชื่อมต่อกับ VPN ทันทีหลังจากที่เครื่องบูตขึ้นมา

สรุป

การตั้งค่า OpenVPN บน Ubuntu ให้เชื่อมต่อโดยอัตโนมัติและไม่ต้องกรอกข้อมูลทุกครั้งช่วยเพิ่มความสะดวกในการใช้งาน VPN และยังเพิ่มความปลอดภัยในการใช้งานอินเทอร์เน็ตของคุณ โดยเฉพาะเมื่อต้องใช้งานเครือข่ายสาธารณะ หวังว่าบทความนี้จะช่วยให้คุณสามารถตั้งค่า OpenVPN ได้อย่างง่ายดายบนระบบ Ubuntu ของคุณ

Read more

การทำ Data Migration และ Seeder: คู่มือสำหรับ Developer

การทำ Data Migration และ Seeder: คู่มือสำหรับ Developer

ถ้าพูดถึงการพัฒนาแอปพลิเคชันที่เชื่อมต่อกับ Database หนึ่งในความยุ่งยากที่สุดคือการจัดการ Database structure ที่เปลี่ยนไปตามฟีเจอร์ใหม่ๆ ที่เพิ่มเข้ามา เช่น เพิ่มตาราง (Table) เปลี่ยนชนิดข้อมูล (Data type) หรือลบฟิลด์ (Field) ออกไป และแน่นอนว่

By maimem
เช็ค Internet จากเว็บ: ทำยังไงให้รู้ว่าออกเน็ตได้จริง?

เช็ค Internet จากเว็บ: ทำยังไงให้รู้ว่าออกเน็ตได้จริง?

เคยเจอไหมครับ เวลาใช้งานเว็บไซต์แล้วอยู่ดี ๆ ก็โหลดข้อมูลไม่ได้ หรือ API เงียบหายไม่มีการตอบกลับ? หลายครั้งเรามักสงสัยว่า "ตกลงปัญหาอยู่ที่ตัวเรา เซิร์ฟเวอร์ หรือ Internet กันแน่?" วันนี้ผมจะมาเล่าเรื่อง "การตรวจสอบสถานะการเชื่อมต่

By maimem
Rust Series #2 - รู้จัก Cargo: ผู้ช่วยส่วนตัวของโปรเจกต์ Rust!

Rust Series #2 - รู้จัก Cargo: ผู้ช่วยส่วนตัวของโปรเจกต์ Rust!

ถ้าคุณเริ่มต้นเขียน Rust แล้วรู้สึกว่า “เฮ้ย! Rust เจ๋งแหะ” ก็ขอแสดงความยินดีครับ คุณเพิ่งเจอเพื่อนแท้ในโลกโปรแกรมมิ่ง! แต่เดี๋ยวก่อน... ถ้าต้องเขียนโค้ดโปรเจกต์ใหญ่ ๆ บริหารไลบรารี ดูแลไฟล์ต่าง ๆ หรือทดสอบโค้ดทุกวั

By maimem
ซ่อน Credential ใน AWS CodeBuild ให้ปลอดภัยด้วย Parameter Store

ซ่อน Credential ใน AWS CodeBuild ให้ปลอดภัยด้วย Parameter Store

ทำไมต้องซ่อน Credential? ในโลกของ DevOps และ Cloud Computing การจัดการ Credential (ข้อมูลรับรอง เช่น API Keys, Passwords, หรือ Secrets ต่างๆ) เป็นเรื่องที่สำคัญอย่างยิ่ง เพราะ Credential เปรียบเสมือนกุญแจที่เปิดประตูไปสู่ทรัพยากรสำคัญในระบบ เช่น ฐานข้อมูล

By maimem