1. 首页
  2. 免费VPN

wireguard新技术指南

Wireguard是一种新型的VPN类型产品,它出现的意义是打破传统VPN的格局。现在很多人都在关注wireguard这种新型VPN,所以我们也进行了深入的了解。wireguard是一种免费的新型VPN,能够在跨平台使用VPN服务,它的代码也是开源的。如果wireguard能够流行,对于免费VPN用户将是非常棒的消息。如果想了解wireguard,请关注本文。

Wireguard是一种新型的VPN类型技术,它出现的意义是打破传统VPN的格局。现在很多人都在关注wireguard这种新型VPN技术,所以我们也进行了深入的了解。wireguard是一种免费的新型VPN技术,能够在跨平台使用VPN服务,它的代码也是开源的。如果wireguard能够流行,对于免费VPN用户将是非常棒的消息。如果想了解wireguard,请关注本文。

Wireguard “client-server” Setup with IP roaming | by Alex Novy ...

WireGuard是什么?

WireGuard是一种新型的VPN技术,根据设计,它比传统VPN更易于设置和维护,并提供更高的安全性。WireGuard是免费和开源的,WireGuard已获得与Linux内核具有相同的许可证GPLv2。WireGuard被设计为可在操作系统之间轻松移植。目前的VPN协议包括IPSEC,PPTP,L2TP,OpenVPN和专有SSL VPN。WireGuard的出现是否能够打破目前的局面?

WireGuard也是一种新的开源VPN协议,可简化加密过程。它比OpenVPN和IKEv2更快,并且它的支持者预测它将超越所有现有协议。但这是真的吗?WireGuard是否会结束我们今天看到的VPN问题,例如速度损失和丢包?

WireGuard并非没有缺点。它仍在开发中,甚至它的创建者都承认存在一些固有的安全风险。因此,到目前为止,几乎没有VPN对其进行集成。在当前支持WireGuard的三个VPN中,NordVPN是提供安全WireGuard解决方案的最全面的VPN服务。

WireGuard协议是什么

每种VPN协议各有利弊 (例如,更快通常意味着安全性较低),但是使用WireGuard具有多个潜在优势。除了超越OpenVPN和IKEv2,WireGuard的构建还易于使用。甚至手动网络配置也非常简单。

新协议速度快和简单的原因之一是简化的加密方法。WireGuard的开发人员已经重新组装了构成现成加密算法(称为“原语”)的元素。目标是在不损失安全性的情况下提高速度。它也比OpenVPN精简得多,仅包含4,000行代码。OpenVPN有70,000行代码。这种紧凑的编码可确保进行定期,彻底的审核和改进,从而比其他协议减少了漏洞。

尽管有很多积极的方面,但WireGuard的主要开发人员Jason Donenfeld仍将其归类为实验性项目。这意味着由于潜在的稳定性问题,您在WireGuard上的体验可能无法达到令人印象深刻的速度测试结果

也有几个安全问题。最紧迫的是WireGuard分配IP地址的方式。OpenVPN和IKEv2都动态分配IP地址。这意味着您的VPN每次连接时都会为您分配一个不同的IP。WireGuard无法动态分配IP地址。而是每次连接时都获得相同的静态IP地址。为了能够每次分配相同的地址,WireGuard必须记录并存储您的真实IP地址和时间戳存储您的可识别信息违反了大多数VPN的隐私政策。许多服务已发布声明说,在纠正此问题之前,他们将不会实施WireGuard。

创建者本人很快就警告VPN用户不要依赖新协议,因为他们认识到在发布稳定版本之前还需要做很多工作。尽管存在这些问题,某些VPN仍未等待。三种服务通过将WireGuard与自定义安全功能配对解决了WireGuard的风险。 

哪些VPN支持WireGuard技术?

NordVPN

nordvpn

NordVPN是推出完整,安全的WireGuard解决方案的首批服务之一。它称为NordLynx,您可以在“自动连接”设置中找到并启用它。

