Internet Speed Online

Ngôn ngữ

Bài viết

Hướng dẫn thực hành

Cách thiết lập máy chủ VPN WireGuard trên Ubuntu bằng tập lệnh

Bắt đầu với máy chủ Ubuntu mới và tạo kết nối VPN riêng. Hướng dẫn gồm cài đặt máy chủ, tạo hồ sơ thiết bị và kiểm tra đường đi của lưu lượng internet.

Đã thử: cài đặt máy chủ, kết nối trong container Linux và tốc độ trên Windows. Chưa hoàn tất kiểm tra trực tiếp trên macOS, Ubuntu Desktop, iPhone và Android.

Khi nào nên dùng cách thiết lập này?

Phù hợp khi bạn muốn VPN riêng đi ra internet qua máy chủ tự chọn và mạng cho phép kết nối WireGuard. Bạn chọn nhà cung cấp, vị trí máy chủ và các thiết bị được truy cập.

Nếu mạng chặn VPN, WireGuard thông thường có thể không phù hợp. Nó không ngụy trang kết nối thành lưu lượng web thông thường. Ngay cả máy chủ cấu hình đúng cũng có thể không truy cập được qua nhà mạng của bạn. Hãy cân nhắc trước khi trả tiền thuê VPS.

Với mạng chặn VPN, hãy cân nhắc AmneziaWG hoặc Xray với VLESS và REALITY. AmneziaVPN hỗ trợ cài chúng trên máy chủ riêng. Chúng được thiết kế để chống phát hiện và chặn, nhưng không bảo đảm kết nối từ mọi mạng.

WireGuard

AmneziaVPN

1. Chọn máy chủ và chuẩn bị quyền truy cập

Hướng dẫn cài WireGuard từ đầu trên VPS Ubuntu 26.04 LTS. Cần IPv4 công khai và mật khẩu root hoặc khóa SSH. Chọn nhà cung cấp và khu vực theo nhu cầu.

Hướng dẫn dùng VPS có 1 vCPU và RAM 1 GB.

Chọn máy chủ IPv4 để kết nối được từ mạng không hỗ trợ IPv6. Máy chủ chỉ có IPv6 cần cấu hình thêm để truy cập trang chỉ có IPv4 và không thuộc phạm vi này.

Bảo mật máy chủ: bài này hướng dẫn cài VPN, không bao quát toàn bộ bảo mật và bảo trì VPS. Tập lệnh cấu hình tường lửa cho SSH và WireGuard. Bạn vẫn chịu trách nhiệm cập nhật bảo mật và bảo vệ truy cập. Dùng khóa SSH, bật xác thực hai yếu tố cho tài khoản hosting và giữ hồ sơ VPN như mật khẩu. Chỉ tắt đăng nhập SSH bằng mật khẩu sau khi đã kiểm tra đăng nhập bằng khóa.

2. Kiểm tra đăng nhập qua SSH

Windows: tìm PowerShell trong Start rồi mở. Mac: nhấn Command+Space, gõ Terminal rồi Enter. Ubuntu Desktop: nhấn Ctrl+Alt+T.

Trong mọi lệnh, thay SERVER_IP bằng IPv4 công khai trong bảng điều khiển máy chủ. ssh root@SERVER_IP kết nối với tài khoản root.

Chọn lệnh dùng mật khẩu hoặc lệnh dùng khóa SSH có sẵn. Thay đường dẫn khóa ví dụ bằng đường dẫn của bạn.

Lần đầu, SSH có thể hỏi có tin cậy máy chủ không. Kiểm tra đúng địa chỉ VPS vừa tạo, gõ yes rồi Enter. Nhập mật khẩu root khi được hỏi; ký tự không hiện khi gõ.

Sau khi vào máy chủ, chạy lệnh bên dưới để kiểm tra Ubuntu, rồi exit để trở lại máy tính của bạn.

