在本教程中,我们将指导您如何使用自制的OpenVPN服务器和Windows PC设置Obfsproxy。这样可以防止检查器和防火墙使用深度数据包检查来确定您是否正在加密流量(使用OpenVPN进行加密).
本教程假定您已经在Amazon Web Services EC2实例上设置了运行正常的OpenVPN服务器和Windows客户端。查看我们以前的OpenVPN服务器教程,了解如何做到这一点.
Obfsproxy应该可以防止您的VPN在中国等国家/地区遭到检查员的封锁。我们已经确认它也绕过了Netflix的VPN禁令.
开始之前
Tor社区采用了Obfsproxy(混淆代理的缩写)。用他们的话说:
“ Obfsproxy是一种工具,它通过转换客户端和网桥之间的Tor流量来尝试绕过审查。这样,通常监视客户端和网桥之间流量的检查员将看到看上去很无辜的转换流量,而不是实际的Tor流量。”
但是,Obfsproxy实际上独立于Tor,因此它也可以用于混淆OpenVPN流量.
为了使Obfsproxy与OpenVPN一起使用,我们需要在客户端和服务器端都对其进行配置。一些VPN提供商(包括NordVPN和AirVPN)提供了预配置的服务器,因此您只需要配置客户端。本教程将说明.
以下是您需要的清单:
- Amazon Linux EC2实例上的功能正常的OpenVPN服务器类似于我们之前的教程中的实例
- OpenVPN Connect GUI(客户端应用程序)
- 油灰
- Python 2.7
- 适用于Python 2.7的Microsoft C ++编译器
- 适用于Windows的OpenSSL Light
- ProxySwitchy Sharp或同等的代理软件
Windows上的客户端Obfsproxy配置
我们将从客户端配置开始,因为有些人如果他们的VPN提供商已经提供了预先配置的服务器,则无需进行服务器端设置。.
初步设置
值得庆幸的是,NordVPN已通过将大多数必需的依赖项捆绑在一个.zip文件中的方式为您提供帮助。在这里下载.
首先使用默认设置在默认目录中安装Python 2.7。 Obfsproxy是Python程序,因此需要安装它。如果您使用的是Python的最新版本,例如3.3或3.4,建议您仍然安装2.7。您可以在NordVPN的zip文件的第3步文件夹中找到安装文件(我们跳过第1步和第2步文件夹).
接下来,我们需要从步骤4文件夹中安装适用于Python 2.7的Microsoft C ++编译器。没有适用于更高版本Python的编译器。您也许可以使用MS Visual Studio或Numby程序包找到解决方法,但是我们发现安装Python 2.7的麻烦要小得多.
使用默认设置和目录安装C ++编译器后,请转到步骤5文件夹。再次使用所有默认设置安装OpenSSL Light。安装后可能会提示您进行捐赠。点击完成,然后关闭弹出窗口(如果您不想捐赠).
为此页面添加书签,重新启动计算机,然后再次打开此页面.
Obfsproxy和OpenVPN设置
现在,您已经拥有运行Obfsproxy所需的一切,但是我们仍然需要对其进行配置,以便可以与OpenVPN一起使用。我们将从修改OpenVPN目录中现有的.ovpn文件开始。如果您尚未设置OpenVPN,请参阅我们以前的教程。如果您在默认目录中安装了OpenVPN,则会在C:/ Program Files / OpenVPN / config中找到配置文件.
找到记事本或其他文本编辑器,右键单击它,然后选择“以管理员身份运行”。打开用于正常连接到OpenVPN服务器的配置文件。点击文件 > 另存为并命名为其他名称,因此我们可以使用副本,而不必担心将原始文件弄乱.
我们将配置文件修改为如下所示:
原始TCP客户端
远程8080
1194端口
dev tun1
秘密ovpn.key
重定向网关def1
ifconfig 10.4.0.2 10.4.0.1
袜子代理重试
袜子代理127.0.0.1 10194
请注意,在底部增加了两行,在远程线路的末端加上了一个端口号。替换为您的Amazon EC2实例的IP地址。除非您在Amazon上设置了弹性IP,否则每次您启动和启动实例时,该地址都会更改,因此请记住在需要时进行更改。在远程线路上,端口号可以是保留的端口范围之外的任何值。我们之所以使用8080,是因为它与几乎所有网络服务器都非常兼容,但是OpenVPN Wiki建议使用21194。请记住,您在此处输入的内容必须与我们稍后在服务器端配置的内容匹配.
如果您要连接到VPN提供商拥有的预先配置的服务器,则应为您提供配置文件(NordVPN用户的步骤2文件夹).
保存新的配置文件,确保不覆盖旧的配置文件。另外,请确保您的文本编辑器不会自动在文件名后附加.txt。它应该是一个.ovpn文件.
现在已经配置了OpenVPN,我们需要安装并运行Obfsproxy。这是安装新Python的地方。在Windows搜索栏中,键入“命令提示符”。右键单击命令提示符应用程序,然后单击“以管理员身份运行”。在终端中,一次一行输入以下命令,每次击中回车.
cd C:\ Python27 \脚本
点安装–升级点
pip安装obfsproxy
obfsproxy –log-min-severity = info obfs2 –shared-secret =袜子127.0.0.1:10194
在第二条命令之后,您可能会看到一些错误或警告。暂时忽略它们.
在这里,您需要替换为您选择的密码。记住或记下该密码,以备日后使用。如果您要连接到VPN服务提供的预配置服务器,则将为您提供此命令.
在最后一行之后,您的命令提示符应告诉您它正在监听过时的流量,如屏幕截图所示。请注意,在屏幕截图中,我忘记了第一次尝试输入自己的密码.
您必须导航到Scripts目录(第一个命令),输入Obfsproxy命令(最后一个命令),并在要使用Obfsproxy时保持命令提示符为打开状态.
代理设置(可选)
编辑:该步骤对于Obfsproxy来说不是必需的,但是如果您想使用Obfsproxy + VPN连接来从美国以外(或您的VPN服务器所在的任何国家)观看Netflix和其他流视频站点,则这是必要的。否则,Netflix将设置为错误的区域.
我们在客户端需要做的最后一件事是建立代理连接。每个应用程序都不同。您可以在Windows Internet设置中进行设置,但我更喜欢逐个应用地进行设置。在使用互联网的本机应用程序上,通常可以在设置中的某处设置代理。字段如下:
- SOCKS主机:127.0.0.1
- 端口:8080(或您在远程线路上的OpenVPN配置文件中输入的任何内容)
- SOCKS版本5(SOCKS5)
在浏览器上,最简单的设置方法是使用代理扩展。我们将向您展示如何在Chrome上使用Proxy Switchy Sharp.
在ProxySwitchy设置中,创建一个新的配置文件。选择“手动配置”后,如下图所示键入以上设置。随心所欲命名。在与服务器建立连接之前,我们不会将其打开,因此请紧紧.
Linux EC2实例上的Obfsproxy服务器配置
您的PC可以连接了,所以现在我们需要准备服务器.
AWS安全组
在服务器上安装并运行obfsproxy之前,您可能需要向服务器的安全组添加新规则,以确保EC2实例的防火墙不会阻止流量。为此,请登录您的AWS账户,然后单击EC2。在“网络和安全”下,转到“安全组”.
在这里,您可以选择创建一个新的安全组并将其添加到服务器或修改现有的安全组。右键单击规则,然后选择“编辑入站规则”。在“类型”下,选择所有TCP通信量(注意:由于我们已更新了本教程,因此请忽略屏幕快照中的自定义自定义规则),然后将源设置为“我的IP”或您打算连接的任何设备的IP。用。然后右键单击并转到“编辑出站规则”。在“类型”下,只需为“所有流量”选择下拉选项。
如果创建了一个新的安全组,请单击左侧栏中的“实例”,右键单击您的VPN实例,向下滚动到“网络”,然后单击“更改安全组”。检查新的安全组,然后点击保存.
Obfsproxy服务器设置
使用PuTTy通过SSH连接到服务器。如果您不记得该怎么做或没有保存个人资料,请参考我们之前的教程。请记住,在Amazon Linux AMI服务器发行版中,用户名是“ ec2-user”。使用以下命令运行OpenVPN:
sudo服务openvpn启动
根据我们之前的教程,确保服务器上的OpenVPN配置文件(etc / openvpn / openvpn.conf)的端口1194已打开.
如果您使用的是Linux 14.04服务器发行版,则应该已经安装了Python。在PuTTy终端中,一次一行输入以下命令,然后在每行之后按Enter键:
须藤yum安装gcc
sudo pip安装obfsproxy
obfsproxy –log-min-severity = info obfs2 –dest = 127.0.0.1:1194 –shared-secret =服务器0.0.0.0:8080
对于第一个命令,较早版本的Linux可能使用“ apt-get”代替“ yum”.
切记在最后一个命令中用您在客户端使用的相同密码替换.
您应该在此终端上看到与命令提示符类似的消息,表明服务器正在端口8080上监听obfsproxy流量.
通过Obfsproxy连接
您已设置为连接。在本地计算机(命令提示符)和服务器(PuTTy)上都运行Obfsproxy的情况下,运行OpenVPN GUI。右键单击它,然后使用新配置进行连接。 OpenVPN图标应变为绿色,并显示带有您分配的IP的通知.
如果要观看Netflix或其他受地理限制的内容,请在应用程序中启用代理设置。对于Chrome上的Proxy Switchy,请点击右上角的图标,然后选择您在上面的可选部分中创建的配置文件。您也可以在Windows Internet设置中添加代理.
恭喜你!由于有了Obfsproxy,您的OpenVPN流量现在与正常的HTTP流量没有区别。.
流程自动化
您可能已经得出结论,每次要在客户端上运行obfsproxy可能会有些乏味。为了自动执行此过程,一个用户创建了一个Windows安装程序,该程序将Obfsproxy作为启动时启动的服务运行。您可以在此处下载并找到说明.
r。的“ disguise-glasses.jpg” Nial Bradshaw根据CC BY 2.0许可
y = info obfs2 –shared-secret=socks 127.0.0.1:10194
这篇文章介绍了如何使用自制的OpenVPN服务器和Windows PC设置Obfsproxy,以防止检查员和防火墙使用深度数据包检查来确定您是否正在加密流量。Obfsproxy可以防止您的VPN在中国等国家/地区遭到检查员的封锁,并且已经确认它也绕过了Netflix的VPN禁令。本教程假定您已经在Amazon Web Services EC2实例上设置了运行正常的OpenVPN服务器和Windows客户端。如果您要连接到VPN提供商拥有的预先配置的服务器,则应为您提供配置文件。在客户端和服务器端都对Obfsproxy进行配置后,您需要建立代理连接。最后,您需要在服务器上安装并运行obfsproxy之前,向服务器的安全组添加新规则,以确保EC2实例的防火墙不会阻止流量。