วิธีตั้งค่า OpenVPN Server บน Raspberry Pi เพื่อสร้างเครือข่ายส่วนตัวปลอดภัย

ที่มาภาพ: Unknown Source

วิธีตั้งค่า OpenVPN Server บน Raspberry Pi เพื่อสร้างเครือข่ายส่วนตัวปลอดภัย

⚡ สรุป 30 วิ

บทความนี้จะพาคุณตั้งค่า **OpenVPN Server** บน **Raspberry Pi** เพื่อสร้างเครือข่ายส่วนตัว (VPN) ที่ปลอดภัยและใช้ได้ทุกที่จากอินเทอร์เน็ต

Overview

บทความนี้จะพาคุณตั้งค่า OpenVPN Server บน Raspberry Pi เพื่อสร้างเครือข่ายส่วนตัว (VPN) ที่ปลอดภัยและใช้ได้ทุกที่จากอินเทอร์เน็ต คุณจะได้เรียนรู้ขั้นตอนตั้งแต่การติดตั้งระบบปฏิบัติการ ไปจนถึงการสร้างไฟล์รับรองและเชื่อมต่อจากอุปกรณ์คลไคลเอนต์

Prerequisites

ก่อนเริ่มคุณต้องเตรียมอุปกรณ์และซอฟต์แวร์พื้นฐานให้พร้อม

  • Raspberry Pi 3/4 (หรือรุ่นที่รองรับ 64‑bit)
  • การ์ด microSD อย่างน้อย 16 GB และ Power Supply ที่เหมาะสม
  • การเชื่อมต่อ Internet สำหรับอัปเดตแพคเกจ
  • คอมพิวเตอร์สำหรับ SSH หรือ Monitor + Keyboard เพื่อทำการตั้งค่าเบื้องต้น
  • บัญชีผู้ใช้ sudo บน Pi

Install OS

เลือกระบบปฏิบัติการที่เหมาะกับการทำ VPN แล้วทำการติดตั้ง

  • ดาวน์โหลด Raspberry Pi OS Lite (ไม่มี GUI) เพื่อลดภาระระบบ
  • ใช้ Raspberry Pi Imager หรือ Balena Etcher เขียนไฟล์อิมเมจลงการ์ด microSD
  • ตั้งค่า Wi‑Fi หรือ Ethernet ให้เชื่อมต่อได้ทันทีหลังบูต
  • เปิด SSH โดยสร้างไฟล์ `ssh` ไว้ในโฟลเดอร์ `boot`
**Tip: หากต้องการทำงานแบบ headless ควรกำหนด static IP ให้ Pi เพื่อความสะดวกในการเข้าถึง

Update & Upgrade

อัปเดตระบบเป็นขั้นตอนสำคัญก่อนติดตั้งแพคเกจใด ๆ

  • **ขั้นที่ 1: `sudo apt update`
  • **ขั้นที่ 2: `sudo apt full-upgrade -y`
  • **ขั้นที่ 3: `sudo reboot`

Install OpenVPN & Easy‑RSA

ใช้ `apt` ติดตั้ง OpenVPN พร้อมเครื่องมือสร้างคีย์

  • `sudo apt install openvpn easy-rsa -y`
  • สร้างโฟลเดอร์ทำงาน: `make-cadir ~/openvpn-ca`
  • คัดลอกสคริปต์ Easy‑RSA ไปยังโฟลเดอร์ที่สร้าง

Configure PKI (Public Key Infrastructure)

การสร้างคีย์และใบรับรองเป็นหัวใจของ VPN

  • **ขั้นที่ 1: `cd ~/openvpn-ca`
  • **ขั้นที่ 2: แก้ไขไฟล์ `vars` เพื่อกำหนดค่า Country, Province, Org เป็นต้น
  • **ขั้นที่ 3: รัน `./easyrsa init-pki` เริ่มต้นโฟลเดอร์ PKI
  • **ขั้นที่ 4: `./easyrsa build-ca nopass` สร้าง Certificate Authority (CA)
  • **ขั้นที่ 5: `./easyrsa gen-req server nopass && ./easyrsa sign-req server server` สร้างคีย์เซิร์ฟเวอร์และเซ็น

Server Configuration

ปรับไฟล์คอนฟิกเพื่อให้ OpenVPN ทำงานเป็นเซิร์ฟเวอร์

  • คัดลอกไฟล์ตัวอย่าง: `gunzip -c /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz > /etc/openvpn/server.conf`
  • แก้ไข `/etc/openvpn/server.conf` ให้ใช้ TLS‑auth, cipher AES‑256‑CBC, auth SHA256
  • ระบุตำแหน่งไฟล์ CA, cert, key, dh (`dh.pem` หรือ `dh2048.pem`)