NordLynx添加了双重网络地址转换(NAT)系统,该系统在您使用WireGuard时为您分配动态IP地址。该NAT系统使您能够访问WireGuard令人印象深刻的速度,而不会影响您的安全性。

而且速度惊人。NordVPN已经是我测试过的最快的VPN之一,WireGuard使它变得更快。使用OpenVPN连接到NordVPN服务器会导致我的下载速度从18.79 Mbps下降到14.66 Mbps –速度仅下降了22%,对于VPN来说还是不错的。但是,连接到NordLynx可以提高速度。我的连接以20 Mbps的速度运行,这比我的基本速度提高了6%。我的上传速度只受到了一点影响,从13.33 Mbps降至13.24 Mbps –与OpenVPN的10.18 Mbps相比。

与NordVPN已经超快的SmartPlay DNS配合使用,NordLynx是流媒体的理想选择。我在启用WireGuard的情况下运行了DNS和IPv6泄漏测试,但未检测到任何泄漏。这意味着您的IP地址和DNS请求不会由于设备上的安全漏洞或试图将您的流量引导到VPN连接之外的启用IPv6的网站而暴露。

关于NordVPN,可以在本站上找到关于NordVPN的评测

IVPN

与IVPN一起使用WireGuard并不像NordLynx那样容易,您需要进行一些手动配置才能使新协议正常工作。IVPN提供了有关在Windows,macOS,iOS,Android和Linux上设置 WireGuard的用户指南,我发现这很容易理解。

尽管其网站指出“ WireGuard对于隐私VPN 具有足够的安全性”,但IVPN采取了一些其他措施来解决动态IP分配和日志记录问题。

首先,IVPN 会为您的WireGuard密钥随机分配一个IP地址,以模拟动态分配,并确保您每次连接时都不会链接到相同的IP地址。注销后,将立即删除WireGuard密钥和所有信息。如果您不活跃超过180秒,它也会断开您的连接并自动删除您的信息。断开和重新连接WireGuard几乎是瞬时的,因此我在测试期间没有发现任何脱落。如果您不注销,则IVPN会每周自动重新生成WireGuard密钥,以确保您的数据不会长时间存储。您甚至可以更改设置以每天删除密钥和信息。

像NordVPN一样,WireGuard大大提高了IVPN的速度。

Mullvad VPN

Mullvad是WireGuard的热心支持者,它已经在Android应用程序中使用该协议作为默认协议。如果您是Windows,macOS,iOS或Linux用户,则设置起来很容易。您所要做的就是转到“ 隧道协议”设置,然后选择“ WireGuard”。

该配置比IVPN容易,但是Mullvad为WireGuard的隐私漏洞提供了一个较弱的解决方案。与IVPN一样,如果您在180秒钟内处于非活动状态,它会自动断开并重新连接您,但这就是解决问题的程度。当连接到WireGuard时,您可以使用其Multihop功能通过多个VPN服务器重定向您的流量,以增加您的隐私。但是,您必须手动激活Multihop,因为它不像NordLynx那样是完整WireGuard解决方案的一部分。

wireguard官网

wireguard运行起来十分安静。原理和ss有几分相似。服务器和客户端都安装一样的wireguard软件,两者地位是平等的。然后在配置文件中添加彼此的private key和public key,以及udp监听的端口、服务器地址。从原理上讲,谁先主动发起传输请求,谁就是服务器端,没有多少区别。wireguard还支持presharedpsk,预共享密钥,抵御未来的量子计算机攻击。

和传统的openvpnl2tp相比,wireguard代码非常小,只有几千行,功能简单运行效率高,开源审计方便,易于部署,大受欢迎。实测使用wireguard观看youtube视频,和ss没有多少速度差距。

wireguard安装教程

Ubuntu版本:

$ sudo add-apt-repository ppa:wireguard/wireguard
$ sudo apt-get update
$ sudo apt-get install wireguard-dkms wireguard-tools

Debian版本:

