WireGuard
约 2 分钟阅读
- 支持 Userspace 运行,类似于 Proxy 方式
- 性能对比
- WireGuard Mesh ConfiguratorGitHubk4yt3x/wireguard-mesh-configurator支持 Userspace 运行,类似于 Proxy 方式 · 性能对比 · WireGuard Mesh Configurator · mesh 配置工具 - 批量生成配置 · 不会自动发现 - 需要额外配置 · wg-dynamic · Wireguard Dynamic IP Configuration Tool笔记:WireGuard
- mesh 配置工具 - 批量生成配置
- 不会自动发现 - 需要额外配置
- wg-dynamicGitHubWireGuard/wg-dynamic
- Wireguard Dynamic IP Configuration Tool
- 未完成 - 无维护
- 常见端口 51820
- 限制
- 不会对包做混淆
- 通道使用 UDP - TCP over UDP
- 使用 ChaCha20Poly1305 加密,目前基本不支持硬件加速
- Roaming Mischief - 漫游场景不太友好
- Identity Hiding Forward Secrecy
- Post-Quantum Secrecy - 加密方式不是后量子时代安全的
- Denial of Service
- 参考
- WireGuard VPN: What You Need to KnowLinkrestoreprivacy.com/wireguard支持 Userspace 运行,类似于 Proxy 方式 · 性能对比 · WireGuard Mesh Configurator · mesh 配置工具 - 批量生成配置 · 不会自动发现 - 需要额外配置 · wg-dynamic · Wireguard Dynamic IP Configuration Tool笔记:WireGuard
- gsliepen/tinc#178GitHub Issuegsliepen/tinc#179 - tinc: Wireguard backend
# 内核模块
apk add wireguard-$(uname -r | sed -r 's/.*?-(.*)$/\1/')
# 用户空间工具
apk add wireguard-tools
# 配置 A 端
# ==========
# 生成密钥和公钥
wg genkey | tee wg0.pri | wg pubkey > wg0.pub
# 配置网卡
ip link add wg0 type wireguard
ip addr add 10.0.0.1/24 dev wg0
wg set wg0 listen-port 51820 private-key wg0.pri
ip link set wg0 up
# 配置 B 端
# ==========
# 生成密钥和公钥
wg genkey | tee wg0.pri | wg pubkey > wg0.pub
# 配置网卡
ip link add wg0 type wireguard
ip addr add 10.0.0.2/24 dev wg0
wg set wg0 listen-port 51820 private-key wg0.pri
ip link set wg0 up
# A -> B
# ==========
# 在 B 执行 - 将输出结果在 A 执行
# 如果 B 没有 A 能直接访问的地址 - 则忽略 endpoint
echo wg set wg0 peer $(cat wg0.pub) persistent-keepalive 25 allowed-ips 10.0.0.2/32 endpoint <主机B地址>:51820
# B -> A
# ==========
# 在 A 执行 - 将输出结果在 B 执行
# 如果 A 没有 B 能直接访问的地址 - 则忽略 endpoint
echo wg set wg0 peer $(cat wg0.pub) persistent-keepalive 25 allowed-ips 10.0.0.1/32 endpoint <主机A地址>:51820
# 在 B 能访问 A
ping 10.0.0.1conf
- /etc/wireguard/wg0.conf
[Interface]
PrivateKey =
ListenPort = 249
Address = 10.10.0.2/32
DNS = 1.1.1.1
[Peer]
PublicKey =
PresharedKey =
AllowedIPs = 0.0.0.0/0
Endpoint = <主机A地址>:51820
PersistentKeepalive = 25- engage.cloudflareclient.com
FAQ
桥接或 DHCP
关联信息
反向链接和本文引用的外部资料。
References
GitHub
3 条- gsliepen/tinc#179github.com/gsliepen/tinc/issues/179
- k4yt3x/wireguard-mesh-configuratorgithub.com/k4yt3x/wireguard-mesh-configurator
- WireGuard/wg-dynamicgithub.com/WireGuard/wg-dynamic
其他外链
5 条- lists.zx2c4.com/pipermail/wireguard/2018-January/002341.htmllists.zx2c4.com/pipermail/wireguard/2018-January/002341.html
- remote-lab.net/linux-l2tp-ethernet-pseudowiresremote-lab.net/linux-l2tp-ethernet-pseudowires
- restoreprivacy.com/wireguardrestoreprivacy.com/wireguard
- www.wireguard.com/known-limitationswww.wireguard.com/known-limitations
- www.wireguard.com/performancewww.wireguard.com/performance