This project provides a stable and high performance GRE tunnel for Windows using WinTun driver.
It does not support advanced features of GRE such as Sequences or Keys.
- Packet sent from an IP that isn't the GRE Server will be dropped.
- GRE packets with non-IPv4 packets will be dropped.
- Logs are written next to the client in the gre.log file.
- To prevent crashs, only the following protocols are whitelisted: TCP, UDP and ICMP (gre.cpp:58)
GRETunnel.exe [My public IP] [GRE Server] [Our IP on the tunnel] [GRE Server IP on the tunnel] (CIDR: Optional, Default: 30) (Adapter name: Optional)
GRETunnel.exe reset
- Windows Server 2019 (Build 17763)
- Xeon E-2288G
- 10G/up 1G/down (OVH)
- Bare Metal
- WinTun 0.13
- The GRE server was running Linux on the same hardware/network.
- WireGuard-NT (16 Sept.)
Download/Upload:
- Saturating Upload & Download speeds in both cases (no differences here)
Packets per seconds on small packets (1-5 Bytes):
- WireGuard: 330kpps | ~60mbps
- GRE : 787kpps | ~120mbps
CPU:
- WireGuard will perform much better than the GRE Tunnel thanks to their kernel driver.
The GRE implementations is much lighter on the server thanks to the lack of encryption and will be much faster on small packets. However, Wireguard still performs better in terms of CPU management on the client and seems to get a better download/upload speed using large packets (The hardware couldn't test over 1Gb/s).
- Gizmo
- Zx2c4 for support about WinTun behavior on malformed packets
- WireGuard for WinTun on Windows
- EasyLogging++