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.
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.sh
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.
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.sh
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:
Để xem lại QR Code của tài khoản đã tạo bạn dùng lệnh sau
qrencode -t UTF8 < blntech.conf
Nhớ thay thế blntech.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.
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/blntech.conf
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
Vậy là xong!