# echo “deb http://deb.debian.org/debian/ unstable main” > /etc/apt/sources.list.d/unstable-wireguard.list
# printf ‘Package: *nPin: release a=unstablenPin-Priority: 150n’ > /etc/apt/preferences.d/limit-unstable
# apt update
# apt install wireguard-dkms wireguard-tools

CentOS版本:

$ sudo curl -Lo /etc/yum.repos.d/wireguard.repo https://copr.fedorainfracloud.org/coprs/jdoss/wireguard/repo/epel-7/jdoss-wireguard-epel-7.repo
$ sudo yum install epel-release
$ sudo yum install wireguard-dkms wireguard-tools

wireguard搭建教程

除了使用付费VPN中的wireguard技术外,免费VPN爱好者更喜欢自己搭建wireguard VPN服务器。我们也尝试了一下,以下是我们整理的文章。但是请注意,在中国境内自行搭建VPN,是可能导致法律风险的,我们不建议您自己搭建VPN服务器。

首先使用 WireGuard 你需要在系统中创建一块虚拟网卡,并配置好这个虚拟网卡的 IP 地址,掩码,网关不需要配置(可以使用 wg-quick@ 自动化)

然后你使用 WireGuard 连接另一台设备,两台互相 peer 对方并验证各自的公钥私钥是否正确,全部正确后成功建立 peer(可以使用 wg-quick@ 自动化)

建立成功后,所有前往虚拟网卡的流量都将被重新封装后发往另一台设备,由另一台设备解封装然后得到数据报文并在内部查找路由并匹配报文目的地。(可以使用 wg-quick@ 自动化)

以上为建立一个 WireGuard VPN 链接的过程,建立好后,A 设备与 B 设备互相需要保证虚拟网卡的 IP 在相同网络位的地址段中,并且这个地址段被 WireGuard 的配置文件 AllowedIPs 所允许通过

如果你试图从 A 设备访问 B 设备的对端子网,你需要在 A 设备上配置系统路由,将系统三层网络的路由目的地指向对端虚拟 IP 地址,出接口为虚拟网卡,并且这个地址段必须被 WireGuard 的配置文件 AllowedIPs 所允许通过

最后,在 WireGuard 中的所有数据报文,都采用 UDP 的方式发送。

WireGuard 安装

windows 没有官方程序,暂时只能使用第三方制作的 TunSafe 程序。TunSafe 在 Windows 环境中安装时,需要安装 TunSafe Client 与 TunSafe-TAP Ethernet Adapter (GPL) 两个程序。前者是 GUI 界面,后者是程序所必需的 TAP 网卡(并且需要翻墙下载安装包)。安装好后可以设置成自动开启,并配置为系统服务。

安装程序在这里

如果是 IOS / Android 系统,可以使用应用商店主动获取,应用 WireGuard 的图标为官网图标,也可以使用 TunSafe 客户端。

CentOS 7 的安装步骤如下(注意默认内核版本不支持自定义网卡 type 所以必须升级)。

curl -Lo /etc/yum.repos.d/wireguard.repo https://copr.fedorainfracloud.org/coprs/jdoss/wireguard/repo/epel-7/jdoss-wireguard-epel-7.repo yum install epel-release -y yum install wireguard-dkms wireguard-tools -y

WireGuard配置

首先你需要创建一个文件夹存放 WireGuard 的配置文件,本文路径为 /etc/wireguard/ 这个文件夹

然后你需要知道如何生成一份公钥与私钥,命令可以使用下面这个
(私钥为 privatekey 公钥为 publickey)

wg genkey | tee privatekey | wg pubkey > publickey && cat privatekey && cat publickey

以及本文的配置环境如下,括号中携带的是对应主机拥有的其他网段

172.16.1.11:8001 ( 172.16.11.0/24 ) <—> 172.16.1.12:8002 ( 172.16.12.0/24 )

WireGuard 的主端配置

首先我们创建一个 WireGuard 配置文件

vim /etc/wireguard/wg0.conf [Interface] ListenPort = 8001 PrivateKey = 填写本机的 privatekey 内容 [Peer] PublicKey = 填写对端的 publickey 内容 AllowedIPs = 172.16.1.12/32,172.16.12.0/24 Endpoint = another.domain.name:8002 PersistentKeepalive = 25

