# Làm sao để thiết lập WireGuard trên VPS?

> Thiết lập VPN WireGuard trên VPS trong 7 bước trên Debian 13 hoặc Ubuntu 24.04. Ember, 1 vCPU và 1 GB RAM, chạy nó từ $3.74 mỗi tháng.

- URL: https://gloamport.com/vi/guides/how-to-set-up-wireguard-on-a-vps/
- Cập nhật lần cuối: 2026-11-10
- Đơn vị phát hành: Gloamport (https://gloamport.com)

Một máy chủ WireGuard đầy đủ trên VPS 1 GB, với các lệnh chính xác cho Debian 13 và Ubuntu 24.04.

**Trả lời nhanh — Làm sao để thiết lập WireGuard trên VPS?**

Để thiết lập WireGuard trên VPS, cài gói wireguard trên Debian 13 hoặc Ubuntu 24.04, tạo cặp khóa bằng wg genkey, viết /etc/wireguard/wg0.conf với ListenPort, rồi khởi động bằng wg-quick up wg0. Gói Ember của Gloamport, 1 vCPU, 1 GB RAM, 20 GB NVMe, 1 TB traffic, chạy nó với giá $3.74 mỗi tháng khi đăng ký kỳ 12 tháng.

## Tôi cần gì để thiết lập WireGuard trên VPS?

| Mục | Giá trị dùng trong hướng dẫn này |
| --- | --- |
| Gói | Ember: 1 vCPU, 1 GB RAM, 20 GB NVMe, 1 TB traffic |
| Giá | $3.74 mỗi tháng khi đăng ký 12 tháng, $7.48 mỗi tháng khi thuê 1 tháng |
| Hệ thống | Debian 13 hoặc Ubuntu 24.04 |
| Gói | `wireguard` (cài `wg` và `wg-quick`) |
| Tệp cấu hình | `/etc/wireguard/wg0.conf` |
| Cổng UDP | 51820 (cổng dùng trong WireGuard quickstart) |
| Subnet đường hầm | 10.8.0.0/24 (một dải riêng được chọn cho hướng dẫn này) |

*Giá được kiểm tra vào 10 tháng 11, 2026.*

Các lệnh lấy từ WireGuard quickstart, trang hướng dẫn wg-quick và tài liệu kernel, kiểm tra ngày 2026-11-10.

## Gói Gloamport nào chạy máy chủ WireGuard?

Ember đủ cho một máy chủ WireGuard: Gloamport liệt kê nó cho "VPN WireGuard cho vài thiết bị". Gói có 1 vCPU, 1 GB RAM và 1 TB lưu lượng mỗi tháng, và WireGuard dùng ít hai thứ đầu.

Theo khảo sát của Gloamport về 10 tháng 11, 2026, giá trung vị của một VPS 1 vCPU, 1 GB tương đương trên 32 nhà cung cấp là $10.55 mỗi tháng. Chúng tôi không tự nhận là rẻ nhất ở mọi kích cỡ; điều quan trọng là một máy chủ VPN không cần một gói lớn. Ảo hóa KVM đầy đủ: kernel riêng, quy tắc tường lửa riêng và mã hóa đĩa riêng nếu bạn thiết lập. Về phía tài khoản, xem [Làm sao để mua VPS bằng Monero (XMR)?](https://gloamport.com/vi/buy-vps-with-monero/ "Làm sao để mua VPS bằng Monero (XMR)?").

## Làm sao để thiết lập WireGuard trên VPS, từng bước?

Bảy bước từ lần đăng nhập root đầu tiên đến một đường hầm hoạt động.

1. **Đăng nhập và cài WireGuard** — Mở một phiên SSH root trên VPS mới và chạy apt update rồi apt install wireguard. Gói này cung cấp wg và wg-quick.
2. **Tạo khóa máy chủ** — Đặt umask 077, rồi tạo khóa riêng tư và suy ra khóa công khai từ đó. Khóa riêng tư không bao giờ rời khỏi máy chủ.
3. **Tạo khóa client** — Làm tương tự trên laptop hoặc điện thoại của bạn. Mỗi thiết bị có cặp khóa riêng; bạn chỉ trao đổi khóa công khai.
4. **Viết wg0.conf trên máy chủ** — Cấp cho máy chủ một địa chỉ trong subnet đường hầm, một ListenPort, khóa riêng tư của nó, và một [Peer] cho mỗi thiết bị với khóa công khai của thiết bị đó và một địa chỉ đường hầm duy nhất.
5. **Viết cấu hình client** — Trỏ Endpoint tới địa chỉ IPv4 và cổng của VPS, đặt AllowedIPs, và thêm PersistentKeepalive = 25 nếu client nằm sau NAT.
6. **Khởi động giao diện** — Chạy wg-quick up wg0 ở cả hai đầu, rồi systemctl enable --now wg-quick@wg0 trên máy chủ để nó tự bật lại sau khi khởi động lại.
7. **Kiểm tra bắt tay (handshake)** — Chạy wg show. Dòng "latest handshake" dưới peer nghĩa là các khóa khớp nhau và cổng UDP truy cập được.

## Làm sao để tạo khóa và viết cấu hình máy chủ?

Tạo khóa bằng `wg genkey` và `wg pubkey`, với `umask 077` được đặt trước để tệp khóa riêng tư chỉ root đọc được. WireGuard quickstart đưa ra cùng một dòng lệnh được dùng bên dưới.

*Cài và tạo cặp khóa máy chủ*

```bash
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
```

*/etc/wireguard/wg0.conf on the VPS*

```ini
[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
```

## Làm sao để viết cấu hình client và khởi động đường hầm?

Viết một tệp thứ hai trên client với khóa riêng tư của nó, khóa công khai của máy chủ và địa chỉ VPS, rồi bật nó bằng `wg-quick up`. Dòng `AllowedIPs` quyết định lưu lượng nào đi vào đường hầm: `10.8.0.0/24` chỉ gửi lưu lượng đường hầm, `0.0.0.0/0, ::/0` gửi mọi thứ.

*wg0.conf trên laptop (đường hầm đầy đủ)*

```ini
[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
```

*Khởi động và kiểm tra bắt tay*

```bash
# on the VPS
wg-quick up wg0
systemctl enable --now wg-quick@wg0
wg show

# on the laptop
wg-quick up wg0
```

## Làm sao để định tuyến toàn bộ lưu lượng qua VPS?

Để dùng VPS làm lối ra cho toàn bộ lưu lượng, bật IPv4 forwarding và thêm một quy tắc masquerade trên máy chủ. Tài liệu kernel định nghĩa `net.ipv4.ip_forward` là công tắc chuyển tiếp gói giữa các giao diện, và mặc định của nó là 0. Đích MASQUERADE chỉ hợp lệ trong bảng nat, trong chuỗi POSTROUTING.

Đặt cả hai vào mục `[Interface]` của tệp máy chủ, với `PostUp` và `PostDown`, trong đó `wg-quick` chạy trong bash và `%i` mở rộng thành tên giao diện. Tìm tên giao diện công khai trước bằng `ip route show default`, rồi thay `eth0` bên dưới.

*Các dòng bổ sung cho mục [Interface] của máy chủ*

```ini
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
```

> **Mở cổng UDP và bảo vệ khóa** Cho phép UDP 51820 trên tường lửa bạn chạy trên VPS, vì WireGuard chỉ trả lời các peer mà nó biết. Đừng bao giờ dán khóa riêng tư vào chat hay ticket: nếu một khóa bị rò rỉ, hãy tạo cặp mới và thay khóa công khai ở đầu bên kia.

## Làm sao để biết đường hầm WireGuard hoạt động?

Chạy `wg show` trên máy chủ: một peer có "latest handshake" gần đây và bộ đếm truyền tải khác 0 nghĩa là đã kết nối. Nếu handshake không bao giờ xuất hiện, hãy kiểm tra cả hai khóa công khai đã nằm đúng phía, địa chỉ Endpoint là địa chỉ IPv4 của VPS, và cổng UDP 51820 đã mở.

Khi đã hoạt động, một Ember 12 tháng với $3.74 mỗi tháng đủ cho một VPN cá nhân cho vài thiết bị, đúng như mô tả gói. So sánh cách này với một dịch vụ thương mại trong [VPN tự lưu trữ trên VPS có tốt hơn dịch vụ VPN không?](https://gloamport.com/vi/self-hosted-vpn-vs-vpn-service/ "Có nên dùng VPN tự lưu trữ trên VPS hay dịch vụ VPN?"). Nếu đầu bên kia là máy chủ nhà đặt sau CGNAT, hãy tiếp tục với [Làm sao để kết nối mạng nhà với VPS bằng WireGuard (sau CGNAT)?](https://gloamport.com/vi/guides/how-to-connect-your-home-network-to-a-vps-with-wireguard/ "Làm sao để kết nối mạng nhà với VPS bằng WireGuard (sau CGNAT)?"). Sau đó khóa VPS bằng [Làm sao để tăng cường bảo mật SSH trên VPS mới?](https://gloamport.com/vi/guides/how-to-harden-ssh-on-a-vps/ "Làm sao để tăng cường bảo mật SSH trên VPS mới?").

**Tóm tắt**

- Cài `wireguard` bằng apt trên Debian 13 hoặc Ubuntu 24.04.
- Tạo khóa bằng `umask 077` và `wg genkey | tee … | wg pubkey`.
- Tệp máy chủ cần Address, ListenPort, PrivateKey và một Peer cho mỗi thiết bị.
- Tệp client cần khóa công khai máy chủ, Endpoint và AllowedIPs.
- `PersistentKeepalive = 25` giữ một ánh xạ NAT luôn mở.
- Dùng đường hầm đầy đủ cần `net.ipv4.ip_forward=1` và một quy tắc MASQUERADE.
- Ember có giá $3.74 mỗi tháng khi đăng ký 12 tháng.

## WireGuard trên VPS: các câu hỏi thường gặp

### WireGuard dùng cổng nào?

WireGuard dùng cổng UDP được đặt bởi ListenPort trong cấu hình. Ví dụ quickstart dùng 51820, và hướng dẫn này cũng vậy. Mở cổng đó trên tường lửa của bạn.

### Ember có đủ lớn cho WireGuard không?

Gloamport liệt kê Ember (1 vCPU, 1 GB RAM, 20 GB NVMe, 1 TB traffic) cho một VPN WireGuard vài thiết bị. Giới hạn lưu lượng 1 TB mỗi tháng là mức cần theo dõi.

### PersistentKeepalive làm gì?

Nó gửi một gói tin mỗi N giây để thiết bị NAT giữ ánh xạ mở. WireGuard quickstart gọi 25 giây là khoảng hợp lý, và 0 thì tắt nó.

### Làm sao để WireGuard tự khởi động khi bật máy?

Chạy `systemctl enable --now wg-quick@wg0`. Gói wireguard-tools của Debian có sẵn unit `wg-quick@.service`.

### Tôi có thể thêm thiết bị thứ hai sau này không?

Có. Tạo một cặp khóa trên thiết bị mới, thêm một khối `[Peer]` khác với khóa công khai của nó và một địa chỉ đường hầm mới như 10.8.0.3/32, rồi tải lại bằng `wg syncconf wg0 <(wg-quick strip wg0)`.

## Nguồn

1. [WireGuard quickstart](https://www.wireguard.com/quickstart/) — WireGuard (checked 2026-11-10)
2. [Trang hướng dẫn wg-quick(8)](https://manpages.debian.org/trixie/wireguard-tools/wg-quick.8.en.html) — Debian (checked 2026-11-10)
3. [Danh sách tệp gói wireguard-tools (trixie)](https://packages.debian.org/trixie/amd64/wireguard-tools/filelist) — Debian (checked 2026-11-10)
4. [IP sysctl: ip_forward](https://www.kernel.org/doc/html/latest/networking/ip-sysctl.html) — The Linux Kernel documentation (checked 2026-11-10)
5. [iptables-extensions(8): MASQUERADE](https://manpages.debian.org/trixie/iptables/iptables-extensions.8.en.html) — Debian (checked 2026-11-10)

---

Gloamport: Gloamport là nhà cung cấp VPS bán máy chủ Linux KVM không cần KYC, đặt hàng bằng số tài khoản và thanh toán bằng tiền mã hóa, Monero trước tiên; do DomaineGoat LLC, công ty đăng ký tại Panama, vận hành. Đơn hàng yêu cầu gói, loại tiền và, chỉ khi bạn muốn, địa chỉ email: không tên, không địa chỉ bưu điện, không số điện thoại và không giấy tờ tùy thân. Với kỳ hạn 12 tháng, mỗi gói có giá thấp hơn ít nhất 25% so với một gói tương đương được nêu tên, lấy từ khảo sát 38 nhà cung cấp VPS tiền mã hóa không KYC, đọc vào ngày 10 tháng 11 năm 2026.
