(Translated by https://www.hiragana.jp/)
WireGuard - 维基百科,自由的百科全书 とべ转到内容ないよう

WireGuard

本页使用了标题或全文手工转换
维基百科ひゃっか自由じゆうてき百科ひゃっかぜん
WireGuard
原作げんさくしゃJason A. Donenfeld
开发しゃEdge Security LLC.
とうぜん版本はんぽん
  • 1.0.20220627(2022ねん6がつ27にち;稳定版本はんぽん[1]
编辑维基数据链接
みなもとだい码库 编辑维基数据链接
编程语言C语言Linuxないかくかたぎ块)
Goよう户空间实现)
操作そうさけい
类型きょ拟私じん网路
许可协议GPLv2
网站www.wireguard.com

WireGuardよしJason A. Donenfeld开发てき自由じゆう及开げんみつVPNほどじょ及协议,[3]むねざい获得IPsecOpenVPNさらこのみてき性能せいのう[4]きさき两者つね见的隧道すいどう协议[5] WireGuard协议てき流量りゅうりょう经由UDP传输。[6]

2020 ねん 3 がつ,该软けんてきLinux版本はんぽん达到りょう稳定てきなま版本はんぽん,并被纳入Linux 5.6ないかく,并在いちLinux 发行ばんなかこうきさき移植いしょくいた早期そうきてき Linux ないかく[7]Linuxないかく组件ざいGNU 通用つうよう公共こうきょう许可证 (GPL) 版本はんぽん 2 获得许可;其他实现则在 GPLv2 ある其他自由じゆう/开源许可证下获得许可。[3]

名称めいしょう“WireGuard”Jason A. Donenfeldてきちゅうさつしょう[3]

协议

[编辑]

WireGuard 使用しよう以下いか协议:[8]

2019 ねん 5 がつINRIA てき研究けんきゅうじん使用しようCryptoVerifえいCryptoVerif证明辅助工具こうぐえいProof assistant发布りょうWireGuard协议てきつくえ验证证明。[9]

选的预共とおる对称みつ钥模しき

[编辑]

WireGuard支持しじ预共とおるえいPre-shared key对称みつ钥模しき,该模しき提供ていきょうりょういち层额がいてき 对称みつ,以减轻未来みらい量子りょうし计算てき进步带来てき风险。这解决了流量りゅうりょう可能かのうそん储到量子りょうし计算つくえのう够破かい Curve25519 てき风险,とどけ时流りょう可能かのうかいかいみつ。预共とおるみつ钥“从密钥管理かんりてき角度かくどらい通常つうじょう很麻烦,而且可能かのうさら容易たやすぬすめ”,ただしざい短期たんきない,如果对称みつ钥被泄露,Curve25519 みつ钥仍しか提供ていきょうあし够的护。[10]

网络

[编辑]

WireGuard 仅使用しよう[11]UDP[3]这是いん为 TCP-over-TCP 存在そんざい潜在せんざいてき缺点けってん[11][12] [13]ざいもと于 TCP てき连接じょう隧道すいどうTCPしょう为“TCP-over-TCP”,这样做会导致传输性能せいのうきゅう下降かこう(该问题被しょう为“TCP熔断”[a]えい语:TCP Meltdown)。とういち个TCP连接うけたまわ载于另一个TCP连接うえ时,就可能かのう发生TCP熔断:もと础层ぐういた问题てき时候かい尝试进行补偿,而其じょう层则かいいん此过补偿(えい语:overcompensates),这种过度补偿かい导致のべ迟并使传输性能せいのう下降かこう

其默认服务器はしこう为UDP 51820。

WireGuard完全かんぜん支持しじIPv6,无论ざい隧道すいどう内部ないぶ还是外部がいぶ。它仅支持しじだい3层てきIPv4IPv6,并且ふうそうv4-in-v6,たんまたしか[14]

MTU 开销

[编辑]

WireGuard てき开销细分如下:[15]

  • 20 节的 IPv4 报头ある 40 节的 IPv6 报头
  • 8 节的 UDP 报头
  • 4 节的类型
  • 4 节的みつ索引さくいん
  • 8 节的ずいつくえすう
  • N 节的みつすうすえ
  • 16 节的份验证标签

MTU 操作そうさ注意ちゅういごと

[编辑]

かり设传输 WireGuard すうすえつつみてきそこ层网络保持ほじ 1500 节的 MTU,则将所有しょゆうしょう关对ひとしかたてき WireGuard せっこう配置はいち为 1420 节的 MTU 传输 IPv6 + IPv4 流量りゅうりょうてき理想りそう选择。ただしとう仅承载传统的 IPv4 流量りゅうりょう时,WireGuard せっこうてき MTU 以设おけ为更だかてき 1440 节。[15]

