Khi nói đến mạng riêng ảo (VPN), không phải tất cả các giao thức đều được tạo ra như nhau. Mặc dù OpenVPN và Wireguard là các giao thức VPN cực kỳ phổ biến, nhưng mức độ phổ biến của chúng đã dẫn đến ngày càng nhiều giao thức bị chặn bởi một số mạng.
Với SoftEther VPN, tunnel được mã hóa được định tuyến qua cổng HTTPS (443), ngụy trang VPN thành kết nối SSL một cách hiệu quả.
Dưới đây là cách thiết lập SoftEther VPN qua client kết nối HTTPS trên Windows và Linux.
Cài đặt SoftEther client trên Windows
1. Tải xuống client Windows SoftEther từ trang web SoftEther. Bạn sẽ cần chọn SoftEther VPN Client và sau đó là Windows từ menu drop-down. Chạy trình cài đặt và làm theo lời nhắc trên màn hình. Trong quá trình thiết lập, chọn SoftEther VPN Client khi được nhắc.
2. Sau khi cài đặt, hãy khởi chạy trình quản lý VPN client. Bạn sẽ cần tạo network adapter ảo cho kết nối VPN. Chọn Virtual Adapter, sau đó chọn New Virtual Network Adapter. Nhập tên duy nhất cho network adapter SoftEther VPN của bạn, sau đó chọn OK.
3. Tiếp theo, chọn Connect ở góc trên cùng bên trái rồi chọn New VPN Connection Setting. Nhập các chi tiết sau tương ứng với SoftEther VPN Server của bạn:
- Setting Name: Đặt tên cho VPN client của bạn.
- Hostname: Tên server hoặc địa chỉ IP của server SoftEther VPN của bạn.
- Port Number: 443
- Proxy Type: Đối với hầu hết, chọn "Direct TCP/IP Connection" sẽ là tốt nhất. Nếu kết nối của bạn nằm sau web hoặc proxy SOCKS, hãy chọn tùy chọn tương ứng.
- Virtual Client Adapter to Use: Chọn network adapter ảo bạn đã tạo ở bước trước.
- User Authentication Settings: Chọn Standard Password Authentication. Nhập tên người dùng và mật khẩu VPN của bạn.
Nhấp vào OK để tiếp tục.
4. Nhấp chuột phải vào kết nối mới và bấm Connect. Nếu thông tin chi tiết đã được nhập chính xác, VPN sẽ kết nối thành công.
Bây giờ, nếu muốn chỉ định DNS server của riêng mình, bạn phải chỉnh sửa cài đặt network adapter ảo trong Windows.
1. Trong Network and Sharing Center, nhấp vào Change adapter settings, nhấp chuột phải vào adapter ảo (nó sẽ được đặt tên giống như VPN## hoặc tương tự), nhấp vào Properties, sau đó chọn Internet Protocol Version 4.
2. Nhập các DNS server bạn muốn sử dụng vào phần Preferred DNS server.
Để kiểm tra xem VPN đã kết nối thành công hay chưa, bạn có thể truy cập WhatIsMyIP và kiểm tra địa chỉ IP được hiển thị. Nếu nó khớp với địa chỉ IP của server SoftEther VPN thì client của bạn đã được thiết lập chính xác.
Cài đặt SoftEther client trên Linux
Để cài đặt SoftEther client trên Linux, bạn cần mở một terminal và đăng nhập bằng quyền root. Hướng dẫn cài đặt này được cung cấp cho Debian/Ubuntu. Đối với các bản phân phối Linux khác, vui lòng điều chỉnh các lệnh của bạn cho phù hợp. Vì quá trình cài đặt Linux dài hơn một chút so với phiên bản Windows nên bài viết đã chia nó thành nhiều phần nhỏ.
1. Cập nhật kho lưu trữ và dependency phần mềm của bạn
Trước khi bạn bắt đầu cài đặt client, hãy cập nhật kho phần mềm bằng lệnh sau.
apt-get update -y
Tiếp theo, cài đặt các dependency cần thiết cho VPN client.
apt-get install build-essential gnupg2 gcc make -y
2. Tải xuống và cài đặt SoftEther client cho Linux
Để thực hiện việc này, hãy cài đặt trình duyệt dựa trên terminal Lynx và mở trang tải xuống SoftEther.
apt-get install lynx -y
lynx http://www.softether-download.com/files/softether/
Cuộn xuống cuối trang để chọn phiên bản chính thức hoặc phiên bản beta mới nhất. Chọn Linux, sau đó chọn SoftEther_VPN_Client.
Chọn kiến trúc hệ thống, file softether-vpnclient-x và nhấn "d" để tải xuống. Cuối cùng chọn Save to disk.
Nhấn q để thoát trình duyệt Lynx.
Giải nén file. Lưu ý rằng tên file của bạn có thể khác nếu bạn tải xuống phiên bản mới hơn.
tar -xvzf softether-vpnclient (press tab to complete)
Điều hướng đến thư mục VPN client mới được tạo:
cd ./vpnclient
Ra lệnh biên dịch phần mềm và chấp nhận thỏa thuận cấp phép.
make
Bây giờ hãy chạy VPN client.
./vpnclient start
Trước khi bắt đầu cấu hình, hãy kiểm tra khả năng tương thích của hệ thống với client. Chọn Option 3 (Use of VPN Tools).
Tiếp theo, đưa ra lệnh sau:
check
Nếu tất cả các bài kiểm tra đều vượt qua mà không có lỗi, bạn có thể chuyển sang cấu hình. Thoát vpncmd bằng cách gõ exit.
3. Cấu hình VPN client
Để bắt đầu cấu hình, hãy chạy lại vpncmd và chọn Option 2 (Management of VPN Client). Nhấn Enter để chấp nhận localhost làm client.
./vpncmd
Tạo interface ảo mới để kết nối với server VPN. Bạn có thể sử dụng bất kỳ tên nào mình muốn.
NicCreate <name of interface>
Tạo một tài khoản client mới và đặt tên cho nó. Bạn sẽ cần tên người dùng SoftEther và tên hub cho bước này.
AccountCreate <name of account> /server:<IP of VPN server>:443 /HUB:<name of vpn hub> /USERNAME:<vpn username> /NICNAME:<name of virtual network interface>
Đặt mật khẩu và chế độ xác thực cho tài khoản mới tạo.
AccountPasswordSet <name of account> /PASSWORD:<your vpn password> /TYPE:standard
Kiểm tra trạng thái của tài khoản mới tạo bằng lệnh:
AccountList
4. Kích hoạt chuyển tiếp IP
Tài khoản hiện đã sẵn sàng để tạo kết nối với server SoftEther VPN, nhưng trước tiên, bạn cần đảm bảo tính năng chuyển tiếp IP được bật.
cat /proc/sys/net/ipv4/ip_forward
Điều này sẽ trả về giá trị 1 hoặc 0. Nếu giá trị là 0 thì tính năng chuyển tiếp IP không được bật. Để kích hoạt nó, hãy chỉnh sửa file sysctl.conf bằng lệnh sau:
nano /etc/sysctl.conf
Tìm dòng "net.ipv4.ip_forward=1" và bỏ ghi chú nó. Bây giờ hãy lưu file (ctrl-o, ctrl-x).
5. Tạo kết nối VPN SoftEther đầu tiên
Tài khoản của bạn hiện đã sẵn sàng để kết nối với server VPN. Để làm như vậy, hãy ra lệnh này:
AccountConnect <name of account>
Tại thời điểm này, bạn có thể xác nhận tài khoản đã kết nối thành công bằng cách đưa ra lệnh AccountList:
AccountList
Yêu cầu địa chỉ IP từ server VPN qua DHCP. Đặt tiền tố "vpn_" trước tên interface ảo. Ví dụ, "vpn_sevpn"
dhclient <virtual adapter name>
Bạn sẽ cần xem địa chỉ IP được server VPN chỉ định. Hãy nhớ địa chỉ này vì nó quan trọng cho bước tiếp theo.
Tại đây, bạn có thể thấy tên interface ảo của mình và địa chỉ IP đã được chỉ định. Trong hình ảnh trên, nó được đánh dấu bằng màu xanh lam.
iconfig <name of interface>
6. Thiết lập định tuyến tĩnh
Bây giờ, bạn phải chỉ định các tuyến tĩnh để tất cả lưu lượng truy cập được chuyển hướng qua VPN thay vì cổng mạng mặc định của bạn. Để xem bảng định tuyến hiện tại của bạn, hãy dùng lệnh netstat:
netstat -rn
Trong hình trên, bạn có thể thấy địa chỉ IP được server VPN cấp (vpn_sevpn) và bạn có thể thấy cổng mặc định (ens33). Bảng định tuyến của bạn sẽ trông khác với ví dụ được cung cấp vì mỗi mạng mỗi khác. IP cổng mặc định sẽ khác với địa chỉ IP DHCP bạn lấy được từ server VPN ở bước trước.
Khi bạn có IP cổng mặc định, hãy thêm tuyến mới vào địa chỉ IP của server VPN thông qua cổng mặc định. Xin lưu ý rằng IP server VPN của bạn là IP của SoftEther VPN server chứ không phải IP được cấp từ server qua DHCP.
ip route add <your VPN server IP>/32 via <your default gateway>
Xóa tuyến mặc định cũ của bạn.
ip route del default via <your default gateway IP>
Sau khi thực hiện những thay đổi tuyến này, bảng định tuyến sẽ giống như bảng trong hình trên. Lưu ý rằng cổng mặc định hiện đã thay đổi thành địa chỉ IP được cấp qua DHCP từ server VPN.
Bây giờ, hãy kiểm tra kết nối của bạn bằng cách ping một IP bên ngoài, chẳng hạn như DNS server của Google:
ping -c4 8.8.8.8
Cuối cùng, hãy kiểm tra xem kết nối SoftEther client của bạn có hoạt động chính xác hay không bằng cách kiểm tra địa chỉ IP public:
wget -qO- http://ipecho.net/plain ; echo
Nếu địa chỉ IP được trả về giống với IP server VPN của bạn thì mọi thứ đều hoạt động chính xác.
7. Ngắt kết nối VPN
Để ngắt kết nối khỏi VPN, bạn cần khởi động lại script cấu hình VPN client bằng lệnh sau:
./vpncmd
Bây giờ, hãy đưa ra lệnh AccountDisconnect:
AccountDisconnect <name of account>
Bây giờ, hãy thoát khỏi cấu hình client và giải phóng DHCP lease khỏi interface mạng ảo:
dhclient -r <name of virtual interface>
Tiếp theo, dừng VPN client:
./vpnclient stop
Bây giờ, hãy chỉnh sửa bảng định tuyến bằng cách xóa tuyến đến server VPN của bạn:
ip route del <your VPN server IP>/32
Cuối cùng, thêm tuyến mặc định qua gateway cục bộ của mạng:
ip route add default via <your local gateway>
Kết nối mạng của bạn bây giờ sẽ được khôi phục.