PowerShell hoặc Terminal trên máy tính — đăng nhập bằng mật khẩu
ssh root@SERVER_IP
PowerShell hoặc Terminal trên máy tính — khóa SSH có sẵn
ssh -i ~/.ssh/id_ed25519 root@SERVER_IP
Trên máy chủ
cat /etc/os-release
exit
Nếu không tìm thấy lệnh ssh

Trên Windows, mở PowerShell bằng Run as administrator và chạy lệnh dưới. Cài xong, đóng rồi mở PowerShell thường. Trên Ubuntu, dùng lệnh Ubuntu bên dưới. macOS có sẵn máy khách SSH.

Windows — cài SSH trong PowerShell quản trị
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0

Sao chép nguyên lệnh. OpenSSH.Client~~~~0.0.1.0 là mã thành phần Windows; giữ nguyên dấu ngã và số.

Ubuntu Desktop — cài máy khách SSH
sudo apt update
sudo apt install openssh-client

3. Tải và xem gói cài đặt

Tải ZIP rồi giải nén. Giữ tất cả tập lệnh trong thư mục wireguard-guide. Chỉ cần theo một nhánh Windows, Mac hoặc Ubuntu bên dưới.

Tập lệnh cài WireGuard trên VPS và lưu hồ sơ VPN vào máy tính qua một kết nối SSH cho toàn bộ quá trình. Khi đăng nhập bằng mật khẩu, mật khẩu được hỏi một lần cho mỗi lần chạy thành công và không được tập lệnh lưu lại.

Tên hồ sơ dài 1–15 ký tự, gồm chữ Latin hoa hoặc thường, số và dấu gạch nối, bắt đầu bằng chữ. Không có dấu cách. Ví dụ: my-wg-vpn, my-laptop, my-phone. Bỏ tên thì tập lệnh sẽ hỏi; Enter chọn my-wg-vpn. Tên không hợp lệ sẽ được hỏi lại. Dùng tên khác cho mỗi thiết bị bổ sung.

Để tải hồ sơ có sẵn, chạy script, chọn 2 (Manage existing server), kết nối rồi chọn 9 (Download profile). Nhập tên trong danh sách; nhấn Enter khi để trống để hủy. Việc tải dùng cùng kết nối SSH, không hỏi lại mật khẩu máy chủ. Tải thành công sẽ thay thế tệp cục bộ cùng tên.

Tải tập lệnh cài đặt (.zip)

4a. Thiết lập máy chủ từ Windows

Mở thư mục wireguard-guide đã giải nén trong File Explorer. Gõ powershell vào thanh địa chỉ rồi Enter để mở PowerShell tại đúng thư mục.

Chạy một trong các lệnh. Thay SERVER_IP bằng địa chỉ VPS và thay đường dẫn khóa nếu dùng SSH key.

Chọn 1 (Set up server), nhập IP máy chủ và tên hồ sơ, rồi nhập đường dẫn khóa SSH hoặc nhấn Enter. Enter giữ tên được đề xuất. Kiểm tra phần tóm tắt và nhập yes/y để tiếp tục; Nhập no để hủy. Sau 3 câu trả lời không hợp lệ, script sẽ đóng. Tiến trình được hiển thị trong khi cài đặt. Bạn cũng có thể nhấn Enter để tiếp tục.

Hồ sơ được lưu trong thư mục cá nhân tại WireGuard/SERVER_IP/my-wg-vpn.conf. Script hiển thị đường dẫn đầy đủ.

Khởi chạy với câu hỏi về địa chỉ máy chủ và tên hồ sơ
.\Connect-WireGuardServer.ps1
PowerShell — xác thực bằng mật khẩu
.\Connect-WireGuardServer.ps1 -Server SERVER_IP -ProfileName my-wg-vpn
PowerShell — xác thực bằng khóa SSH
.\Connect-WireGuardServer.ps1 -Server SERVER_IP -ProfileName my-wg-vpn -IdentityFile "$HOME\.ssh\id_ed25519"
Nếu PowerShell chặn tập lệnh

