Tạo VPN server trên RPi thật đơn giản nếu dùng script từ PiPVN
0. Chuẩn bị
- RPi đã cài đặt Raspbian
- Thiết lập IP tĩnh cho RPi
- Tên miền trỏ đến internet ip
- Ứng dụng Bitvise hay một ứng dụng FTP client
1. Cài đặt VPN (openVPN)
curl -L https://install.pivpn.io | bash
Sau đó trả lời tuần tự theo yêu cầu của script, bao gồm:
- Static IP của RPi
- Chọn user để cài đặt trong quyền của user đó (không quan trọng), giả sử là pi
- Protocol (mặc định UDP)
- Port cho kết nối VPN (chọn khác với giá trị mặc định và ghi nhớ)
- Kích thước của khóa bảo mật (2048, thời gian tạo khóa khá lâu)
- Tên miền (động) trỏ đến internet ip
- DNS (Google, OpenDNS …)
Reboot
2. Tạo user để kết nối VPN đến RPi
pivpn add
Sau đó nhập tên user và mật khẩu. Với mỗi user được thêm vào, PiVPN tạo ra một file .ovpn để dùng (cùng với mật khẩu) khi kết nối bằng OpenVPN Connect
Để kết nối đến VPN server từ một máy client, phải cài đặt OpenVPN Connect và cần một bản sao của file .ovpn ở trên.
3. Port Forwarding trên router
Cần phải chuyển hướng dử liệu đến WAN IP của router về IP của VPN server (RPi). Cổng kết nối mặc định là 1194 trừ khi chúng ta thay bằng cổng khác trong giai đoạn setup VPN ở trên.
4. Cài đặt OpenVPN Connect trên máy cần kết nối VPN đến RPi
OpenVPN Connect có thể cài đặt trên Windows, iOS hay Android
Sau khi cài đặt, chép file .opvn từ máy RPi về máy client để import vào OpenVPN Connect. Double click lên file .ovpn để nhập thông tin cài đặt của user. Sau đó có thể kết nối đến VPN server trên RPi bằng mật khẩu.
Ghi chú
- Kết nối VPN dựa trên kết nối internet sẵn có của máy client, nó tạo một đường hầm bảo mật lưu chuyển thông tin từ máy client đến VPN server, sau đó mọi thông tin vào ra (intranet, internet) đều từ VPN server.
- Khi thay đổi kết nối internet ở máy client, phải reconnect OpenVPN Connect
- VPN server tạo thành theo giao thức PPTP (như VPN server tích hợp ở nhiều router) không dùng được trên iOS từ phiên bản 10, openVPN là một giải pháp thay thế