VPN与代理
Q:VPN是什么?
代理是什么?
为什么有时候网络上不去?
怎么给服务器挂代理?
VPN与代理
不论是代理服务器(与下文出现的“代理”同义)还是VPN,其实人们使用它的目的都是一致的,最终效果也基本一致,那就是:向目标网站或服务器隐藏IP。
什么是代理
所谓代理服务器,是一个“中间人”的角色,在你和服务器之间传递数据。
相当大比例的代理服务器可以以网站的形式存在,你只需打开代理服务器的网站,然后输入你希望访问的链接,就可以像平时浏览网页一样操作了。
代理的工作原理是:由代理服务器自己去访问你的目标网站,并加载它的内容,然后再把这些加载过的内容传递到你的窗口上。这样就相当于你在浏览目标网站了
因此代理经常被叫做“梯子”或者“桥”。使用代理的好处是,你不需要直接链接到目标网站,因此目标网站就无法获取你的IP地址,取而代之获取的是代理服务器的IP地址。这样你就可以隐藏你的位置信息了。
好处
仅仅是要破除网站屏蔽,那么代理服务器可能是最简单便捷的方案了。由于所有的工作都是远程服务器完成的,你不需要安装任何东西,只需要访问代理服务器所在的网站,并选择一个国家就可以了。
不足
希望达成匿名浏览网站之外的目的,代理服务器或许并不能帮你做到这点。长期使用代理服务器,你会发现它会变慢而且速度并不稳定。而如果你不只是匿名希望浏览几个网站,而是希望匿名访问大量网站和网络应用,代理服务器的弊端就会很明显。
代理端口
与常规服务器或支持 Internet 的设备不同,代理服务器不遵守传统的标准,它们这样做是为了隐藏它们是代理服务器的事实。
有些端口是为代理服务器正式保留的(如1080、4444、8580和9050),有些则不是。但是,大多数匿名代理提供商不会使用它们,因为这样做意味着向Internet 服务提供商 (ISP)显示自己的代理,这可能会使 ISP 阻止它们。
代理服务器使用端口号作为代理池的端点,而不是为不同的通信类型使用端口号。他们可以使用端口号来区分不同国家的代理池或不同用例的代理。
仅仅访问代理服务并不能让你访问它们的所有端口,因为它们有层次,你可以访问的端口取决于你购买的包。代理端口只有在您被授权访问时才对您开放,否则您的流量将不被允许通过。
代理地址
对应代理服务器的ip
查看代理地址与port
注意
该地址并不是代理地址
127.0.0.1 是主机环回地址。主机环回是指地址为 127.0.0.1 的任何数据包都不应该离开计算机(主机),发送它——而不是被发送到本地网络或互联网,它只是被自己“环回”,并且发送数据包的计算机成为接收者。
可以理解为先将请求发到本机上,再让代理服务器在对应的端口监听?
什么是VPN
VPN和代理的主要区别就在于你向服务器发送数据的这个环节。 使用VPN,你必须先安装VPN软件(Windows 10虽然自带,但也是一个软件)。在开启VPN软件后,软件的主要职责就是加密你的数据并传递给VPN服务器,这样你传输的数据对截获者来说就是不可读的。这个技术叫做“隧道”
即多了加密环节
好处
VPN可以隐蔽你在互联网上的行为。反过来说,代理服务器很难做到这一点,至少在你和代理服务器交换数据的这个阶段是做不到的,任何有能力的人(包括黑客和你的网络服务商)都能看到你在传输什么。而VPN则从你的主机建立了隧道,包括网络服务商在内的任何人都无法“看到”你传输的东西。
坏处
昂贵,由于加密隧道是你的设备建立的,因此所有的离岸数据都是在你的设备上完成加密的。这可能会不同程度上拖慢你的设备速度,从而影响整个浏览体验。
关于浏览器访问
之所以有时候关掉手动设置代理可以恢复访问界面问题,原因有可能是你的请求被错误的发送到了代理服务器,但是代理服务器此时没连接上?导致请求失败
Clash
指令集
所谓指令集,可以理解成硬件对外的接口。我们运行程序是通过操作系统调度,操作系统然后让硬件去计算。
让硬件计算的话,比如一些加法乘法,循环之类的,就需要硬件提供的接口,也就是指令集。这个就是我们常说的机器语言(汇编语言),已经到了计算机的最底层了。
指令集架构主要分两大类。
- 复杂指令集运算(Complex Instruction Set Computing,CISC)
- 简单的理解就是提供的指令很多,也都很复杂。
- 以
intel
的x86
架构为代表,主要针对的操作系统是微软的Windows
和苹果的maxOS
。另外Linux
,一些UNIX
等,都可以运行在复杂指令集架构的微处理器。
- 精简指令集运算(Reduced Instruction Set Computing,RISC)
- 以
ARM
公司的arm
架构为代表。当前有UNIX
、Linux
以及包括iOS
、Android
、Windows Phone
等在内的大多数移动操作系统运行在精简指令集的处理器上。
- 以
复杂指令集和精简指令集比较的话,区别在于我们编程(直接写机器语言代码在 CPU
上运行)的时候,比如实现乘法。根据提供的指令,复杂指令集可能一条命令就够了,而简单指令集我们可能需要加法、循环等多条指令
x86
x86
架构于 1978
年推出的 Intel 8086
中央处理器中首度出现,之后 x86
便成为了个人电脑的标准平台,成为了历来最成功的 CPU
架构。
8086
是 16
位处理器,接着一系列的处理器进行了 32
位架构的改进,现在 x86
一般指 32
位的架构。
该系列较早期的处理器名称是以数字来表示 80x86
。由于以 86
作为结尾,包括 Intel 8086
、80186
、80286
、80386
以及 80486
,因此其架构被称为 x86
。
生产 x86
架构的 CPU
除了因特尔,它还把专利授权给了现在比较出名的超微(AMD)。然后在 1999
年 AMD
首次公开 64
位集以扩展 x86
,此架构称为 AMD64
。后来英特尔也推出了与之兼容的处理器,并命名Intel 64
。两者一般被统称为 x86-64
或 x64
amd64=x86_64
这个指令集标准的叫法就是 amd64,只不过这个叫法对 intel 来说有点不舒服,所以后来才会引入了 x86_64 这样的叫法,但他们本质上是一样的
arm64,armv7
ARM处理器:因为其低功耗和小尺寸而闻名,现在几乎所有的手机处理器都是基于 ARM。
armv6、armv7、armv7s、arm64 都是 ARM 处理器的指令集,并且所有指令集原则上都是向下兼容的,如 iPhone4S的 CPU 默认指令集为 armv7 指令集,但是它同时兼容 armv6 指令集,只是使用 armv6 指令集时无法充分发挥其性能,无法使用 armv7 指令集中的新特性,
Clash配置
2023最新Clash for Windows使用教程配置从入门到精通
Clash for Windows 配置教程 - AgentNEO 配置说明文档 (neobook.co)
为Linux配置代理
临时代理
并非每个人都希望一直使用代理。对于某些用户,在需要时必须使用代理。在将它们用于所需的用例之后,他们将其丢弃,并继续使用其真实IP地址访问Internet。要为当前会话临时设置代理,您需要使用http_proxy和https_proxy环境变量来完成。启动终端,然后从下面选择一个可用的选项
- 设置不需要用户名/密码认证的代理
在Linux中,最简单的方法是设置不需要用户名和密码身份验证的代理。这是因为您只需要指定服务器IP和端口。有两类不需要身份验证的用户名和密码的代理。
这些是被认为是低质量的免费/公共代理,而代理服务器则提供IP身份验证作为替代。一些提供商甚至将IP身份验证作为唯一的身份验证方法。对于此类代理,请从代理提供商提供的仪表板中将您的设备IP列入白名单。将iP地址列入白名单后,请使用以下命令临时设置代理。
1 | # export http_proxy=http://SERVER:PORT/ |
- 使用用户名和密码验证设置代理
当代理服务器要求您使用用户名和密码进行身份验证时,则需要稍微修改上面的命令以容纳用户名和密码。下面是修改后的代码。
1 | # export http_proxy=http://USERNAME:PASSWORD@SERVER:PORT/ |
如果用户名和密码正确,并且您具有有效的订阅,则您已设置代理。
- 使用域设置代理(不常用)
对于需要设置域详细信息的代理,请运行以下修改后的代码。
1 | # export http_proxy=http://DOMAIN\\USERNAME:PASSWORD@SERVER:PORT/ |
- 处理密码中的@字符(不常用)
显然,您的用户名中不会包含@作为字符。但是,它通常用于密码。用户名或密码中使用@字符时,请使用以下命令。
1 | # export http_proxy=http://DOMAIN\\USERNAME:P\@SSWORD@SERVER:PORT/ |
看上面的代码;您会在@前面看到反斜杠(\)。
永久代理
如果您不想时不时设置代理,则需要使用环境变量来设置代理。这是通过使用以下代码修改文件/ etc / environment来完成的。
1 | #echo“ http_proxy = http://proxy.example.com:3128 /” >> / etc / environment |
验证代理设置
Linux提供了一种简单的方法来检查您是否在计算机上设置了代理。您将需要使用终端进行检查。使用以下命令。如果它们的值为空,则尚未设置代理。
1 | # echo $ http_proxy |
有时候,上面的代码可能会返回值,但是您的浏览器并没有使用它们。有些浏览器可能会忽略默认的代理设置。要检查你是否使用代理IP地址访问互联网,访问WhatIsMyIPAddress网站-通过点击这个链接。您在访问互联网时使用的IP地址将显示出来。另外,对于你打算使用的每一款软件,阅读一些软件,因为它们往往会忽略全局代理设置——如果是这种情况,那么你必须在该软件提供的界面中设置代理。
如果您只关心隐私,那么VPN可能是一个更好的选择。这是因为与不强制所有应用程序通过代理访问Internet的代理不同,VPN确保所有Internet连接都通过代理。通过设置VPN,您无需担心特定软件而无视代理。
参考链接:
代理(Proxy)和VPN的区别 - 知乎 (zhihu.com)
x86,x64,x86-64,amd64,arm指令集架构之间的关系 - 知乎 (zhihu.com)
(58 封私信 / 13 条消息) 为什么有的地方叫X86-64,有的地方叫AMD64? - 知乎 (zhihu.com)
arm64、armv7、armv7s是指什么? - 简书 (jianshu.com)