WireGuard
Jason A. Donenfeld | |
开发 | Edge Security LLC. |
| |
编程语言 | C语言(Linux Go( |
类型 | |
许可协议 | GPLv2 |
网站 | www |
WireGuard
2020
协议
[编辑]WireGuard
- Curve25519
用 于密 钥交换 - ChaCha20
用 于对称加 密 - Poly1305
用 于消息 认证码 - SipHash24
用 于哈希 表 键 - BLAKE2s
用 于加 密 哈希函数 - HKDF
用 于密 钥派生 函数 - 仅基于UDP[6]
- Base64编码
的 私 钥、公 钥和预共享 密 钥
2019
可 选的预共享 对称密 钥模式
[编辑]WireGuard
网络
[编辑]WireGuard 仅
其默认服务器
WireGuard
MTU 开销
[编辑]WireGuard
- 20
字 节的 IPv4 报头或 40字 节的 IPv6 报头 - 8
字 节的 UDP 报头 - 4
字 节的类型 - 4
字 节的密 钥索引 - 8
字 节的随 机 数 - N
字 节的加 密 数 据 - 16
字 节的身 份验证标签
MTU 操作 注意 事 项
[编辑]从
注意 事 项
[编辑]可 扩展性
[编辑]WireGuard
从
反 响
[编辑]Ars Technica
WireGuard
可用性
[编辑]实现
[编辑]WireGuard 协议
- Donenfeld
使用 C 语言和 Go 语言编写的 初 始 实现。[22] - Cloudflare
的 BoringTun,一 个使用 Rust语言编写的 用 户空间实现。[23][24] - Matt Dunwoodie 为 OpenBSD 编写
的 使用 C 语言的 实现。[25] - Ryota Ozaki 为 NetBSD 编写
的 使用 C 语言的 wg(4) 实现。[26] - FreeBSD
的 实现是 用 C 语言编写的 ,并且与 OpenBSD的 实现共 享 大 部分 数 据 路 径 。[27] 自 2021年 8月 起 ,名 为“wireguard-nt”的 原生 Windows内 核 实现。[28]支持 Fritz!OS 7.39 及更高 版本 的 AVM Fritz!Box 调制解 调-路 由 器 。从7.50版本 开始允 许站点 到 站点的 WireGuard连接。[29]
历史
[编辑]2019
2020
2020
2020
2020
2020
2020
2020
2020
2020
2021
2021
2021
2021
2023
参 见
[编辑]注 释
[编辑]- ^
不 确定“TCP Meltdown”的 常用 中 文 译名,暂时翻 译为“TCP熔断”。
参考 来 源
[编辑]- ^ wireguard-linux-compat. [2022
年 11月4日 ]. - ^ Installation. WireGuard. [23 April 2020].
已 忽 略 未知 参 数 |df=
(帮助) - ^ 3.0 3.1 3.2 3.3 WireGuard: fast, modern, secure VPN tunnel. WireGuard. [2021-03-31]. (
原始 内容 存 档于28 April 2018). - ^ Vercauteren, Bart Preneel and Frederik. Applied Cryptography and Network Security. Springer. [2018-08-27]. ISBN 978-3-319-93387-0. (
原始 内容 存 档于2019-02-18). - ^ Preneel, Bart; Vercauteren, Frederik (编). Applied Cryptography and Network Security. Springer. 11 June 2018 [25 June 2018]. ISBN 978-3-319-93387-0. (
原始 内容 存 档于18 February 2019).已 忽 略 未知 参 数 |df=
(帮助) - ^ 6.0 6.1 Donenfeld, Jason A. Known Limitations - WireGuard. www.wireguard.com. [1 June 2020] (
英 语). - ^ 7.0 7.1 Salter, Jim. WireGuard VPN makes it to 1.0.0—and into the next Linux kernel. 30 March 2020 [23 April 2020]. (
原始 内容 存 档于31 March 2020). - ^ 8.0 8.1 Donenfeld, Jason A. Protocol & Cryptography - WireGuard. www.wireguard.com. [2023-05-14] (
英 语). - ^ Lipp, Benjamin; Blanchet, Bruno; Bhargavan, Karthikeyan, A Mechanised Cryptographic Proof of the WireGuard Virtual Private Network Protocol (report), Research Report RR-9269, Paris: Inria: 49, 2019, hal-02100345
- ^ Donenfeld, Jason. WireGuard: Next Generation Kernel Network Tunnel (PDF). Wireguard.com. May 2, 2021.
- ^ 11.0 11.1 Donenfeld, Jason A. Known Limitations - WireGuard. www.wireguard.com. [2021-05-02] (
英 语). - ^ Titz, Olaf. Why TCP Over TCP Is A Bad Idea. 2001-04-23 [2015-10-17].
- ^ Honda, Osamu; Ohsaki, Hiroyuki; Imase, Makoto; Ishizuka, Mika; Murayama, Junichi. Understanding TCP over TCP: effects of TCP tunneling on end-to-end throughput and latency. Atiquzzaman, Mohammed; Balandin, Sergey I (编). Performance, Quality of Service, and Control of Next-Generation Communication and Sensor Networks III 6011. October 2005. Bibcode:2005SPIE.6011..138H. CiteSeerX 10.1.1.78.5815 . S2CID 8945952. doi:10.1117/12.630496.
- ^ Donenfeld, Jason A. WireGuard: Next Generation Kernel Network Tunnel (PDF). (
原始 内容 存 档 (PDF)于4 March 2018).|chapter=
被 忽 略 (帮助) - ^ 15.0 15.1 Donenfeld, Jason A. [WireGuard] Header / MTU sizes for Wireguard. December 11, 2017 [2024-01-13].
- ^ Wireguard Dynamic IP Configuration Tool, WireGuard, 2023-05-14 [2023-05-14]
- ^ Salter, Jim. WireGuard VPN review: A new type of VPN offers serious advantages. Ars Technica. 26 August 2018. (
原始 内容 存 档于20 September 2018). - ^ Building a more secure, accessible and resilient WireGuard VPN protocol.. www.opentech.fund. [2022-06-20].
- ^ Donations. WireGuard. [28 April 2018]. (
原始 内容 存 档于28 April 2018). - ^ OVPN donates to support WireGuard. OVPN. 23 March 2020.
- ^ US Senator Recommends Open-Source WireGuard To NIST For Government VPN. Phoronix. 30 June 2018 [5 August 2018]. (
原始 内容 存 档于5 August 2018).已 忽 略 未知 参 数 |df=
(帮助) - ^ Donenfeld, Jason. WireGuard: fast, modern, secure VPN tunnel. 2019-06-07 [2019-06-16].
- ^ Krasnov, Vlad. BoringTun, a userspace WireGuard implementation in Rust. Cloudflare Blog. 2018-12-18 [2019-03-29]. (
原始 内容 存 档于4 April 2019) (美国 英 语).已 忽 略 未知 参 数 |df=
(帮助) - ^ CloudFlare Launches "BoringTun" As Rust-Written WireGuard User-Space Implementation. phoronix.com. [29 March 2019].
- ^ Johansson, Janne. WireGuard imported into OpenBSD. 2020-06-21.
- ^ wg(4) - NetBSD Manual Pages. 2020-08-20.
- ^ 27.0 27.1 Import kernel WireGuard support.
- ^ WireGuardNT, a high-performance WireGuard implementation for the Windows kernel. 2021-08-02.
- ^ WireGuard: VPN has never been so easy.
- ^ Index of /Monolithic-historical/.
- ^ Mason, John. Mullvad Review. thebestwpn. 13 February 2019 [8 April 2019]. 2. Strong Tunneling Protocols – OpenVPN & WireGuard. (
原始 内容 存 档于24 June 2019).已 忽 略 未知 参 数 |df=
(帮助) - ^ Mason, John. AzireVPN Review. thebestvpn. 19 February 2019 [8 April 2019]. 2. Impressive Protocols and Encryption. (
原始 内容 存 档于8 May 2019).已 忽 略 未知 参 数 |df=
(帮助) - ^ Pestell, Nick. Introducing Wireguard. 11 December 2018 [2019-09-22].
- ^ WireGuard support added!. cryptostorm blog. 5 April 2019 [9 December 2019]. (
原始 内容 存 档于9 December 2019). - ^ e7096c131e5161fa3b8e52a650d7719d2857adfd - pub/scm/linux/kernel/git/davem/net-next - Git at Google. kernel.googlesource.com.
- ^ LKML: David Miller: Re: [PATCH net-next v2] net: WireGuard secure network tunnel. lkml.org.
- ^ [ANNOUNCE] WireGuard merged to net-next, on its way to Linux 5.6. 9 January 2020. (
原始 内容 存 档于9 January 2020). - ^ Torvalds, Linus. index : kernel/git/torvalds/linux.git. Linux kernel source tree. Kernel.org. [2 February 2020].
- ^ drivers/net: Enable WIREGUARD as module. 21 March 2020.
- ^ ANDROID: GKI: enable CONFIG_WIREGUARD.
- ^ merge branch 'bg/wireguard' (d321d0df) · Commits · GNOME / network-manager-applet. gitlab.gnome.org. 22 April 2020 [30 May 2020] (
英 语). - ^ WireGuard for OpenBSD Kernel Patches Posted. 12 May 2020.
- ^ add wg(4), an in kernel driver for WireGuard vpn communication.
- ^ [ANNOUNCE] WireGuard for Windows 0.3: ARM support, enterprise features, & more. 23 November 2020.
- ^ WireGuard for pfSense Software.
- ^ Anderson, Tim. FreeBSD 13.0 to ship without WireGuard support as dev steps in to fix 'grave issues' with initial implementation. The Register (Situation Publishing). 2021-03-23 [2021-03-31].
- ^ Thompson, Jim. WireGuard Removed from pfSense® CE and pfSense® Plus Software. Netgate blog. Rubicon Communications. 2021-03-18 [2021-03-20] (
英 语). - ^ Long, Scott. pfSense: WireGuard returns as an Experimental Package. Netgate - Secure networks start here. 2021-05-05 [2021-06-09] (
英 语). - ^ Paxson, Audian. WireGuard for pfSense Software. Netgate - Secure networks start here. 2021-01-19 [2021-06-09] (
英 语). - ^ wireguard-freebsd - WireGuard implementation for the FreeBSD kernel. git.zx2c4.com. [2021-06-09].
- ^ Pingle, Jim. pfSense Plus 21.05-RELEASE Now Available. Netgate - Secure networks start here. 2021-06-02 [2021-06-09] (
英 语). - ^ WireGuard. Sovereign Tech Fund. [2024-05-26] (
英 语).
外部 链接
[编辑]- WireGuard
官 网 (页面存 档备份,存 于互联网档案 馆) - WireGuard
源 代 码 - WireGuard
源 代 码GitHub镜像 (页面存 档备份,存 于互联网档案 馆) - WireGuard Android
客 户端 (页面存 档备份,存 于互联网档案 馆) - WireGuard iOS
客 户端 - WireGuard macOS
客 户端