Makaretu NAT
The main purpose of this package is to allow a server behind a NAT to accept connections from the public internet. This allows any internet user to access your home server.
The basic idea is that your home NAT (router/gateway) is asked to create an IP address this is publically addressable. The NAT then forwards any messsages to the public address to your local host.
The source code is on GitHub and the package is published on NuGet.
It uses the following protocols to create a public IP address
Warning
NAT Port Mapping Protocol is not fully implemented. See issue #3.
Note
Please read the Prerequisites article, before running the software.
NAT checker
Use the natcheck tool to examine your network environment.