然后我们需要创建一个网卡配置文件(此配置等价于移动客户端的 Interface 配置)

vim /etc/sysconfig/network-scripts/ifcfg-wg0

DEVICE=wg0 TYPE=wireguard IPADDR=172.16.1.11 NETMASK=255.255.255.0 ONBOOT=yes NAME=wg0 ZONE=public

接着我们需要创建一个网卡路由文件(由于对方存在 172.16.12.0/24 这个 IP 地址段的前提下)。

vim /etc/sysconfig/network-scripts/route-wg0

172.16.12.0/24 via 172.16.1.12 dev wg0

最后我们需要允许本机的 NAT 转换,并允许系统进行 IPV4 转发

firewall-cmd –add-masquerade –zone=public –permanent firewall-cmd –reload sed -i ‘/net.ipv4.ip_forward/d’ /etc/sysctl.conf echo “net.ipv4.ip_forward=1” >> /etc/sysctl.conf sysctl -p

WireGuard 的对端配置

在对端设备,我们依然需要创建一个 WireGuard 配置文件

vim /etc/wireguard/wg0.conf

[Interface] ListenPort = 8002 PrivateKey = 填写本机的 privatekey 内容 DNS = 1.1.1.1 #强制本机使用 DNS 服务器 MTU = 1300 #强制本机使用指定 MTU 值 [Peer] PublicKey = 填写对端的 publickey 内容 AllowedIPs = 172.16.1.11/32,172.16.11.0/24 Endpoint = another.domain.name:8001 PersistentKeepalive = 25

然后我们需要创建一个网卡配置文件

vim /etc/sysconfig/network-scripts/ifcfg-wg0

DEVICE=wg0 TYPE=wireguard IPADDR=172.16.1.12 NETMASK=255.255.255.0 ONBOOT=yes NAME=wg0 ZONE=public

接着我们需要创建一个网卡路由文件(假设对方存在 172.16.11.0/24 这个 IP 地址段的前提下)

vim /etc/sysconfig/network-scripts/route-wg0

172.16.11.0/24 via 172.16.1.11 dev wg0

最后我们需要允许本机的 NAT 转换,并允许系统进行 IPV4 转发

firewall-cmd –add-masquerade –zone=public –permanent firewall-cmd –reload sed -i ‘/net.ipv4.ip_forward/d’ /etc/sysctl.conf echo “net.ipv4.ip_forward=1” >> /etc/sysctl.conf

WireGuard 配置说明

[Interface]
ListenPort = 8002  #本机监听 WireGuard 端口
PrivateKey = 填写本机的 privatekey 内容  #本机加密私钥
DNS = 1.1.1.1  #强制本机使用 DNS 服务器
MTU = 1300  #强制本机使用指定 MTU 值
#Table = 100 #强制本机将注入系统的路由的 table 指定为 100 ( 系统默认为 255 和 254 )
#PostUp = ip rule add from 10.10.1.0/24 table 100 ; ip rule add from 10.10.2.0/24 table 100
#PreDown = ip rule delete from 10.10.1.0/24 table 100 ; ip rule delete from 10.10.2.0/24 table 100

