RouterOSv7WireGuard隧道协议

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RouterOSv7WireGuard隧道协议相关的知识,希望对你有一定的参考价值。

参考技术A RouterOS v7加入了WireGuard,WireGuard是一个极简而快速的加密VPN协议。其设计目标是比IPsec更快、更精简和高效,同时性能要比OpenVPN提升很多。WireGuard被设计成一种通用VPN,可以在多个平台上运行,适合许多不同的环境。最初是为Linux内核发布的,后支持跨平台(Windows, macOS, BSD, ios, android),能进行广泛的部署。

从官方测试性能看,WireGurad对于IPsec优势非常明显,而对于OpenVPN几乎是碾压。

在部署方面,WireGurad各个节点是Peer对等体的概念,而非是Server与Client关系,相互之间是对等的,一个节点既可以是发起者,也可以是接收者,比如网上提到VPN的拓扑方案中,可以是点对点,点对多点的中心覆盖,而WireGuard不一样了,不仅可以点对点,也可以点对多点,每个节点同时可连接多个 Peer,看到过有人通过WireGuard建立全互联模式,三层的Mesh网状网络。

WireGuard只支持UDP协议,不支持传统的TCP-over-TCP隧道,因为TCP网络性能并不理想,如果对TCP连接有需求,将wiredguard的UDP包转换为TCP,并可以使用如udptunnel和udp2raw来协助完成。

关于NAT穿透,通常情况下,WireGuard网络在未被使用的情况下,会尽量保持“安静”。在大多数情况下,它只在Peer对等体,希望发送数据包时传输数据,当它没有被要求发送数据包时,它就停止发送,直到再次被请求。在点对点公网IP连接的网络环境是这样的,然而,当一个Peer端位于NAT或防火墙之后时,即使它不发送任何数据包的情况下,也希望能接收传入的数据包。因为NAT和防火墙会跟踪“会话连接”,他必须通过定期发送数据包来维持NAT/防火墙连接会话映射的有效,即UDP的timeout时间,即被称为keepalive。WireGuard可以开启此选项,每隔一秒向对端点发送一个keepalive报文,当然适用于各种NAT/防火墙的合理间隔在25秒。默认设置keepalive是关闭状态,因为公网IP连接的用户不需要这个功能。

WireGuard加密使用ChaCha20,验证使用Poly1305,它几乎在所有通用CPU上的运行速度都非常快。虽然未被专用硬件支持(IPsec支持硬件加速),但在CPU上的矢量指令(vector instructions)与AES-NI指令处于相同的优先级(有时甚至更快)。

总结下WireGuard的特点:

是基于UDP协议连接,具备网络性能优势

运行在Linux内核,在性能上优于IPsec和OpenVPN

每个节点通过公钥识别进行验证,加密采用的是ChaCha20Poly1305。

每个节点是平等的,既可以作为server,又可以作为client

两端仅需要一个配置公网IP,另一端在nat后也能连接,nat后的节点,仅需要对端节点公钥,以及公网IP (endpoint)和端口(endpoint port),而公网节点只需要填写连接端的公钥即可

从测试结果看未使用IPsec加密的L2TP的传输带宽性能最好,超过了WireGuard,但在使用IPsec的L2TP加密后,性能远不如WireGuard,我平时喜欢使用SSTP在RouterOS设备之间建立连接,因为SSTP端口灵活,在RouterOS建立隧道无需证书,但SSTP的传输性能在RouterOS支持的所有隧道协议中性能是最差的,现在v7有了WireGuard就不一样了。

移动通信网络协议 — GTP-U 隧道协议

目录

术语

GTP-U

GTP-U(User Plane Part of GTP,GPRS 用户平面部分)是 GTP 的用户面部分,是一个的基于 IP/UDP 的隧道协议,它允许在各个 GTP-U Protocol Entity(协议实体)之间建立多个隧道。IANA(因特网编号管理局)规定 GTP-U 协议使用 UDP dstPort 2152,而 srcPort 则由 Source GTP-U Protocol Entity(发送方协议实体)动态分配。GTP-U 支持通过动态分配 Source UDP Port 来支持负载均衡。

GTP-U 将 UE 发出的原始业务数据称为 T-PDU(Transport Protocol Data Unit,传输协议数据单元),T-PDU 在 GTP-U Protocol Entity 中被封装上了 GTP-U Header 之后就称之为 G-PDU(GTP Encapsulated User Plane Data Unit,GTP 封装的用户平面数据单元)。

  • PDU(Pr

以上是关于RouterOSv7WireGuard隧道协议的主要内容,如果未能解决你的问题,请参考以下文章

移动通信网络协议 — GTP-U 隧道协议

移动通信网络协议 — GTP-U 隧道协议

安全牛学习笔记DNS协议隧道DNS协议隧道-dns2tcp

GTP (GPRS隧道协议(GPRSTunnellingProtocol))

IPSEC的一些理解

互联网协议 — L2TP 二层隧道协议