Nếu lỗi báo tệp tải xuống không có chữ ký số, chạy lệnh này trong cùng thư mục rồi thử lệnh cài đặt lại.

PowerShell — bỏ chặn tệp đã tải
Unblock-File -LiteralPath .\Connect-WireGuardServer.ps1, .\ManagementClient.ps1

Nếu lỗi báo không được chạy tập lệnh, chạy các lệnh sau, xác nhận lời nhắc rồi thử lại. Thay đổi hết hiệu lực khi đóng cửa sổ PowerShell.

PowerShell — chỉ cho phép tập lệnh trong cửa sổ này
Set-ExecutionPolicy -Scope Process -ExecutionPolicy RemoteSigned
Unblock-File -LiteralPath .\Connect-WireGuardServer.ps1, .\ManagementClient.ps1

Nếu chính sách vẫn chặn, dừng lại và giữ thông báo lỗi để chẩn đoán.

4b. Thiết lập máy chủ từ Mac

Mở Terminal. Gõ cd và một dấu cách, kéo thư mục wireguard-guide từ Finder vào Terminal rồi Enter.

Chạy một lệnh, giữ cả bash ở đầu. Thay SERVER_IP và đường dẫn khóa nếu dùng. my-wg-vpn là tên hồ sơ; dùng tên khác như macbook cho máy Mac tiếp theo.

Hồ sơ được lưu trong thư mục cá nhân tại WireGuard/SERVER_IP/my-wg-vpn.conf. Script hiển thị đường dẫn đầy đủ.

Chọn 1 (Set up server), nhập IP máy chủ và tên hồ sơ, rồi nhập đường dẫn khóa SSH hoặc nhấn Enter. Enter giữ tên được đề xuất. Kiểm tra phần tóm tắt và nhập yes/y để tiếp tục; Nhập no để hủy. Sau 3 câu trả lời không hợp lệ, script sẽ đóng. Tiến trình được hiển thị trong khi cài đặt. Bạn cũng có thể nhấn Enter để tiếp tục.

Khởi chạy với câu hỏi về địa chỉ máy chủ và tên hồ sơ
bash ./connect-wireguard-server.sh
Terminal macOS — xác thực bằng mật khẩu
bash ./connect-wireguard-server.sh SERVER_IP my-wg-vpn
Terminal macOS — xác thực bằng khóa SSH
bash ./connect-wireguard-server.sh SERVER_IP my-wg-vpn 22 ~/.ssh/id_ed25519

4c. Thiết lập máy chủ từ Ubuntu Desktop

Nhấn Ctrl+Alt+T. Gõ cd và dấu cách, kéo thư mục wireguard-guide vào Terminal rồi Enter.

Thay SERVER_IP rồi chạy một lệnh. my-wg-vpn là tên hồ sơ. Không cần sudo cho tập lệnh khởi chạy này hoặc đăng nhập SSH.

Hồ sơ được lưu trong thư mục cá nhân tại WireGuard/SERVER_IP/my-wg-vpn.conf. Script hiển thị đường dẫn đầy đủ.

Chọn 1 (Set up server), nhập IP máy chủ và tên hồ sơ, rồi nhập đường dẫn khóa SSH hoặc nhấn Enter. Enter giữ tên được đề xuất. Kiểm tra phần tóm tắt và nhập yes/y để tiếp tục; Nhập no để hủy. Sau 3 câu trả lời không hợp lệ, script sẽ đóng. Tiến trình được hiển thị trong khi cài đặt. Bạn cũng có thể nhấn Enter để tiếp tục.

Khởi chạy với câu hỏi về địa chỉ máy chủ và tên hồ sơ
bash ./connect-wireguard-server.sh
Trên Ubuntu Desktop — xác thực bằng mật khẩu
bash ./connect-wireguard-server.sh SERVER_IP my-wg-vpn
Trên Ubuntu Desktop — xác thực bằng khóa SSH
bash ./connect-wireguard-server.sh SERVER_IP my-wg-vpn 22 ~/.ssh/id_ed25519

