OpenVPN là một phần mềm thương mại mã nguồn mở thực hiện kỹ thuật mạng riêng ảo (VPN) để tạo ra các kết nối điểm-tới-điểm hoặc site-to-site an toàn. Nó dùng một giao thức bảo mật tùy chỉnh sử dụng SSL/TLS để trao đổi khóa. Nó được viết bởi James Yonan và được phát hành theo giấy phép công cộng GNU (GPL).
OpenVPN có muôn vàn cách để cấu hình và sử dụng nên tinh chỉnh nó vốn rất phức tạp với những bạn chưa từng bỏ thời gian qua nghiên cứu. Vậy nên một số SysAdmin đã viết nên các Bash Shell Script tự động cài đặt nhanh cho các bạn muốn chỉ cần sở hữu thật nhanh một VPN Server để add vào Client mà sử dụng ngay.
Dự án Bash Shell Script
Bạn có thể tham khảo link dự án tại đây:
Github: https://github.com/Nyr/openvpn-install
Cài đặt
Chỉ cần chạy lệnh sau đây, bạn có thể cài trên các hệ điều CentOS, Debian, Ubuntu…
wget https://git.io/vpn -O openvpn-install.sh && bash openvpn-install.sh
Một dòng thông báo sẽ yêu cầu bạn nhập một số thông tin quan trọng:
Welcome to this OpenVPN road warrior installer!
I need to ask you a few questions before starting setup.
You can use the default options and just press enter if you are ok with them.
Which protocol do you want for OpenVPN connections?
1) UDP (recommended)
2) TCP
Protocol [1]: 1
What port do you want OpenVPN listening to?
Port [1194]: 1194
Which DNS do you want to use with the VPN?
1) Current system resolvers
2) 1.1.1.1
3) Google
4) OpenDNS
5) Verisign
DNS [1]: 1
Finally, tell me a name for the client certificate.
Client name [client]: voduy
Okay, that was all I needed. We are ready to set up your OpenVPN server now.
Press any key to continue...
Trong đó:
B1. Chọn giao thức sử dụng
Bạn chọn giao thức kết nối từ Client lên Server VPN là TCP hay UDP
Which protocol do you want for OpenVPN connections?
1) UDP (recommended)
2) TCP
Protocol [1]:
Mặc định là UDP và theo kinh nghiệm sử dụng thì mình thấy trong khi UDP tương đối nhanh hơn nhưng TCP lại ổn định hơn.
B2. Chọn Port lắng nghe
Bạn chú ý đã mở port nào thì phải cấu hình lại tường lửa cho mở port đó (và tùy theo type ở trên đã chọn là UDP/TCP)
What port do you want OpenVPN listening to?
Port [1194]: 1194
Bạn có thể tạm tắt tường lửa bằng lệnh sau:
systemctl stop firewalld >/dev/null 2>&1
service iptables stop >/dev/null 2>&1
Tham khảo mở port trên tường lửa ở đây.
B3. Tên của kết nối
Finally, tell me a name for the client certificate.
Client name [client]: voduy
Bạn có thể hiểu nôm na là tên của user login hoặc tên của máy chủ hay tập tin *.ovpn
để import vào OpenVPN Client
Xác nhận cài đặt
Bạn ấn Enter để xác nhận lại các thông tin đã khai báo và tiến hành cài đặt
Press any key to continue...
Kết thúc cài đặt
Finished!
Your client configuration is available at: /root/voduy.ovpn
If you want to add more clients, just run this script again!
Bạn sẽ được thông báo như trên về vị trí của tập tin .ovpn
để bạn có thể tại về và import vào OpenVPN Client của máy cần sử dụng.
Thêm user hoặc gỡ bỏ
Bạn chạy lại lệnh trên:
bash openvpn-install.sh
Sẽ có tùy chọn cho bạn thêm user khác hoặc gỡ bỏ OpenVPN
What do you want to do?
1) Add a new user
2) Revoke an existing user
3) Remove OpenVPN
4) Exit
Select an option:
Sử dụng
Bạn tải về OpenVPN Client và cài vào thiết bị cần được kết nối VPN:
Windows/Linux: https://openvpn.net/community-downloads/
Android: https://play.google.com/store/apps/details?id=net.openvpn.openvpn
IOS: https://apps.apple.com/us/app/openvpn-connect/id590379981
Sau đó import tập tin .ovpn
đã tải về từ máy chủ add vào và kết nối. Chúc các bạn thành công!