操作そうさ角度かくど网络配置はいち一致いっちせいらい,选择为 WireGuard せっこう配置はいち 1420 MTU 有利ゆうりてき。这种方法ほうほう确保りょう一致いっちせい,并促进了将来しょうらい为 WireGuard 对等かたせっこう启用 IPv6 てきさらひら稳过わたり

注意ちゅういごと

[编辑]

ざいぼう些情况下,れい如,一个对等方位于 MTU 为 1500 节的网络きさき,而另一个对等方位于LTEとう无线网络きさき,运营しょう通常つうじょうかい选择远低于 1420 节的 MTU。ざい这种じょう况下,しゅつくえてきそこ层 IP 网络うずたか栈将对 UDP ふうそうてきすうすえつつみ进行ぶんへん并发送,ただし隧道すいどうないてきつつみしょう保持ほじ一致いっち,并且需要じゅようぶんへんいんPMTUDえいPath MTU Discoveryはた检测对等かた间的 MTU(ざいほんれいちゅう为 1420 节)并在对等かた间发送固定こてい大小だいしょうてきすうすえつつみ

扩展せい

[编辑]

WireGuard むねざいよしだい三方程序和脚本进行扩展。这已よう增强ぞうきょう WireGuard てきかく种功のう包括ほうかつさら友好ゆうこうてき管理かんり界面かいめん包括ほうかつさら轻松てきみつ钥设おけ)、にちこころざし记录、动态防火ぼうか更新こうしん、动态 IP 分配ぶんぱい[16] 以及LDAP集成しゅうせい[らいみなもと请求]

最小さいしょうてき核心かくしんだい码库ちゅう排除はいじょ此类复杂こうのう以提だか其稳定性ていせい安全あんぜんせい。为了确保安全あんぜんせい,WireGuard げんせいりょう实现みつひかえけんてき选项,げんせいりょうみつ钥交换过程てき选择,并将算法さんぽう[8] うついた现代みつ码基もとえいCryptographic primitiveてきいちしょう部分ぶぶん。如果在任ざいにんなんげん语中发现缺陷けっかん以发ぬのかい决该问题てきしん版本はんぽん

はん

[编辑]

Ars Technicaてきいちへん评论发现,WireGuardえき于设おけ使用しよう使用しようりょう强大きょうだいてきみつ算法さんぽう,并且だい码库最小さいしょうおさむ击面しょう[17]

WireGuard やめ获得开放わざ基金ききんかいてき资助,[18]接受せつじゅりょうMullvadPrivate Internet AccessIVPNNLnet 基金ききんかい[19]かずOVPNてき捐赠。[20]

にわか勒冈しゅうまいり议员Ron Wydenやめけん美国びくに国家こっか标准あずかわざ研究けんきゅういん (NIST) 评估WireGuardさく为现ゆうわざ术的がえだい方案ほうあん[21]

可用性かようせい

[编辑]

实现

[编辑]

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]

历史

[编辑]

だい码库てき早期そうきかいあきら存在そんざい于 2016 ねん 6 がつ 30 にち[30] WireGuard てき四个早期采用者是 VPN ふく提供ていきょうしょう Mullvad[31] AzireVPN,[32] IVPN[33] かず cryptostorm。[34]

2019 ねん 12 がつ 9 にち,Linux 网络うずたか栈的主要しゅよう维护しゃ David Miller 接受せつじゅりょう WireGuard 补丁いた“net-next”维护しゃ树中,以便包含ほうがんざいそくはた发布てきないかくちゅう[35][36][37]

2020 ねん 1 がつ 28 にちLinus Torvalds ごう并了 David Miller てき net-next 树,WireGuard 进入りょう mainline Linux ないかく树。[38]

