WireGuard搭建虚拟专网
WireGuard搭建虚拟专网
WireGuard简介
WireGuard 是一种现代、高效且安全的虚拟专用网络 (VPN) 方案,旨在提供更快、更简单、更精简且更易于审计的 VPN 体验。它采用了最新的加密技术,并使用了一个极其简洁的代码库,让代码审计变得更为简单。WireGuard 是由 Jason A. Donenfeld 开发的,代码开源并在 GPL v2 许可下发布。
以下是 WireGuard 的一些主要特点:
1.现代的加密技术:WireGuard 使用了最新的加密算法,如 Curve25519、ChaCha20、Poly1305、BLAKE2、SipHash24、HKDF 等,这些加密算法已被认为是安全的且效率较高的算法。
2.简洁的代码库:相较于其他 VPN 协议,如 OpenVPN 或 IPsec,WireGuard 的代码库相当精简,代码量约为 4000 行。这使得 WireGuard 更易于审计和调试。
3.跨平台兼容性:WireGuard 提供了 Linux、Windows、macOS、Android、iOS 等多个平台的客户端,也有许多路由器固件支持 WireGuard。
4.高性能:WireGuard 的设计使其能够提供高度的性能,包括更快的连接建立速度和更高的数据传输速率。一些测试显示,WireGuard 的性能优于许多其他 VPN 协议。
5.隧道即是网络:WireGuard 采用了一种不同于传统 VPN 的设计,即在 WireGuard 中,每一个 VPN 连接都是一个小型的点对点网络,这使得 WireGuard 配置起来非常简单。
6.漫游支持:WireGuard 支持漫游,即可以在 IP 地址改变时保持 VPN 连接。
7.内核级实现:WireGuard 在 Linux 系统中作为内核模块运行,提供了极高的性能。
8.完整的网络协议:WireGuard 支持任何协议的网络流量,包括 TCP、UDP、ICMP、IPV6 等。
WireGuard和ZeroTier对比
1.设计和用途:WireGuard 主要设计为 VPN 解决方案,它提供简单、快速且安全的点对点连接。ZeroTier 则更像是一个虚拟以太网交换机,它提供的是点到多点的连接,并提供一些更高级的网络特性,比如网络控制器、广播和多播支持。
2.易用性和管理:WireGuard 有着极简的设计,而 ZeroTier 提供了更友好的用户界面和网络管理功能。例如,ZeroTier 允许用户通过 Web 界面管理网络和设备,而 WireGuard 则需要用户手动配置每个设备的接口和路由。
3.网络模型:WireGuard 使用经典的客户端-服务器模型,所有的流量都会经过 VPN 服务器。而 ZeroTier 则尝试直接建立设备之间的 P2P 连接,只有在 NAT 穿透失败时,流量才会经过其中继服务器。
4.加密:WireGuard 和 ZeroTier 都使用了最新的加密算法来保护网络流量,但是他们在协议层面有一些不同。WireGuard 使用了更简洁的加密模型,而 ZeroTier 提供了一些额外的安全特性,例如证书链和身份验证。
5.漫游支持:WireGuard 和 ZeroTier 都支持 IP 地址改变时保持 VPN 连接,这对于移动设备来说是非常重要的。
6.开源和商业服务:WireGuard 的所有组件都是开源的,而 ZeroTier 则是部分开源。ZeroTier 的核心网络协议是开源的,但是他们的网络管理服务 ZeroTier Central 是商业服务。
WireGuard服务端搭建
1.获取源码
项目地址:https://github.com/wg-easy/wg-easy
cd /opt
mkdir wireguard
cd wireguard
// 克隆代码
git clone https://github.com/wg-easy/wg-easy
2.打包docker镜像
cd wg-easy
// 打包成docker镜像
docker build -t weejewel/wg-easy .
// 查看是否成功
docker images
3.启动镜像
docker run -d \
--name=wg-easy \
-e WG_HOST=公网IP \
-e PASSWORD=web访问的密码 \
-e WG_DEFAULT_DNS=8.8.8.8,8.8.4.4 \
-v ~/.wg-easy:/etc/wireguard \
-p 51820:51820/udp \
-p 51821:51821/tcp \
--cap-add=NET_ADMIN \
--cap-add=SYS_MODULE \
--sysctl="net.ipv4.conf.all.src_valid_mark=1" \
--sysctl="net.ipv4.ip_forward=1" \
--restart unless-stopped \
weejewel/wg-easy
4.网页访问
浏览器访问:http://公网ip:51821
5.自定义添加客户端
略
WireGuard客户端搭建
官网地址:https://www.wireguard.com/install/#installation
根据不同类型的操作系统下载对应客户端即可