是否可以通过端口 80 上的隧道连接到 VPN 服务器,从而消除防火墙的所有端口阻塞?
答案1
让我们开始吧。我更喜欢OpenVPN
解决方案
OpenVPN Access Server 支持多种配置,包括对内部网络和/或私有云网络资源和应用程序进行安全远程访问,并具有细粒度的访问控制。它有一个适用于 Android 和 iOS 的移动应用程序,因此您也可以从智能手机访问 VPN 服务器。
在 Ubuntu/Debian 上安装 OpenVPN AS
与其他 VPN 服务器相比,OpenVPN AS 的安装和配置非常容易。
使用以下命令下载最新版本的 OpenVPN AS。
wget http://swupdate.openvpn.org/as/openvpn-as-1.8.5-Ubuntu12.amd_64.deb
使用以下命令安装:
xx@server1:~$ sudo dpkg -i openvpn-as-1.8.5-Ubuntu12.i386.deb
[sudo] password for xx:
Selecting previously unselected package openvpn-as.
(Reading database ... 53813 files and directories currently installed.)
Unpacking openvpn-as (from openvpn-as-1.8.5-Ubuntu12.i386.deb) ...
Setting up openvpn-as (1.8.5-Ubuntu12) ...
The Access Server has been successfully installed in /usr/local/openvpn_as
Configuration log file has been written to /usr/local/openvpn_as/init.log
Please enter "passwd openvpn" to set the initial
administrative password, then login as "openvpn" to continue
configuration here: https://ip-address:943/admin
To reconfigure manually, use the /usr/local/openvpn_as/bin/ovpn-init tool.
Access Server web UIs are available here:
Admin UI: https://ip-address:943/admin
Client UI: https://ip-address:943/
现在OpenVPN AS已经安装完毕。
设置 OpenVPN 管理员用户和密码
在安装过程中,OpenVPN AS 将创建一个名为 openvpn 的默认管理员用户。使用以下命令设置用户 openvpn 的密码:
xx@server1:~$ sudo passwd openvpn
访问管理 Web UI
您可以使用浏览器中的 URL 访问 OpenVPN Access Server 管理界面https://ip-address:943/admin/
。如果您想从远程系统访问它,请允许该端口943
通过路由器/防火墙。
将出现 SSL 警告消息,单击“继续”按钮忽略警告。系统将提示您输入用户名和密码。输入 openvpn 作为您的用户名,密码是您之前创建的。
登录后单击Agree
接受许可协议。
现在您将能够访问OpenVPN
管理控制台。在此管理控制台中,您可以执行各种 VPN 管理操作。浏览每个菜单/选项卡并根据您的喜好更改所需的值,尽管默认设置也可以正常工作。
在页面左侧面板上,转到Server Network Settings
。更改TCP Port number
为80
更改UDP Port number
为80
单击保存设置并Update Running Server
就是这样,我们的服务器仅在端口上运行80
但使用tcp
和udp
协议。
客户端设置
在系统上创建新用户
sudo useradd vpnvpn
不要使用adduser
,因为您不需要/home/vpnvpn
文件夹...为用户设置密码
sudo passwd vpnvpn
从浏览器导航到并https://ip-address:943/
使用 OpenVPN 登录u: vpnvpn
p: vpnvpn
在新页面上,转到其上的链接Yourself (user-locked profile)
。您将下载client.ovpn
openvpn
在您的客户端系统中安装包:
yy@yy:~$ sudo apt-get install openvpn
现在使用以下命令连接到 VPN 服务器:
yy@yy:~$ sudo openvpn --config Downloads/client.ovpn
Thu Jun 27 11:36:43 2013 OpenVPN 2.2.1 x86_64-linux-gnu [SSL] [LZO2] [EPOLL] [PKCS11] [eurephia] [MH] [PF_INET6] [IPv6 payload 20110424-2 (2.2RC2)] built on Feb 13 2013
Enter Auth Username:vpnvpn
Enter Auth Password:
Thu Jun 27 11:36:50 2013 NOTE: OpenVPN 2.1 requires '--script-security 2' or higher to call user-defined scripts or executables
Thu Jun 27 11:36:50 2013 Control Channel Authentication: tls-auth using INLINE static key file
-- omitted the rest --
结束。您已vpn
在端口上建立服务器80
您admin
可以更改很多参数,例如网络范围、路由等。
答案2
SoftEther VPN通过 HTTP/HTTPS 运行其 VPN 协议,具体来说,这样您就可以通过仅传递格式良好的 HTTP 流量的代理防火墙建立隧道。我认为这就是您想要的。
OpenVPN 可以配置为通过 HTTP 伪装其流量,但在实践中这可能很难做到。(我不认为 @2707974 的答案能帮到你;你需要添加 http-proxy 配置根据 OpenVPN 网站上的记录。