คำตอบแบบสั้น
ฉันจะตั้งค่า WireGuard บน VPS ได้อย่างไร?
หากต้องการตั้งค่า WireGuard บน VPS ให้ติดตั้งแพ็กเกจ wireguard บน Debian 13 หรือ Ubuntu 24.04 สร้างคู่คีย์ด้วย wg genkey เขียน /etc/wireguard/wg0.conf พร้อม ListenPort แล้วเริ่มด้วย wg-quick up wg0 แพ็กเกจ Ember ของ Gloamport ที่ 1 vCPU, 1 GB RAM, 20 GB NVMe, 1 TB traffic ทำงานได้ในราคา $3.74 ต่อเดือนในสัญญา 12 เดือน
ฉันต้องมีอะไรบ้างเพื่อตั้งค่า WireGuard บน VPS?
| รายการ | ค่าที่ใช้ในคู่มือนี้ |
|---|---|
| แพ็กเกจ | Ember: 1 vCPU, 1 GB RAM, 20 GB NVMe, 1 TB traffic |
| ราคา | $3.74 ต่อเดือนในสัญญา 12 เดือน, $7.48 ต่อเดือนในสัญญา 1 เดือน |
| ระบบ | Debian 13 หรือ Ubuntu 24.04 |
| แพ็กเกจ | wireguard (ติดตั้ง wg และ wg-quick) |
| ไฟล์การตั้งค่า | /etc/wireguard/wg0.conf |
| พอร์ต UDP | 51820 (พอร์ตที่ใช้ใน WireGuard quickstart) |
| ซับเน็ตของอุโมงค์ | 10.8.0.0/24 (ช่วงส่วนตัวที่เลือกสำหรับคู่มือนี้) |
ตรวจสอบราคาเมื่อ
คำสั่งมาจาก WireGuard quickstart, คู่มือ wg-quick และเอกสารเคอร์เนล ตรวจเมื่อ 2026-11-10
แพ็กเกจ Gloamport ใดรันเซิร์ฟเวอร์ WireGuard?
Ember เพียงพอสำหรับเซิร์ฟเวอร์ WireGuard Gloamport ระบุว่าเหมาะกับ "VPN WireGuard สำหรับอุปกรณ์ไม่กี่เครื่อง" มี vCPU 1 RAM 1 GB และทราฟฟิก 1 TB ต่อเดือน และ WireGuard ใช้สองอย่างแรกน้อยมาก
ตามการสำรวจของ Gloamport เกี่ยวกับ 10 พฤศจิกายน 2569 ราคามัธยฐานของ VPS 1 vCPU 1 GB ที่ใกล้เคียงกันทั่วทั้ง 32 โฮสต์ อยู่ที่ $10.55 ต่อเดือน เราไม่ได้อ้างว่าถูกที่สุดในทุกขนาด ประเด็นคือเซิร์ฟเวอร์ VPN ไม่จำเป็นต้องใช้แพ็กเกจใหญ่ KVM เต็มรูปแบบ: เคอร์เนลของคุณเอง กฎไฟร์วอลล์ของคุณเอง และการเข้ารหัสดิสก์ของคุณเองหากคุณตั้งค่าไว้ สำหรับฝั่งบัญชี ดู ฉันจะซื้อ VPS ด้วย Monero (XMR) ได้อย่างไร?
ฉันจะตั้งค่า WireGuard บน VPS ทีละขั้นตอนได้อย่างไร?
เจ็ดขั้นตอนจากการล็อกอิน root ครั้งแรกจนถึงอุโมงค์ที่ใช้งานได้
ล็อกอินและติดตั้ง WireGuard
เปิดเซสชัน SSH ของ root บน VPS ใหม่ แล้วรัน
apt updateจากนั้นapt install wireguardแพ็กเกจนี้ให้wgและwg-quickสร้างคีย์ของเซิร์ฟเวอร์
ตั้ง
umask 077จากนั้นสร้างคีย์ส่วนตัวและคำนวณคีย์สาธารณะจากมัน คีย์ส่วนตัวไม่เคยออกจากเซิร์ฟเวอร์สร้างคีย์ของไคลเอนต์
ทำเหมือนกันบนแล็ปท็อปหรือโทรศัพท์ของคุณ อุปกรณ์แต่ละเครื่องมีคู่คีย์ของตัวเอง คุณแลกเปลี่ยนเฉพาะคีย์สาธารณะ
เขียน wg0.conf บนเซิร์ฟเวอร์
ให้เซิร์ฟเวอร์มีที่อยู่ภายในซับเน็ตของอุโมงค์ ListenPort คีย์ส่วนตัวของมัน และ
[Peer]หนึ่งรายการต่ออุปกรณ์ พร้อมคีย์สาธารณะของอุปกรณ์นั้นและที่อยู่อุโมงค์เพียงหนึ่งที่อยู่เขียนการตั้งค่าไคลเอนต์
ชี้
Endpointไปยังที่อยู่และพอร์ต IPv4 ของ VPS ตั้งAllowedIPsและเพิ่มPersistentKeepalive = 25หากไคลเอนต์อยู่หลัง NATเริ่มอินเทอร์เฟซ
รัน
wg-quick up wg0ทั้งสองฝั่ง แล้วรันsystemctl enable --now wg-quick@wg0บนเซิร์ฟเวอร์เพื่อให้กลับมาทำงานหลังรีบูตตรวจการจับมือ (handshake)
รัน
wg showบรรทัด "latest handshake" ใต้ peer หมายความว่าคีย์ตรงกันและพอร์ต UDP เข้าถึงได้
ฉันจะสร้างคีย์และเขียนการตั้งค่าเซิร์ฟเวอร์ได้อย่างไร?
สร้างคีย์ด้วย wg genkey และ wg pubkey โดยตั้ง umask 077 ก่อน เพื่อให้ไฟล์คีย์ส่วนตัวอ่านได้เฉพาะ root คู่มือ WireGuard quickstart ให้คำสั่งบรรทัดเดียวแบบเดียวกับที่ใช้ด้านล่าง
apt update
apt install wireguard
umask 077
wg genkey | tee /etc/wireguard/server.key | wg pubkey > /etc/wireguard/server.pub
cat /etc/wireguard/server.pub[Interface]
Address = 10.8.0.1/24
ListenPort = 51820
PrivateKey = <contents of /etc/wireguard/server.key>
[Peer]
# laptop
PublicKey = <public key of the laptop>
AllowedIPs = 10.8.0.2/32ฉันจะเขียนการตั้งค่าไคลเอนต์และเริ่มอุโมงค์ได้อย่างไร?
เขียนไฟล์ที่สองบนไคลเอนต์ด้วยคีย์ส่วนตัวของมันเอง คีย์สาธารณะของเซิร์ฟเวอร์ และที่อยู่ VPS แล้วเปิดด้วย wg-quick up บรรทัด AllowedIPs กำหนดว่าทราฟฟิกใดเข้าอุโมงค์: 10.8.0.0/24 ส่งเฉพาะทราฟฟิกของอุโมงค์ ส่วน 0.0.0.0/0, ::/0 ส่งทุกอย่าง
[Interface]
Address = 10.8.0.2/24
PrivateKey = <private key of the laptop>
[Peer]
PublicKey = <contents of server.pub>
Endpoint = <VPS IPv4 address>:51820
AllowedIPs = 0.0.0.0/0, ::/0
PersistentKeepalive = 25# on the VPS
wg-quick up wg0
systemctl enable --now wg-quick@wg0
wg show
# on the laptop
wg-quick up wg0ฉันจะส่งทราฟฟิกทั้งหมดผ่าน VPS ได้อย่างไร?
หากต้องการใช้ VPS เป็นทางออกสำหรับทราฟฟิกทั้งหมดของคุณ ให้เปิด IPv4 forwarding และเพิ่มกฎ masquerade บนเซิร์ฟเวอร์ เอกสารเคอร์เนลนิยาม net.ipv4.ip_forward ว่าเป็นสวิตช์ที่ส่งแพ็กเก็ตระหว่างอินเทอร์เฟซ และค่าเริ่มต้นคือ 0 เป้าหมาย MASQUERADE ใช้ได้เฉพาะในตาราง nat ในโซ่ POSTROUTING
ใส่ทั้งสองอย่างในส่วน [Interface] ของไฟล์เซิร์ฟเวอร์ด้วย PostUp และ PostDown ซึ่ง wg-quick ทำงานใน bash และ %i จะขยายเป็นชื่ออินเทอร์เฟซ ค้นหาชื่ออินเทอร์เฟซสาธารณะก่อนด้วย ip route show default แล้วแทนที่ eth0 ด้านล่าง
PostUp = sysctl -w net.ipv4.ip_forward=1
PostUp = iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADEฉันจะรู้ได้อย่างไรว่าอุโมงค์ WireGuard ทำงานได้?
รัน wg show บนเซิร์ฟเวอร์ peer ที่มี "latest handshake" ล่าสุดและตัวนับการรับส่งที่ไม่ใช่ศูนย์คือเชื่อมต่อแล้ว หากการจับมือไม่เคยปรากฏ ให้ตรวจว่าคีย์สาธารณะทั้งสองอยู่ฝั่งที่ถูกต้อง ที่อยู่ Endpoint คือ IPv4 ของ VPS และ UDP 51820 เปิดอยู่
เมื่อทำงานได้แล้ว Ember ที่ $3.74 ต่อเดือนในสัญญา 12 เดือนครอบคลุม VPN ส่วนตัวสำหรับอุปกรณ์ไม่กี่เครื่อง ตามที่คำอธิบายแพ็กเกจระบุ เปรียบเทียบเส้นทางนี้กับเส้นทางเชิงพาณิชย์ได้ใน VPN ที่โฮสต์เองบน VPS ดีกว่าบริการ VPN หรือไม่? หากปลายอีกด้านคือเซิร์ฟเวอร์บ้านที่อยู่หลัง carrier-grade NAT ให้ทำต่อด้วย ฉันจะเชื่อมเครือข่ายบ้านกับ VPS ด้วย WireGuard ได้อย่างไร (หลัง CGNAT)? จากนั้นล็อก VPS ด้วย วิธีทำให้ SSH แข็งแรงบน VPS ใหม่?
สรุป
- ติดตั้ง
wireguardด้วย apt บน Debian 13 หรือ Ubuntu 24.04 - สร้างคีย์ด้วย
umask 077และwg genkey | tee … | wg pubkey - ไฟล์ของเซิร์ฟเวอร์ต้องมี Address, ListenPort, PrivateKey และ Peer หนึ่งรายการต่ออุปกรณ์
- ไฟล์ของไคลเอนต์ต้องมีคีย์สาธารณะของเซิร์ฟเวอร์, Endpoint และ AllowedIPs
PersistentKeepalive = 25ทำให้การแมป NAT เปิดค้างไว้- การใช้อุโมงค์เต็มรูปแบบต้องใช้
net.ipv4.ip_forward=1และกฎ MASQUERADE - Ember มีราคา $3.74 ต่อเดือนเมื่อสมัคร 12 เดือน
WireGuard บน VPS: คำถามที่พบบ่อย
WireGuard ใช้พอร์ตใด?
WireGuard ใช้พอร์ต UDP ที่ตั้งโดย ListenPort ในไฟล์การตั้งค่า ตัวอย่าง quickstart ใช้ 51820 และคู่มือนี้ก็ใช้เช่นกัน เปิดพอร์ตนั้นในไฟร์วอลล์ของคุณ
Ember ใหญ่พอสำหรับ WireGuard หรือไม่?
Gloamport ระบุ Ember (1 vCPU, 1 GB RAM, 20 GB NVMe, 1 TB traffic) สำหรับ VPN WireGuard สำหรับอุปกรณ์ไม่กี่เครื่อง ขีดจำกัดทราฟฟิกที่ 1 TB ต่อเดือนคือขีดที่ต้องระวัง
PersistentKeepalive ทำอะไร?
มันส่งแพ็กเก็ตทุก N วินาที เพื่อให้อุปกรณ์ NAT คงการแมปไว้ WireGuard quickstart เรียก 25 วินาทีว่าเป็นช่วงที่เหมาะสม และ 0 หมายถึงปิด
ฉันจะเริ่ม WireGuard ตอนบูตได้อย่างไร?
รัน systemctl enable --now wg-quick@wg0 แพ็กเกจ wireguard-tools ของ Debian มียูนิต [email protected] มาให้
ฉันเพิ่มอุปกรณ์ที่สองภายหลังได้ไหม?
ได้ สร้างคู่คีย์บนอุปกรณ์ใหม่ เพิ่มบล็อก [Peer] อีกหนึ่งบล็อกพร้อมคีย์สาธารณะและที่อยู่อุโมงค์ใหม่ เช่น 10.8.0.3/32 แล้วโหลดใหม่ด้วย wg syncconf wg0 <(wg-quick strip wg0)
แหล่งข้อมูล (5)
- WireGuard quickstart — WireGuard (checked 2026-11-10)
- หน้าคู่มือ wg-quick(8) — Debian (checked 2026-11-10)
- รายการไฟล์ของแพ็กเกจ wireguard-tools (trixie) — Debian (checked 2026-11-10)
- sysctl ของ IP: ip_forward — The Linux Kernel documentation (checked 2026-11-10)
- iptables-extensions(8): MASQUERADE — Debian (checked 2026-11-10)