Trước khi kết nối: nếu VPN ngừng hoạt động thì sao?

Full tunnel đưa lưu lượng internet thông thường qua VPN khi hồ sơ đang hoạt động.

Kill switch chặn kết nối internet ngoài VPN. Hành vi tùy ứng dụng và cài đặt: máy chủ không phản hồi, tắt hồ sơ thủ công và khởi động lại thiết bị có thể cho kết quả khác nhau. Hướng dẫn tạo hồ sơ full tunnel nhưng không thiết lập cùng một cơ chế chặn thường trực trên mọi thiết bị. Nếu không có bảo vệ bổ sung, tắt hồ sơ có thể khôi phục internet thông thường.

Windows: ứng dụng chính thức tự bật kill switch cho hồ sơ tập lệnh tạo ra. Bảo vệ có hiệu lực khi đường hầm đang bật. Tắt hồ sơ thủ công sẽ cho phép internet thông thường trở lại.

Android: trong cài đặt hệ thống, tìm VPN rồi cài đặt WireGuard. Bật Always-on VPN và Block connections without VPN để chặn kết nối ngoài VPN; chỉ Always-on là chưa đủ. Tên và vị trí tùy điện thoại. Khi bật chặn, VPN không hoạt động cũng đồng nghĩa không có internet.

Mac và iPhone: On-Demand tự kết nối theo quy tắc đã đặt. Không nên coi đó là kill switch thường trực.

Ubuntu Desktop: cách nhập bằng NetworkManager bên dưới không tạo kill switch riêng. Cần thêm quy tắc tường lửa trên máy tính.

Máy chủ không truy cập được khác với hồ sơ VPN bị tắt. Nếu máy chủ ngừng phản hồi nhưng hồ sơ vẫn bật, lưu lượng có thể chỉ dừng lại; không nhất thiết thiết bị đã chuyển sang kết nối ngoài VPN.

WireGuard — Windows

Android — VPN

5a. Kết nối Windows hoặc macOS

Cài ứng dụng WireGuard chính thức cho hệ điều hành. Nhập tệp .conf vừa tạo, cấp quyền VPN rồi bật đường hầm. Tên mục nhập có thể khác theo phiên bản ứng dụng.

Hồ sơ đưa IPv4 vào đường hầm và có tuyến mặc định IPv6 nhằm tránh IPv6 đi ngoài VPN. Máy chủ không cung cấp internet IPv6. Kiểm tra hành vi thực tế bằng các bước bên dưới.

Hồ sơ chứa khóa riêng. Ai có bản sao có thể thử dùng danh tính VPN của thiết bị. Không gửi hồ sơ trong yêu cầu hỗ trợ, tải lên công cụ tạo QR trực tuyến hoặc dùng chung giữa các thiết bị.

Tải WireGuard chính thức

5b. Kết nối Ubuntu Desktop bằng NetworkManager

NetworkManager nhập hồ sơ và quản lý DNS cùng định tuyến, không phụ thuộc phiên bản hộp thoại đồ họa. Chạy lệnh trên máy tính, không trong SSH tới VPS. Trước tiên kiểm tra nmcli có sẵn và NetworkManager đang chạy.

Dùng my-wg-vpn.conf để kết nối có tên my-wg-vpn. Nếu tên đã tồn tại, chọn tên thiết bị khác và sửa lệnh tương ứng. Chỉ nhập một lần; lần sau dùng up và down. Lệnh bên dưới tắt tự kết nối VPN khi máy khởi động.

DNS này ưu tiên VPN cho mọi tên miền khi đang hoạt động. DNS bảo mật riêng của trình duyệt có thể khác. Làm kiểm tra IP, DNS và IPv6 ở bước 7. Cách này chưa được thử trực tiếp trên Ubuntu Desktop; kết quả container không xác nhận DNS và IPv6 của desktop.

