Ngày nay WireGuard nhận phần lớn sự chú ý, và điều đó hoàn toàn xứng đáng. Nhưng OpenVPN vẫn giữ được chỗ đứng: nó chạy được qua TCP cổng 443, được tích hợp sẵn trong router và client doanh nghiệp, và một số mạng vẫn cho nó đi qua khi các VPN dựa trên UDP bị chặn. Nếu bạn đang ở hoàn cảnh đó, đây là con đường ngắn nhất và đáng tin cậy để có một máy chủ chạy được.
Bạn cần gì
- Một VPS có IP công khai riêng. Client kết nối từ internet, nên gói NAT không dùng được — Nano-IP giá $8 mỗi tháng thừa đủ cho nhu cầu cá nhân.
- Ubuntu 22.04/24.04 hoặc Debian 12, cùng root hoặc một người dùng sudo.
- Khoảng mười phút.
1. Chạy script cài đặt
Tự tay dựng tổ chức cấp chứng chỉ, khóa và định tuyến sẽ mất cả một buổi chiều. Script openvpn-install phổ biến của angristan làm tất cả trong một lần. Tải về và đọc trước khi chạy — đây là một shell script sẽ thay đổi cấu hình mạng của bạn, và bạn nên biết nó làm gì:
curl -O https://raw.githubusercontent.com/angristan/openvpn-install/master/openvpn-install.sh
chmod +x openvpn-install.sh
less openvpn-install.sh
sudo ./openvpn-install.sh
Script hỏi vài câu. Các câu trả lời hợp lý:
- Địa chỉ IP: IPv4 công khai của máy chủ (nó tự phát hiện).
- IPv6: có, nếu bạn muốn IPv6 đi qua đường hầm.
- Cổng:
1194mặc định, hoặc443nếu bạn định dùng TCP. - Giao thức: UDP nhanh hơn; TCP vượt qua được tường lửa khắt khe.
- DNS: bất kỳ resolver công khai nào bạn tin tưởng.
- Nén: không. Khi dùng cùng mã hóa, nén có các vấn đề bảo mật đã biết.
Cuối cùng, nó tạo file client đầu tiên, ví dụ /root/phone.ovpn.
2. Mở cổng
Script tự thiết lập quy tắc iptables. Nếu bạn cũng dùng UFW, hãy cho phép cổng VPN một cách rõ ràng:
sudo ufw allow 1194/udp
sudo ufw status
Thay bằng 443/tcp nếu bạn chọn TCP.
3. Đưa file client sang thiết bị
Sao chép file .ovpn qua SSH:
scp -P 22 root@203.0.113.10:/root/phone.ovpn .
Nhập nó vào ứng dụng OpenVPN Connect, vào NetworkManager trên Linux hoặc vào router. File này chứa khóa riêng của client đó, nên hãy đối xử như một mật khẩu: đừng gửi qua email và đừng để trong thư mục chia sẻ.
4. Kiểm tra xem đã chạy chưa
Trên máy chủ:
systemctl list-units --type=service | grep -i openvpn
journalctl -u 'openvpn*' --since "10 min ago"
Trên client, kết nối rồi tra IP công khai của bạn. Kết quả phải là địa chỉ của máy chủ.
Thêm và thu hồi thiết bị
Chạy lại script:
sudo ./openvpn-install.sh
Nó đề nghị thêm client mới, thu hồi một client hoặc gỡ OpenVPN hoàn toàn. Mỗi thiết bị một client đáng công sức nhỏ đó — khi laptop bị trộm, bạn chỉ thu hồi đúng file ấy và không có gì khác thay đổi.
Những đánh đổi, nói thật
OpenVPN cũ hơn và nặng hơn WireGuard. Nó mã hóa trên một lõi, nên với gói 1 vCPU bạn sẽ không đạt hết tốc độ của đường truyền gia đình nhanh. Quá trình bắt tay chậm hơn và điện thoại tốn pin hơn. Nếu không có tính năng riêng nào của OpenVPN quan trọng với bạn, hãy làm theo hướng dẫn WireGuard của chúng tôi — đó là lựa chọn chúng tôi dành cho hầu hết mọi người.
OpenVPN thắng ở khả năng tương thích: với một tường lửa đơn giản, TCP 443 trông như lưu lượng HTTPS bình thường, và rất nhiều thiết bị hỗ trợ OpenVPN ngay từ đầu.
Thêm thông tin về VPN cá nhân có ở trang tình huống sử dụng VPN, còn cách IPv4/IPv6 hoạt động trên các gói của chúng tôi có trong tài liệu mạng.
Bình luận
Chưa có bình luận nào. Hãy là người đầu tiên.