Enable IP Forwarding & Firewall

เพื่อให้แพ็กเกจจากคลไคลเอนต์ผ่านไปยังอินเทอร์เน็ตได้

  • เปิด IP forwarding: `sudo sysctl -w net.ipv4.ip_forward=1`
  • เพิ่มบรรทัด `net.ipv4.ip_forward=1` ไปที่ `/etc/sysctl.conf` เพื่อให้คงค่าถาวร
  • ตั้งค่า iptables เพื่อทำ NAT:

``` sudo iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE sudo iptables-save | sudo tee /etc/iptables/rules.v4 ```

Generate Client Certificates

สร้างคีย์และใบรับรองสำหรับอุปกรณ์ที่ต้องการเชื่อมต่อ

  • `./easyrsa gen-req client1 nopass && ./easyrsa sign-req client client1`
  • คัดลอกไฟล์ `ca.crt`, `client1.crt`, `client1.key`, `ta.key` ไปยังโฟลเดอร์ `~/client-configs/files`

Build Client Configuration File

รวมไฟล์คีย์และเซิร์ฟเวอร์ไว้ในไฟล์ `.ovpn` เดียวเพื่อความสะดวก

  • สร้างไฟล์ `client.ovpn` โดยรวมส่วน `client`, `remote`, `proto udp`, `dev tun`
  • ใส่บรรทัด `<ca> ... </ca>`, `<cert> ... </cert>`, `<key> ... </key>`, `<tls-auth> ... </tls-auth>`

Start OpenVPN Service

ทำให้ OpenVPN ทำงานอัตโนมัติเมื่อบูต

  • `sudo systemctl start openvpn@server`
  • `sudo systemctl enable openvpn@server`
  • ตรวจสอบสถานะ: `sudo systemctl status openvpn@server`

Connect from Client

นำไฟล์ `client.ovpn` ไปวางในอุปกรณ์ที่ต้องการ (Windows, macOS, Android, iOS)

  • ดาวน์โหลด OpenVPN Connect หรือ Tunnelblick ตามระบบปฏิบัติการ
  • นำเข้าไฟล์ `client.ovpn` แล้วกด Connect
  • หากเชื่อมต่อสำเร็จ คุณจะเห็น IP ภายใน `10.8.0.x`
Caution: ตรวจสอบให้แน่ใจว่า Port 1194/UDP** เปิดบนเราเตอร์และไม่ถูกบล็อกโดย ISP

Comparison of OS Choices

ระบบปฏิบัติการขนาด (GB)GUIประสิทธิภาพ VPNการอัปเดต
Raspberry Pi OS Lite1.5ไม่มีสูงapt
Ubuntu Server 22.042.0ไม่มีสูงapt
DietPi0.6ไม่มีสูงapt
OpenWrt (Pi)0.7มี (Web UI)ปานกลางopkg

ข้อสรุป: หากต้องการความเบาและอัพเดตง่าย Raspberry Pi OS Lite** เป็นตัวเลือกที่ดีที่สุด

Tips & Common Issues

  • Port Forwarding: ตรวจสอบให้แน่ใจว่าเราเตอร์ได้ทำการ forward UDP 1194** ไปยัง IP ของ Pi
  • **DNS Leak: เพิ่มบรรทัด `push "dhcp-option DNS 8.8.8.8"` ใน `server.conf` เพื่อบังคับ DNS ผ่าน VPN
  • **Client Connection Fails: ดูไฟล์ล็อก `/var/log/syslog` หรือ `journalctl -u openvpn@server` เพื่อหาข้อผิดพลาด
  • Performance: ใช้ Raspberry Pi 4** พร้อม USB‑3 SSD เพื่อเพิ่มความเร็วการเข้ารหัส

Summary

การตั้งค่า OpenVPN Server บน Raspberry Pi ไม่ซับซ้อนหากทำตามขั้นตอนต่อไปนี้

  • เตรียมอุปกรณ์และติดตั้ง Raspberry Pi OS Lite
  • อัปเดตระบบและติดตั้ง OpenVPN + Easy‑RSA
  • สร้าง PKI (CA, server, client) และกำหนดค่า `server.conf`
  • เปิด IP forwarding, ตั้ง iptables NAT, แล้วเริ่มบริการ
  • สร้างไฟล์ client `.ovpn` พร้อมคีย์และเชื่อมต่อจากอุปกรณ์ใดก็ได้

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

แชร์บทความนี้:

ชอบบทความแบบนี้?