Không bật cùng hồ sơ bằng wg-quick đồng thời vì hai trình quản lý có thể tạo tuyến xung đột. Dùng nmcli để kiểm tra và ngắt dù giao diện desktop hiển thị khác.

Trên Ubuntu Desktop — kiểm tra NetworkManager
nmcli --version
systemctl is-active NetworkManager
Trên Ubuntu Desktop — nhập một lần và đặt DNS
sudo nmcli connection import type wireguard file "$HOME/WireGuard/SERVER_IP/my-wg-vpn.conf"
sudo nmcli connection modify my-wg-vpn connection.autoconnect no ipv4.dns-priority -50 ipv4.dns-search "~."
Trên Ubuntu Desktop — kết nối
sudo nmcli connection up my-wg-vpn
nmcli connection show --active
Trên Ubuntu Desktop — ngắt kết nối
sudo nmcli connection down my-wg-vpn

6. Kết nối iPhone hoặc Android bằng mã QR

Cài ứng dụng WireGuard chính thức qua liên kết App Store hoặc Google Play dưới đây.

Trên máy tính, vào lại VPS bằng ssh root@SERVER_IP hoặc lệnh khóa SSH. Chạy lệnh dành cho điện thoại để tạo hồ sơ và hiển thị QR.

Trong WireGuard trên điện thoại, chọn thêm đường hầm bằng quét QR. Quét mã trên máy tính, đặt tên, cấp quyền VPN rồi bật kết nối.

Mỗi điện thoại dùng hồ sơ riêng. Không chia sẻ QR vì mã cho phép truy cập VPN. Nếu mã bị ngắt dòng, phóng to cửa sổ Terminal rồi hiển thị lại.

Trên máy chủ — tạo hồ sơ iPhone
python3 /root/internetspeed-wireguard/manage-client.py add iphone
qrencode -t ANSIUTF8 < /etc/wireguard/clients/iphone.conf
Trên máy chủ — tạo hồ sơ Android riêng
python3 /root/internetspeed-wireguard/manage-client.py add android
qrencode -t ANSIUTF8 < /etc/wireguard/clients/android.conf

WireGuard cho iPhone — App Store

WireGuard cho Android — Google Play

7. Kiểm tra internet có đi qua VPN

Trước khi bật VPN, mở My IP qua liên kết bên dưới và ghi lại IP. Bật WireGuard, tải lại My IP và so sánh với IPv4 công khai của VPS.

Nếu trang mở được và hiện địa chỉ VPS, kết nối trình duyệt đó đang qua VPN. Nếu vẫn hiện IP cũ, xem phần khắc phục sự cố.

Điều này xác nhận kết nối trình duyệt, không phải mọi ứng dụng hoặc khả năng bảo vệ lúc VPN gián đoạn. Có thể kiểm tra thêm DNS và IPv6 bên dưới.

Kiểm tra IP công khai

Tùy chọn: kiểm tra IPv6 và DNS

IPv6: mở Test IPv6 trước khi kết nối và xem có địa chỉ IPv6 không. Bật VPN rồi thử lại. Cấu hình IPv4 này không nên có internet IPv6 hoạt động. Nếu IPv6 thường dùng vẫn xuất hiện, nó đang đi ngoài đường hầm. Nếu ban đầu không có IPv6, thử nghiệm không cho biết hành vi trên mạng hỗ trợ IPv6.

DNS: khi VPN bật, chạy Standard test tại DNS Leak Test. Hồ sơ dùng Cloudflare DNS. Nếu thấy nhà mạng gia đình, kiểm tra DNS thiết bị. Nhà cung cấp khác cũng có thể do Secure DNS của trình duyệt; cần tìm hiểu chứ chưa tự động chứng minh rò rỉ. Kết quả không đảm bảo mọi ứng dụng được bảo vệ.

Mở Test IPv6

Mở DNS Leak Test

8. Khắc phục kết nối không hoạt động

Nếu My IP vẫn hiện IP thường, kiểm tra hồ sơ WireGuard đã bật. Tắt rồi bật lại một lần và tải lại My IP.

Nếu bật VPN khiến trang không mở, tắt VPN rồi thử cùng trang. Nếu vẫn lỗi, khôi phục internet thường trước. Nếu chỉ lỗi khi bật VPN, làm các kiểm tra dưới đây.

Để so sánh, nối máy tính vào điểm phát sóng điện thoại rồi thử VPN. Trên điện thoại, tắt Wi-Fi và thử dữ liệu di động; có thể phát sinh phí. Đây là thử tạm thời. Nếu chỉ hoạt động qua di động, vấn đề liên quan kết nối Wi-Fi đó nhưng chưa xác định nguyên nhân.

Nếu cài đặt dừng do lỗi, lưu thông báo cuối. Sau khi sửa nguyên nhân, chạy lại cùng lệnh và tên thiết bị. Hồ sơ cũ được giữ lại.

Kiểm tra máy chủ VPN đang chạy

Đăng nhập SSH như bước 2 rồi chạy lệnh. Kết quả cần là active. Nếu inactive hoặc failed, chạy lệnh khởi động lại và kiểm tra. Nếu vẫn không active, lưu lỗi.

Trên máy chủ — kiểm tra WireGuard
systemctl is-active wg-quick@wg0
Trên máy chủ — khởi động lại WireGuard nếu chưa hoạt động
systemctl restart wg-quick@wg0
systemctl is-active wg-quick@wg0

Khởi động lại sẽ tạm ngắt các thiết bị đang dùng VPN.

Kiểm tra thiết bị có tới được máy chủ

Bật VPN, thử My IP rồi chạy wg show trên máy chủ. Tìm latest handshake dưới mục thiết bị. 10 seconds ago nghĩa là vừa thiết lập kết nối mã hóa. Không có dòng này nghĩa là chưa ghi nhận kết nối thành công cho thiết bị.

Nếu không có kết nối mới, kiểm tra Endpoint trong hồ sơ là địa chỉ VPS kèm :51820. Vào Firewall hoặc Security groups trong bảng điều khiển VPS. Nếu có tường lửa gắn với VPS, cho phép UDP đến cổng 51820. Giao diện tùy nhà cung cấp; tập lệnh đã đặt tường lửa trong Ubuntu.

Nếu handshake mới nhưng trang vẫn không mở, ghi lại kết quả và lỗi hoặc nhật ký ứng dụng. Thay ngẫu nhiên cấu hình mạng nâng cao có thể làm chẩn đoán khó hơn.

Trên máy chủ — xem trạng thái VPN
wg show

9. Có thể đạt tốc độ nào?

Thử trên Windows đạt khoảng 450–500 Mbps tải xuống và 450–500 Mbps tải lên, cùng phương pháp với các VPN khác của dự án. Tuyến: người dùng tại San Diego → VPN ở vùng Vịnh San Francisco → máy chủ đo tại Seattle.

VPS là Vultr Shared CPU (vc2-1c-1gb): 1 vCPU, RAM 1 GB, lưu lượng 1 TB/tháng; giá lúc tạo là 5 USD/tháng.

Trong một thử nghiệm riêng, máy chủ Vultr Shared CPU Intel High Frequency (vhf-1c-1gb; 1 vCPU, 1 GB RAM), giá 6 USD/tháng, đạt khoảng 550–750 Mbps cho cả tải xuống và tải lên. Cả hai gói đều được thử trên Windows với cùng phương pháp và tuyến: San Diego → máy chủ VPN ở vùng Vịnh San Francisco → máy chủ đo tại Seattle.

