代理和虚拟专用网(VPN)
代理和VPN在本质上有所不同,尽管它们可以提供某些相同的服务。 VPN通过隧道将客户端计算机上的所有网络流量路由到其他服务器计算机。不需要单独的应用程序配置。相反,使用代理要求对每个应用程序进行单独配置,以确保其流量通过代理.
VPN的目的是允许远程客户端计算机访问其他位置的网络资源,就像物理上位于同一办公室一样。这些网络资源之一是可以访问Internet,从而掩盖了远程计算机的IP地址。由于这个原因,VPN最近作为一种地理混淆工具(用于访问客户端计算机所在国家/地区不可用的内容)(作为美国以外的美国Netflix)和作为防止客户端IP的隐私工具而受到广泛欢迎。地址被发现。代理的局限性在于它不能提供对远程资源的访问,但是可以掩盖您的IP地址并提供地理混淆服务.
代理类型
两种最常见的代理类型是HTTP(超文本传输协议)和SOCKS5(安全套接字5)。 SOCKS4和SOCKS4a协议不支持UDP或身份验证。当前的SOCKS5和HTTP代理在以下方面有所不同:
- 一般而言,HTTP代理只能代理HTTP(TCP)通信,而SOCKS5代理可以使用TCP或UDP处理任何类型的通信.
- SOCKS5代理不会以任何方式解释通过它发送的流量,而HTTP代理通常会解释。这意味着SOCKS5代理更加通用,可以与更多应用程序一起使用.
- HTTP代理只能与Web浏览器之类的HTTP客户端一起使用,但是由于它知道HTTP内容,因此除了代理服务外,它还可以做一些聪明的事情,例如缓存或重写标头。为了匿名和隐私起见,SOCKS5代理是一个更好的选择,因为它可以被更广泛地使用。.
在本文中,我们将介绍使用SSH(安全Shell)设置最简单的SOCKS5代理。我们将在Digital Ocean设置价格便宜的VPS,配置SSH服务器,并设置一些客户端应用程序以使用代理.
设置代理服务器
几乎任何类型的VPS都可以使用。由于您只需要非root用户SSH访问,某些Web托管帐户也可能会起作用,但是将Web托管帐户用作代理服务器可能会违反某些主机的服务条款。 Digital Ocean是一家知名且价格合理的云提供商,其每月5美元的服务器之一将非常适合SSH代理.
Digital Ocean是虚拟私有云(VPC)提供商,这意味着您无需购买特定的服务器。而是,您创建一个帐户并将其付款方式链接到该帐户。完成此操作后,您可以创建任意数量的虚拟服务器。 VPC倾向于提供对系统规格的更多控制,并且其成本要比传统VPS低得多。这里很好地说明了VPS和VPC之间的区别.
要创建Droplet,请单击Droplet菜单项,然后进行一些选择以对其进行自定义。我选择了Ubuntu 16.04 LTS(长期支持)作为操作系统,并且尺寸最小(最便宜)。液滴按小时收费。最便宜的选项将很好用,并且整个月仅需花费$ 5.
现在,您要为Droplet选择一个位置。请记住,当您使用代理时,您的流量将被视为来自Droplet的IP地址。如果您是专门为地理混淆目的设置代理,则应选择您希望来自的国家/地区或附近的位置.
创建Droplet后,您将收到Digital Ocean的确认电子邮件,其中包含IP地址和登录信息.
在VPS上配置OpenSSH
Digital Ocean Droplets附带安装了SSH并可以使用。在欢迎电子邮件中提供了root用户的密码,因此服务器上不需要进行其他设置。但是最佳实践是更改默认密码并创建专门用于代理的用户.
在MacOS(OSX)或Linux上使用SSH连接到Droplet
打开一个终端并输入以下命令以使用您的欢迎电子邮件中的IP地址进行连接:
ssh 66.77.88.99 -l根
系统将提示您接受密钥。从您的欢迎电子邮件中输入密码,然后更改密码.
在Windows上使用PuTTY连接到Droplet
如果您使用的是Windows,则需要SSH客户端才能连接到Droplet。使用最广泛的SSH客户端是PuTTY.
在主机名字段中输入Droplet的IP地址,然后单击打开按钮.
确保系统是最新的
确保系统软件是最新的是一个好主意。过时的软件是导致系统被黑客入侵的主要原因。在Ubuntu中执行此操作的两个命令是:
apt-get更新
apt-get升级
我的Droplet几乎没有什么要升级的,这意味着Digital Ocean会不断更新其图像.
新增使用者
Droplet附带一个用户-功能强大的root用户。将特权较少的用户添加到系统并使用该帐户连接到代理是一种很好的安全做法。.
发出以下命令以添加名为myuser的普通用户:
adduser myuser
设置密码和至少一个正确的用户名。您不需要填写任何其他信息.
现在,我们拥有使用代理所需的一切.
连接到代理
为了使用代理隧道传输流量,必须将其连接。类似于Unix的操作系统具有内置的SSH客户端,而Windows将需要第三方应用程序(例如PuTTY)
在MacOS(OSX)或Linux上使用SSH
连接到代理的方法与Linux和MacOS(OSX)相同。打开一个终端并使用SSH这样连接:
ssh 66.77.88.99 -l myuser -D 12345
用Digital Ocean欢迎信中的IP地址替换66.77.88.99.
-D开关告诉SSH客户端将发送到本地计算机上的端口12345的流量转发到代理。您可以使用任何想要的端口号,只要它在1024以上即可。在帮助文件中,-D开关:
指定本地“动态”应用程序级端口转发。这通过分配一个套接字来侦听本地端的端口(可选地绑定到指定的bind_address)而起作用。每当与此端口建立连接时,该连接都会通过安全通道转发,然后使用应用协议确定从远程计算机连接到的位置。当前支持SOCKS4和SOCKS5协议,并且ssh将充当SOCKS服务器.
不要断开此SSH会话的连接。您可以将其最小化以使其不受干扰,因为您无需对其进行任何进一步的操作,但可以使其继续运行,直到使用完代理为止.
在Linux或Windows上使用PuTTY
打开PuTTY后,您将进入“会话”选项卡。输入您的Droplet的IP地址,并将端口保留为22.
导航到SSH -> 隧道选项卡。在“源端口”字段中输入12345(或您想要的任何端口)。选择动态单选按钮,然后单击添加按钮.
如果不想每次打开PuTTY都必须这样做,请导航回“会话”选项卡,在“已保存的会话”列表中突出显示“默认设置”行,然后单击“保存”按钮.
配置浏览器和其他应用程序以使用代理
现在,您已连接到代理,有三种基本的使用方式:
- 设置每个应用程序的网络设置以使用代理。并非所有应用程序都支持代理,但是Web浏览器支持.
- 使用诸如Firefox和Chrome的FoxyProxy插件之类的插件为您进行应用程序配置.
- 配置操作系统本身以对所有应用程序使用代理.
第二个选项是最简单的,因为您可以快速启用或禁用代理,并且可以将浏览器配置为仅将代理用于某些站点。当您要启用或禁用代理时,其他两个选项需要大量来回切换.
使用应用程序的内置网络设置
任何支持SOCKS5代理的应用程序都应该能够使用SSH隧道。只需使用代理主机IP 127.0.0.1(本地主机IP)和端口12345(或您选择的任何端口号).
在Firefox中,代理设置位于首选项中 -> 高级 -> 网络 -> 设定值.
在Chrome中,您需要单击“设置”页面底部的“高级设置”链接,然后导航到“网络” -> 更改代理设置。 Chrome没有自己的代理设置,因此这只会打开您操作系统的代理设置面板.
如果您使用的是Internet Explorer,则可以在“ Internet选项”中找到代理设置 -> 连接选项卡 -> LAN设置按钮。这将打开Windows代理设置控制面板小程序。与Chrome一样,没有专门的Internet Explorer代理设置.
对Firefox或Chrome使用插件.
有许多用于Firefox和Chrome的代理插件。一种流行的是FoxyProxy。它位于浏览器栏中,您可以通过单击它来启用或禁用代理,这比浏览操作系统或浏览器设置要容易得多。.
还可以将FoxyProxy配置为排除某些站点使用代理。如果您要一直保持代理运行,但又不想突然出现在另一个国家,而不想破坏您的银行的防御能力,则此功能很有用.
为您的浏览器下载FoxyProxy.
首次启动FoxyProxy时,主窗口包含一个已设置但未激活的代理。 FoxyProxy中有许多选项和配置设置,但我们仅着眼于启动和运行代理所需的一些选项和配置设置.
突出显示现有代理,然后单击“编辑选择”按钮.
转到“代理详细信息”选项卡,并在主机IP地址中输入127.0.0.1,在“端口”字段中输入12345。.
单击SOCKS代理?复选框,然后选择SOCKS5单选按钮.
接下来,单击“常规”选项卡,并确保选中“通过此代理加载对主机名执行远程DNS查找”。这将有助于防止DNS泄漏。它不会完全隐藏您,因为WebRTC查找仍然可以发现您的真实IP地址。您可以使用此工具检查DNS泄漏。有Firefox和Google Chrome浏览器的插件会禁用WebRTC功能.
关闭FoxyProxy设置窗口,然后通过选择对所有URL使用代理默认值来激活代理。您可以通过访问“我的IP是什么”之类的网站来验证您的代理是否正常工作,现在您应该在这里看到您的代理IP地址,而不是ISP的.
如果要标识要使用或从代理中排除的特定URL,则需要创建一个自定义代理。单击“添加新代理”按钮,您将在设置屏幕顶部看到一个名为“ URL模式”的附加按钮。单击该按钮以设置自定义过滤器.
您可以在此屏幕中输入要匹配或排除的站点和模式.
使用操作系统网络设置
无需在每个应用程序中输入代理设置,而是可以在操作系统级别设置一次详细信息。完成后,您只需告诉每个应用程序使用系统级代理即可.
视窗
您可以通过两种方式在Windows中访问“ Internet选项”小程序。进入控制面板 -> Internet选项,或从Internet Explorer的设置菜单访问Internet选项.
从那里,您可以按照上面部分中有关Internet Explorer的说明进行操作.
MacOS(OSX)
单击屏幕菜单栏左上方的Apple图标,然后选择“系统偏好设置”。选择网络,然后选择代理.
单击高级按钮以访问网络设置并导航到代理选项卡.
单击“ SOCKS代理”复选框,然后输入主机和端口信息.
的Linux
每个Linux桌面环境都有一个不同的控制面板项来配置网络设置。两种最常见的桌面是Gnome和KDE.
在Gnome桌面(由Ubuntu使用)中,设置 -> 网络面板是设置代理的地方.
选择手动选项.
然后设置SOCKS代理,然后单击“应用系统范围”按钮.
KDE桌面(由Kubuntu使用)在“设置”“系统”“设置”中具有网络设置。 -> 网络设置 -> 代理.
在操作系统中设置代理后,必须将每个应用程序配置为使用它。该选项将在每个应用程序的网络设置中。例如,在Firefox中,此设置位于代理设置的顶部.
这篇文章介绍了代理和虚拟专用网(VPN)的区别,以及如何设置代理服务器和连接到代理。文章还讨论了代理类型,包括HTTP和SOCKS5,并提供了在Digital Ocean上配置OpenSSH的步骤。最后,文章介绍了如何配置浏览器和其他应用程序以使用代理,包括使用内置网络设置、插件和操作系统网络设置。总的来说,这篇文章提供了有关代理和SSH隧道的详细信息,对于需要使用代理的人来说非常有用。