[Peer]
PublicKey = 填写对端的 publickey 内容  #本机加密的对端公钥(加密后数据仅对端可以解密)
AllowedIPs = 172.16.1.11/32  #本机允许的对端设备的 IP 地址段,其实就是在本机中这个虚拟网卡对端都有哪些设备 IP 地址(多 peer 不可重复)
Endpoint = another.domain.name:8001  #对端 WireGuard 的外部 IP(可以有一侧的 IP 地址是虚假的公网 IP)
PersistentKeepalive = 25   #当会话存在一端 IP 地址为 NAT 地址或虚假公网 IP 地址时,由该方阶段性每 25 秒发送 keepalive 报文保持会话的可用性,防止被设备终止。
  • 1、如果你存在多个 [Peer] ,则在下面直接增加一个新的 [Peer] 栏目
  • 2、如果多个 Peer 存在不同的 IP,请不要让 AllowedIPs 存在重叠的 IP 地址段(比如配置多个相同/24 只有一个生效)
  • 3、Endpoint 既支持以域名的方式访问,也支持以 IP 的方式访问。
  • 4、会话链接的建立只要保证两端数据在一台设备上成功协商,即使有一端 IP 地址后期变更过也不会影响 VPN 的稳定性。
  • 5、使用命令 wg 可以看到当前服务的运行情况。
  • 6、如果你是本来打算连服务器的移动端,则在配置中你需要将移动端的 “AllowedIPs =” 补写一条内容 0.0.0.0/0,::0 以允许所有流量
  • 7、前面标注 # 的三条内容,作为 iproute2 的使用方式,通过指定路由条目的 table 与 ip rule 联动控制策略流量转发。
  • 8、PreUp,PostUp,PreDown,PostDown 这四个命令参数,是作为 wg-quick 快速设置/删除接口之前/之后由 bash(1)执行的四条命令,常用于配置自定义 DNS 或防火墙规则。 特殊字符串 %i 作为变量替代所控制的 INTERFACE 配置名。 每个命令参数都支持多条命令,参数内的多条命令将按前后顺序依次执行。

典型的wireguard服务器端配置文件:

[Interface]
PrivateKey = yAnz5TF+lXXJte14tji3zlMNq+hd2rYUIgJBgB3fBmk=
ListenPort = 51820

[Peer]
PublicKey = xTIBA5rboUvnH4htodjb6e697QjLERt1NAB4mZqp8Dg=
AllowedIPs = 10.192.122.3/32, 10.192.124.1/24

典型的客户端配置文件:

[Interface]
PrivateKey = gI6EdUSYvn8ugXOt8QQD6Yc+JyiZxIhp3GInSWRfWGE=
ListenPort = 21841

[Peer]
PublicKey = HIgo9xNzJMWLKASShiTqIybxZ0U3wGLiUeJ1PKf8ykw=
Endpoint = 192.95.5.69:51820
AllowedIPs = 0.0.0.0/0

wireguard搭建用服务器

建议使用一台海外vps服务器,安装ubuntu 17.10最新系统,配置wireguard效果好。

vultr vps最便宜套餐每月2.5美元,拥有全球15大机房,数量最多。日本东京机房最受中国用户喜爱。最受欢迎的是月付10美元套餐,可拥有2GB内存、1 CPU、2TB流量、40GB SSD硬盘。

wireguard缺点

目前虽然wireguard是小众产品,但是不保证在未来一段时间后,ss用户迁移到wireguard,导致wireguard被盯上,进行流量特征机器学习与识别。

大陆运营商限制udp使用,可能导致你所在地区体验较差。

官方原版wireguard是端对端全局代理,中国用户无法智能区分国内外流量。wireguard没有自带流量统计、多用户管理功能,这是目前wireguard没有被商家普及的原因。

wireguard原理设计没有考虑中国大陆特殊情况,虽然它是基于Linux Kernel的模块,效率高,速度快,但是wireguard传输特征明显,易于被识别封锁。

wireguard没有考虑多用户管理和流量管理、连接设备数量限制,这是商用必备条件,因此国内没有卖家提供wireguard服务。

wireguard最佳用途是,个人私用、家庭和公司设备互连,而不是穿墙。

扩展阅读

欢迎关注VPN专业评测和推荐网站。我们在顶级VPN软件中列举了推荐的工具软件。

邀请评论

欢迎您留下自己的评论,我们会把评论置顶,让更多朋友看到您的经验分享。请不吝加入我们的讨论吧!

发表评论

电子邮件地址不会被公开。 必填项已用*标注

评论列表(4条)

  • 上将嚎

    谁看懂了,这个是啥

  • 321

    免费的吗?

  • 兰博基尼

    这是啥

  • 大小姐呢

    新技术吗???