Kết quả khác nhau giữa các máy chủ Intel High Frequency được thử: một số luôn đạt gần đầu trên của khoảng tốc độ, trong khi số khác ổn định gần đầu dưới. Chỉ chọn gói này không bảo đảm đạt 750 Mbps.

Đây là kết quả của cấu hình này. Tốc độ của bạn phụ thuộc internet, máy chủ và vị trí.

10. Chi phí, quyền riêng tư và giới hạn nhà cung cấp

VPN tự quản cho quyền kiểm soát cấu hình và một vị trí đầu ra. Bạn chịu trách nhiệm cập nhật, thanh toán, quyền thiết bị và khôi phục. Nó không làm bạn ẩn danh với nhà cung cấp máy chủ hay thay thế HTTPS.

Máy chủ thử nghiệm có giá 5 và 6 USD/tháng. Giá, phần cứng và hạn mức lưu lượng tùy nhà cung cấp, khu vực. Khi so với thuê bao VPN, hãy tính cả việc một VPS chỉ cho một vị trí đã chọn và bạn tự bảo trì máy chủ.

Duyệt web, video, tải xuống, tải lên và đo tốc độ đều tiêu tốn hạn mức lưu lượng VPS. Kiểm tra phần còn lại trong bảng điều khiển. Vượt hạn mức có thể bị tính thêm phí hoặc giới hạn tùy gói.

Trước khi dùng P2P, đọc điều khoản hiện hành của nhà cung cấp và luật áp dụng. Giao thức và quyền nội dung là hai vấn đề riêng. Chỉ tải và chia sẻ nội dung bạn có quyền; không phải nơi nào cũng cho mọi hình thức P2P.

IP trung tâm dữ liệu có thể gặp CAPTCHA, giới hạn dịch vụ hoặc chặn phát trực tuyến. WireGuard thông thường không đảm bảo qua mọi mạng bị lọc. Một VPS cũng là một điểm lỗi duy nhất, không có nhiều vị trí và máy thay thế như nhà cung cấp lớn.

11. Thêm thiết bị, thu hồi quyền và bảo trì

Dùng hồ sơ riêng cho mỗi thiết bị. Để thu hồi quyền truy cập của một hồ sơ VPN, vào VPS qua SSH rồi chạy lệnh xóa bên dưới, thay iphone bằng tên hồ sơ. Xóa các bản sao tệp hoặc mã QR đã lưu. Chỉ xóa hồ sơ trên thiết bị không thu hồi quyền trên máy chủ.

Cập nhật bảo mật Ubuntu và kiểm tra yêu cầu khởi động lại. Khởi động lại lúc phù hợp rồi xác nhận VPN hoạt động. Bảo vệ tài khoản hosting và SSH; đổi xác thực SSH riêng với phương án đăng nhập thay thế đã thử.

Tập lệnh gỡ bỏ dừng VPN này, xóa cấu hình và quy tắc tường lửa do nó quản lý. SSH, UFW và các gói vẫn còn. Chuyển tiếp vẫn bật tới khi chính sách hệ thống áp dụng lúc khởi động lại. Gỡ VPN không hủy phí VPS; lưu dữ liệu cần thiết rồi xóa máy qua nhà cung cấp khi không dùng nữa.

Trên máy chủ — thu hồi hồ sơ iPhone
python3 /root/internetspeed-wireguard/manage-client.py remove iphone
Trên máy chủ — kiểm tra cập nhật và yêu cầu khởi động lại
apt update
apt list --upgradable
test ! -f /var/run/reboot-required || cat /var/run/reboot-required

Các lệnh này liệt kê bản cập nhật và kiểm tra yêu cầu khởi động lại, không cài bản cập nhật. Cấu hình cập nhật bảo mật và bảo vệ VPS riêng với việc cài VPN.

Trên máy chủ — gỡ cấu hình VPN (ngắt mọi thiết bị)
bash /root/internetspeed-wireguard/remove-server.sh --confirm