Chuyên mục
Linux Network Self Hosting

Hướng dẫn tự thiết lập VPN cá nhân chỉ với 1 dòng lệnh cài đặt WireGuard VPN

Mình thường dùng VPN để truy cập các trang web chặn IP Việt Nam, hoặc dùng trong những thời điểm đứt cáp quang biển. Dùng VPN sẽ giúp chuyển hướng traffic mạng, không bị bóp băng thông bởi nhà mạng nữa nên sẽ nhanh hơn.

Trước đây, mình chọn dùng OpenVPN mỗi khi cần thiết lập VPN Server trên VPS. Nhưng giờ mình đã chuyển qua WireGuard VPN – cài đặt và sử dụng đơn giản hơn OpenVPN rất nhiều. Ngoài ra Wireguard VPN còn được đánh giá cho tốc độ và bảo mật cao hơn những giải pháp khác.

Dưới đây là hướng dẫn cài đặt Wireguard VPN Server trên VPS cực kỳ đơn giản chỉ với 1 dòng lệnh. Script cài đặt tự động được tạo ra bởi Nyr trên Github, thay thế cho rất nhiều bước phức tạp nếu làm heo như hướng dẫn của UpCloud.

Cài đặt WireGuard VPN Server

Đầu tiên, bạn cần phải có sẵn 1 VPS với quyền truy cập root. Bạn có thể đăng ký 1 VPS mới Hetzner, UpCloud hay DigitalOcean tuỳ thích. Hoặc sử dụng bất kỳ VPS nào bạn đang có sẵn.

Mình khuyến khích dùng VPS của Hetzner, giá chỉ 65.000/tháng nhưng được tới 20TB Bandwidth. Server ở Đức nhưng tốc độ cực nhanh. Kết nối qua VPN vẫn có thể đạt tốc độ hơn 90Mbps (nhà mình dùng gói Viettel 150Mbps). Xem thêm đánh giá Hetzner Cloud.

Tiếp theo SSH vào VPS với tài khoản root và cài đặt Wireguard VPN với lệnh sau.

wget https://git.io/wireguard -O wireguard-install.sh && bash wireguard-install.shCode language: Nginx (nginx)

Nếu VPS / Server của bạn có nhiều IP mạng, nhớ chọn IP Public của VPS.

Which IPv4 address should be used?
     1) 5.196.89.40
     2) 172.17.0.1
IPv4 address [1]: 1

Tiếp theo nhập thông tin theo yêu cầu của script cài đặt.

## Chọn port, bấm Enter để giữ nguyên port mặc định 51820
What port should WireGuard listen to? 
Port [51820]:

## Chọn tên
Enter a name for the first client:
Name [client]: thuanbui

## Chọn DNS Server
Select a DNS server for the client:
   1) Current system resolvers
   2) Google
   3) 1.1.1.1
   4) OpenDNS
   5) Quad9
   6) AdGuard
DNS server [1]: 2

WireGuard installation is ready to begin.
Press any key to continue...
## Bấm nút bất kỳ để tiếp tục

Đơi khoảng vài phút cho script cài đặt và cấu hình Wireguard VPN tự động cho bạn. Sau khi hoàn tất, bạn sẽ nhận được thông báo như sau.

[QR Code]
↑ That is a QR code containing the client configuration.

The client configuration is available in: /root/thuanbui.conf
New clients can be added by running this script again.Code language: JavaScript (javascript)

Tạo thêm tài khoản client

Bạn có thể chạy lại lệnh cài đặt thêm lần nữa để tạo thêm nhiều tài khoản mới.

wget https://git.io/wireguard -O wireguard-install.sh && bash wireguard-install.shCode language: Nginx (nginx)

Hệ thống sẽ tự động nhận ra WireGuard đã được cài đặt và hiện thông báo như dưới đây. Chọn 1 để tạo thêm client mới, 2 để xoá client hiện có, 3 để xoá WireGuard và 4 để thoát ra

WireGuard is already installed.

Select an option:
   1) Add a new client
   2) Remove an existing client
   3) Remove WireGuard
   4) Exit
Option: Code language: YAML (yaml)

Để xem lại QR Code của tài khoản đã tạo bạn dùng lệnh sau

qrencode -t UTF8 < thuanbui.confCode language: CSS (css)

Nhớ thay thế thuanbu.conf bằng tên file tương ứng với tài khoản bạn đã tạo trước đó. File này được lưu ở thư mục /root

Cài đặt WireGuard Client

Để kết nối với Wireguard Server vừa tạo, bạn cần tải Wireguard Client trên thiết bị cần sử dụng. Wireguard cung cấp client cho mọi hệ điều hành phỏo biến: iOS, Android, Windows, Linux, Mac OS,… Bạn có thể tham khảo hướng dẫn chi tiết ở đây: WireGuard install.