สมัคร AI Automate Weekly Newsletter — รับเคล็ดลับ AI + how-to ใหม่
ทุกสัปดาห์ตรงถึง inbox ฟรี ไม่มีสแปม

แหล่งข่าวต้นฉบับ

ชื่อต้นฉบับ
วิธีตั้งค่า OpenVPN Server บน Raspberry Pi เพื่อสร้างเครือข่ายส่วนตัวปลอดภัย
ผู้เขียน
กองบรรณาธิการ Thai Tech News
แหล่ง
บทความต้นฉบับ Thai Tech News · ช่วยร่างด้วย AI, เรียบเรียง/ตรวจสอบโดยกองบรรณาธิการ
วันที่เผยแพร่
29 มิถุนายน 2569 เวลา 10:51

Related

บทความที่เกี่ยวข้อง

วิธีใช้ Linux Containers (LXC) บน Windows เพื่อแยกสภาพแวดล้อมการพัฒนาอย่างปลอดภัยGrowth
29 มิถุนายน 2569 เวลา 11:00

วิธีใช้ Linux Containers (LXC) บน Windows เพื่อแยกสภาพแวดล้อมการพัฒนาอย่างปลอดภัย

Linux Containers (LXC) เป็นเทคโนโลยีที่ให้คุณสร้างสภาพแวดล้อมแยกจากระบบปฏิบัติการหลักได้อย่างใกล้เคียงกับ VM แต่ใช้ทรัพยากรน้อยกว่า บน Windows เราสามารถใช้ **WSL 2** เป็นบรรยากาศ Linux แล้วติดตั้ง LXC…

ต้นฉบับ TTN · ร่างด้วย AI ตรวจโดยบรรณาธิการ5 นาที
วิธีใช้ GitHub Codespaces เพื่อพัฒนาโค้ดบนคลาวด์โดยไม่ต้องติดตั้งเครื่องมือในเครื่องGrowth
28 มิถุนายน 2569 เวลา 18:30

วิธีใช้ GitHub Codespaces เพื่อพัฒนาโค้ดบนคลาวด์โดยไม่ต้องติดตั้งเครื่องมือในเครื่อง

GitHub Codespaces เป็นบริการคลาวด์ที่ให้คุณสร้างสภาพแวดล้อมพัฒนาเต็มรูปแบบได้ในไม่กี่คลิก ไม่ต้องติดตั้ง IDE, compiler หรือ dependency ใด ๆ บนเครื่องของคุณเลย บทความนี้จะสรุปวิธีตั้งค่าและใช้งาน Codes…

ต้นฉบับ TTN · ร่างด้วย AI ตรวจโดยบรรณาธิการ6 นาที
วิธีสร้างและจัดการไฟล์ .env เพื่อเก็บค่าคอนฟิกในโปรเจค Node.js อย่างปลอดภัยGrowth
28 มิถุนายน 2569 เวลา 12:30

วิธีสร้างและจัดการไฟล์ .env เพื่อเก็บค่าคอนฟิกในโปรเจค Node.js อย่างปลอดภัย

การจัดการค่าคอนฟิกในโปรเจค Node.js ที่ปลอดภัยเป็นหัวใจของการพัฒนาแอปพลิเคชันที่มั่นคง บทความนี้จะอธิบายวิธีสร้างและใช้ไฟล์ `.env` เพื่อเก็บข้อมูลสำคัญ เช่น คีย์ API, พารามิเตอร์ฐานข้อมูล และข้อมูลลับอ…

ต้นฉบับ TTN · ร่างด้วย AI ตรวจโดยบรรณาธิการ5 นาที
วิธีตั้งค่าและใช้ฟีเจอร์ Focus Mode บน Android เพื่อจัดการเวลาใช้งานแอปอย่างมีประสิทธิภาพGrowth
28 มิถุนายน 2569 เวลา 11:00

วิธีตั้งค่าและใช้ฟีเจอร์ Focus Mode บน Android เพื่อจัดการเวลาใช้งานแอปอย่างมีประสิทธิภาพ

การใช้ **Focus Mode** บน Android ช่วยให้คุณควบคุมเวลาใช้งานแอปที่ทำให้เสียสมาธิได้ง่ายขึ้น บทความนี้จะสอนตั้งค่าและใช้งานฟีเจอร์อย่างเป็นขั้นตอน เพื่อให้คุณทำงานหรือเรียนได้โดยไม่ถูกรบกวน

ต้นฉบับ TTN · ร่างด้วย AI ตรวจโดยบรรณาธิการ4 นาที
คัดลอกลิงก์แล้ว!