2020 ねん 3 がつ 20 にちDebian 开发じん员在其 Debian 11 版本はんぽん(测试ばんてきないかく配置はいちちゅう启用りょう WireGuard てき块构けん选项。[39]

2020 ねん 3 がつ 29 にち,WireGuard 纳入 Linux 5.6 版本はんぽん树。Windows 版本はんぽんてき软件仍处于测试阶だん[7]

2020 ねん 3 がつ 30 にちAndroid 开发じん员在其通用つうようないかく映像えいぞうちゅう添加てんかりょう对 WireGuard てき原生げんせいないかく支持しじ[40]

2020 ねん 4 がつ 22 にちNetworkManager 开发じん员 Beniamino Galvani ざい GNOME 中合なかごう并了对 WireGuard てき GUI 支持しじ[41]

2020 ねん 5 がつ 12 にち,Matt Dunwoodie 提出ていしゅつりょうざい OpenBSD ちゅう对 WireGuard てき原生げんせいないかく支持しじてき补丁。[42]

2020 ねん 6 がつ 22 にちざい Matt Dunwoodie Jason A. Donenfeld てき努力どりょく,WireGuard 支持しじ导入 OpenBSD。[43]

2020 ねん 11 がつ 23 にち,Jason A. Donenfeld 发布りょう Windows 软件つつみてき更新こうしんあらため进了あんそう、稳定せいARM支持しじくわだてこうのう[44]

2020 ねん 11 がつ 29 にち,WireGuard 支持しじ导入 FreeBSD 13 ないかく[27]

2021 ねん 1 がつ 19 にちざい pfSense しゃばん (CE) 2.5.0 开发かいあきらちゅう添加てんかりょう对 WireGuard てき预览支持しじ[45]

2021 ねん 3 がつざい FreeBSD WireGuard ちゅう紧急だい码清无法快速かいそく完成かんせいきさきないかくしき WireGuard 支持しじ从仍ざい测试ちゅうてき FreeBSD 13.0 ちゅう删除。[46] もと于 FreeBSD てき pfSense しゃばん (CE) 2.5.0 pfSense Plus 21.02 也删じょりょうもと于内かくてき WireGuard。[47]

2021 ねん 5 がつ,WireGuard 支持しじさく为 pfSense しゃなる员 Christian McDonald 编写てき实验つつみおもしん引入 pfSense CE pfSense Plus 开发かいあきらちゅう。pfSense てき WireGuard 软件つつみ包含ほうがんりょう最初さいしょよし Netgate 赞助てき Jason A. Donenfeld せいざい进行てきないかくしき WireGuard 开发工作こうさく[48][49][50]

2021 ねん 6 がつ,pfSense CE 2.5.2 pfSense Plus 21.05 てきかんかた软件つつみそん储库包含ほうがんりょう WireGuard 软件つつみ[51]

2023 ねん,WireGuard 从德こくてきしゅ权科わざ基金ききんえいSovereign Tech Fund获得りょうちょう过 200,000 おうもとてき支持しじ[52]

まいり

[编辑]

ちゅう

[编辑]
  1. ^ 确定“TCP Meltdown”てき常用じょうようちゅうぶん译名,暂时こぼし译为“TCP熔断”。

参考さんこうらいげん

[编辑]
  1. ^ wireguard-linux-compat. [2022ねん11月4にち]. 
  2. ^ Installation. WireGuard. [23 April 2020].  やめゆるがせりゃく未知みちさんすう|df= (帮助)
  3. ^ 3.0 3.1 3.2 3.3 WireGuard: fast, modern, secure VPN tunnel. WireGuard. [2021-03-31]. (原始げんし内容ないようそん于28 April 2018). 
  4. ^ Vercauteren, Bart Preneel and Frederik. Applied Cryptography and Network Security. Springer. [2018-08-27]. ISBN 978-3-319-93387-0. (原始げんし内容ないようそん于2019-02-18). 
  5. ^ 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. ^ 6.0 6.1 Donenfeld, Jason A. Known Limitations - WireGuard. www.wireguard.com. [1 June 2020] えい语). 
  7. ^ 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. ^ 8.0 8.1 Donenfeld, Jason A. Protocol & Cryptography - WireGuard. www.wireguard.com. [2023-05-14] えい语). 
  9. ^ 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 
  10. ^ Donenfeld, Jason. WireGuard: Next Generation Kernel Network Tunnel (PDF). Wireguard.com. May 2, 2021. 
  11. ^ 11.0 11.1 Donenfeld, Jason A. Known Limitations - WireGuard. www.wireguard.com. [2021-05-02] えい语). 
  12. ^ Titz, Olaf. Why TCP Over TCP Is A Bad Idea. 2001-04-23 [2015-10-17]. 
  13. ^ 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. 
  14. ^ Donenfeld, Jason A. WireGuard: Next Generation Kernel Network Tunnel (PDF). (原始げんし内容ないようそん (PDF)于4 March 2018).  |chapter=ゆるがせりゃく (帮助)
  15. ^ 15.0 15.1 Donenfeld, Jason A. [WireGuard] Header / MTU sizes for Wireguard. December 11, 2017 [2024-01-13]. 
  16. ^ Wireguard Dynamic IP Configuration Tool, WireGuard, 2023-05-14 [2023-05-14] 
  17. ^ Salter, Jim. WireGuard VPN review: A new type of VPN offers serious advantages. Ars Technica. 26 August 2018. (原始げんし内容ないようそん于20 September 2018). 
  18. ^ Building a more secure, accessible and resilient WireGuard VPN protocol.. www.opentech.fund. [2022-06-20]. 
  19. ^ Donations. WireGuard. [28 April 2018]. (原始げんし内容ないようそん于28 April 2018). 
  20. ^ OVPN donates to support WireGuard. OVPN. 23 March 2020. 
  21. ^ US Senator Recommends Open-Source WireGuard To NIST For Government VPN. Phoronix. 30 June 2018 [5 August 2018]. (原始げんし内容ないようそん于5 August 2018).  やめゆるがせりゃく未知みちさんすう|df= (帮助)
  22. ^ Donenfeld, Jason. WireGuard: fast, modern, secure VPN tunnel. 2019-06-07 [2019-06-16]. 
  23. ^ Krasnov, Vlad. BoringTun, a userspace WireGuard implementation in Rust. Cloudflare Blog. 2018-12-18 [2019-03-29]. (原始げんし内容ないようそん于4 April 2019) 美国びくにえい语).  やめゆるがせりゃく未知みちさんすう|df= (帮助)
  24. ^ CloudFlare Launches "BoringTun" As Rust-Written WireGuard User-Space Implementation. phoronix.com. [29 March 2019]. 
  25. ^ Johansson, Janne. WireGuard imported into OpenBSD. 2020-06-21. 
  26. ^ wg(4) - NetBSD Manual Pages. 2020-08-20. 
  27. ^ 27.0 27.1 Import kernel WireGuard support. 
  28. ^ WireGuardNT, a high-performance WireGuard implementation for the Windows kernel. 2021-08-02. 
  29. ^ WireGuard: VPN has never been so easy. 
  30. ^ Index of /Monolithic-historical/. 
  31. ^ Mason, John. Mullvad Review. thebestwpn. 13 February 2019 [8 April 2019]. 2. Strong Tunneling Protocols – OpenVPN & WireGuard. (原始げんし内容ないようそん于24 June 2019).  やめゆるがせりゃく未知みちさんすう|df= (帮助)
  32. ^ Mason, John. AzireVPN Review. thebestvpn. 19 February 2019 [8 April 2019]. 2. Impressive Protocols and Encryption. (原始げんし内容ないようそん于8 May 2019).  やめゆるがせりゃく未知みちさんすう|df= (帮助)
  33. ^ Pestell, Nick. Introducing Wireguard. 11 December 2018 [2019-09-22]. 
  34. ^ WireGuard support added!. cryptostorm blog. 5 April 2019 [9 December 2019]. (原始げんし内容ないようそん于9 December 2019). 
  35. ^ e7096c131e5161fa3b8e52a650d7719d2857adfd - pub/scm/linux/kernel/git/davem/net-next - Git at Google. kernel.googlesource.com. 
  36. ^ LKML: David Miller: Re: [PATCH net-next v2] net: WireGuard secure network tunnel. lkml.org. 
  37. ^ [ANNOUNCE] WireGuard merged to net-next, on its way to Linux 5.6. 9 January 2020. (原始げんし内容ないようそん档于9 January 2020). 
  38. ^ Torvalds, Linus. index : kernel/git/torvalds/linux.git. Linux kernel source tree. Kernel.org. [2 February 2020]. 
  39. ^ drivers/net: Enable WIREGUARD as module. 21 March 2020. 
  40. ^ ANDROID: GKI: enable CONFIG_WIREGUARD. 
  41. ^ merge branch 'bg/wireguard' (d321d0df) · Commits · GNOME / network-manager-applet. gitlab.gnome.org. 22 April 2020 [30 May 2020] えい语). 
  42. ^ WireGuard for OpenBSD Kernel Patches Posted. 12 May 2020. 
  43. ^ add wg(4), an in kernel driver for WireGuard vpn communication. 
  44. ^ [ANNOUNCE] WireGuard for Windows 0.3: ARM support, enterprise features, & more. 23 November 2020. 
  45. ^ WireGuard for pfSense Software. 
  46. ^ 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]. 
  47. ^ Thompson, Jim. WireGuard Removed from pfSense® CE and pfSense® Plus Software. Netgate blog. Rubicon Communications. 2021-03-18 [2021-03-20] えい语). 
  48. ^ Long, Scott. pfSense: WireGuard returns as an Experimental Package. Netgate - Secure networks start here. 2021-05-05 [2021-06-09] えい语). 
  49. ^ Paxson, Audian. WireGuard for pfSense Software. Netgate - Secure networks start here. 2021-01-19 [2021-06-09] えい语). 
  50. ^ wireguard-freebsd - WireGuard implementation for the FreeBSD kernel. git.zx2c4.com. [2021-06-09]. 
  51. ^ Pingle, Jim. pfSense Plus 21.05-RELEASE Now Available. Netgate - Secure networks start here. 2021-06-02 [2021-06-09] えい语). 
  52. ^ WireGuard. Sovereign Tech Fund. [2024-05-26] えい语). 

外部がいぶ链接

[编辑]