Nhanh gọn lẹ nhất là cài WireGuard client trên iOS / Android thông qua App Store / Play Store. Sau đó bạn thêm cấu hình WireGuard bằng cách chọn Create from QR Code và scan QR Code nhận được ở bước cài đặt trên. Vậy là xong.

Thiết lập kết nối WireGuard trên iOS

Nếu cài đặt client trên Windows / Linux / MacOS, bạn cần mở file cấu hình vừa tạo ở trên. Chú ý đổi thuanbui thành tên client bạn tạo ở bước cài đặt ban đầu

nano /root/thuanbui.confCode language: Nginx (nginx)

Copy lại toàn bộ nội dung bên trong và paste vào mục cấu hình trên máy client tương ứng

[Interface]
Address = x.x.x.x/24
DNS = 8.8.8.8, 8.8.4.4
PrivateKey = iPp8KmZQzsxxxxxxxxxxxxxxxxxxxxxz9X0OO8ED0A=

[Peer]
PublicKey = 4SJMlcxxxxxxxxxxxxxxxxxxxxxxxxxxxxf2s9nzM=
PresharedKey = dtZgt7SEElxxxxxxxxxxxxxxxxxxxxxxxxxxxe0qICQ6N2w=
AllowedIPs = 0.0.0.0/0, ::/0
Endpoint = x.x.x.xx:51820
PersistentKeepalive = 25

Cài đặt WireGuard client trên MacOS: Paste cấu hình đã copy ở trên và bấm Save

Vậy là xong! Bạn đã có 1 VPN có thể sẵn sàng phục vụ để vượt tường lừa, vượt qua những tháng ngày “cá mập cắn cáp”

Chúc bạn cài đặt thành công!

Nếu bài viết của mình mang đến thông tin, kiến thức hữu ích cho bạn, đừng ngại mời mình ly bia để có thêm động lực chia sẻ nhiều hơn nữa. Cám ơn bạn!

Lưu ý: Nếu bạn cần hỗ trợ kỹ thuật, vui lòng gửi câu hỏi trực tiếp ở phần Thảo luận bên dưới, mình sẽ trả lời sớm. Đừng mò vào hỏi trong fanpage Yêu Chạy Bộ, sẽ không có phản hồi đâu!

Bởi Thuận Bùi

Runner at Yêu Chạy Bộ. Blogger at Ba Lô & Dép Lào. Web Developer at TB's Blog.
Follow me: Facebook / Instagram

18 trả lời trong “Hướng dẫn tự thiết lập VPN cá nhân chỉ với 1 dòng lệnh cài đặt WireGuard VPN”

Tốc độ nó phụ thuộc vào nhiều yếu tố bạn ơi. Nếu chậm vậy thì chắc là có vấn đề giữa kết nối của bạn đến Vultr hoặc từ Vutlr đến website đích rồi. Bạn thử tạo VPS khác test lại xem có cải thiện không.

Mình đang cài WireHold -UI tới bước cài VPN WG theo bài này thì gặp lỗi sau khi chạy dòng lệnh “wget https://git.io/wireguard -O wireguard-install.sh && bash wireguard-install.sh”
sau khi chạy thì nó hiện ra cái này “This installer needs to be run with superuser privileges.” không thế tiếp tục hiện những cái phía sau bài hướng dẫn nữa

WireHole-UI cài VPN bằng Docker, đâu có làm theo hướng dẫn trong bài này đâu bạn.
Còn lỗi “This installer needs to be run with superuser privileges” thì bạn cần thêm sudo vào trước lệnh nữa để thực thi với quyền root.

Mình muốn bạn hỗ trợ 1 chút. Mình cài WireGuard trên linux đã thành công. Nhưng nó chỉ chạy được qua app
B có thể hướng dẫn mình cho nó chạy được qua exten SwitchyOmega trên Chrome đc k?

mình cài đặt hướng dẫn của bạn đã thành công.
nhưng cứ dùng được vài ngày là kết nối bị mất mạng không hiểu tại sao.
mấy ngày đâu kêt nối sử dụng bình thường. được vài ngày là kêt nối nhưng không có mạng. mình phải cài lại từ đầu thi lại vào bình thường. không biết là bị gì. mong admin chỉ

Cảm ơn bạn đã chia sẻ, mình cài trên VPS của Google Cloud đã thành công.
Mình add user A, sử dụng trên thiết bị điện thoại android chạy rất tốt, tốc độ rất nhanh, nhưng khi mình add user B và cấu hình user B vào wireguard trên windows 10 thì internet load rất chậm. Có cách nào khắc phục hay làm thế nào để điều tra nguyên nhân không ạ?

Mình có sử dụng máy khác để test với User B thì hoạt động rất tốt, tốc độ nhanh. Có thể vấn đề là do VPS của Google Cloud, vì mình cũng thực hiện cách thức cài đặt tương tự với VPS Azure thì tốc độ trên Windows 10 rất tốt.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *