OffshoreVps
Bảo mật17 thg 9 202610 phút đọcBởi đội ngũ OffshoreVps

Thiết lập VPN WireGuard riêng trên VPS

Từng bước: cài WireGuard trên Ubuntu hoặc Debian, tạo khóa, viết cấu hình máy chủ và máy khách, mở tường lửa và kiểm tra đường hầm.

WireGuard là giao thức VPN hiện đại, nhanh, nhỏ gọn và dễ cấu hình. Tự chạy WireGuard trên VPS cho bạn một đường hầm mã hóa tới máy chủ ở quốc gia bạn chọn, không có công ty VPN bên thứ ba ở giữa. Hướng dẫn này dùng Ubuntu 24.04 hoặc Debian 12/13 và giả định bạn đã bảo mật máy chủ.

Cửa sổ terminal trên VPS hiển thị các lệnh dùng để thiết lập WireGuard, bắt đầu bằng “sudo apt update”
Loại lệnh bạn sẽ chạy trên máy chủ của mình trong hướng dẫn này.

1. Cài đặt WireGuard

sudo apt update
sudo apt install -y wireguard

2. Tạo khóa máy chủ

cd /etc/wireguard
umask 077
wg genkey | tee server.key | wg pubkey > server.pub

umask 077 đảm bảo các tệp khóa chỉ root mới đọc được. Hãy giữ server.key ở chế độ riêng tư.

3. Tạo khóa máy khách

Tạo cặp khóa cho laptop hoặc điện thoại của bạn trên máy chủ rồi sao chép cấu hình máy khách sang sau:

wg genkey | tee client1.key | wg pubkey > client1.pub

4. Viết cấu hình máy chủ

Trước tiên hãy tìm tên giao diện mạng công khai của bạn:

ip route get 1.1.1.1 | awk '{print $5; exit}'

Nó thường là eth0 hoặc ens3. Tạo /etc/wireguard/wg0.conf và thay các giá trị viết hoa bằng giá trị của riêng bạn:

[Interface]
Address = 10.8.0.1/24
ListenPort = 51820
PrivateKey = SERVER_PRIVATE_KEY
PostUp   = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o ETH_IF -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o ETH_IF -j MASQUERADE

[Peer]
# client1
PublicKey = CLIENT1_PUBLIC_KEY
AllowedIPs = 10.8.0.2/32

Dán nội dung của server.key và client1.pub vào chỗ được chỉ ra, và thay ETH_IF bằng tên giao diện của bạn.

5. Bật chuyển tiếp IP

echo "net.ipv4.ip_forward=1" | sudo tee /etc/sysctl.d/99-wireguard.conf
sudo sysctl --system
Các bước của hướng dẫn này theo thứ tự: 1. 1. Cài đặt WireGuard; 2. 3. Tạo khóa cho máy khách; 3. 5. Bật chuyển tiếp IP; 4. 7. Khởi động đường hầm; 5. 9. Kiểm tra; 6. Chọn vị trí
Các bước trong hướng dẫn này, theo thứ tự.

6. Mở tường lửa

sudo ufw allow 51820/udp
sudo ufw route allow in on wg0
sudo ufw reload

7. Khởi động đường hầm

sudo systemctl enable --now wg-quick@wg0
sudo wg show

Bạn sẽ thấy giao diện và, khi máy khách kết nối, lần bắt tay (handshake) gần nhất của nó.

8. Cấu hình máy khách

Trên thiết bị của bạn, tạo cấu hình như sau (các ứng dụng WireGuard chính thức cho Windows, macOS, Linux, iOS và Android có thể nhập nó từ tệp hoặc mã QR):

[Interface]
Address = 10.8.0.2/24
PrivateKey = CLIENT1_PRIVATE_KEY
DNS = 1.1.1.1

[Peer]
PublicKey = SERVER_PUBLIC_KEY
Endpoint = YOUR_SERVER_IP:51820
AllowedIPs = 0.0.0.0/0, ::/0
PersistentKeepalive = 25

Dùng AllowedIPs = 0.0.0.0/0, ::/0 sẽ gửi toàn bộ lưu lượng qua đường hầm. Để chỉ truy cập mạng riêng của bạn, hãy dùng 10.8.0.0/24 thay thế.

9. Kiểm tra

  1. Kích hoạt đường hầm trên máy khách.
  2. Chạy sudo wg show trên máy chủ và xác nhận có một lần bắt tay gần đây.
  3. Truy cập một trang "what is my IP" từ máy khách. Nó phải hiển thị địa chỉ máy chủ của bạn.
  4. Kiểm tra rò rỉ DNS nếu quyền riêng tư là mục tiêu, và thêm quy tắc IPv6 nếu máy chủ của bạn có IPv6.

Thêm thiết bị

Với mỗi thiết bị mới, tạo một cặp khóa, thêm một khối [Peer] khác với địa chỉ mới như 10.8.0.3/32, và chạy sudo wg syncconf wg0 <(wg-quick strip wg0) để áp dụng mà không làm rớt các kết nối hiện có.

Chọn vị trí

Máy chủ WireGuard hoạt động từ bất kỳ vị trí nào của chúng tôi. Hãy chọn vị trí gần bạn để có tốc độ, hoặc ở quốc gia có địa chỉ IP mà bạn muốn lưu lượng của mình xuất phát. Xem cách chọn vị trí VPS. Một VPS nhỏ là quá đủ cho đường hầm cá nhân.