description | none |
repository URL | https://github.com/rofl0r/nat-tunnel.git |
owner | retnyg@gmx.net |
last change | Wed, 10 Nov 2021 18:18:56 +0000 (10 18:18 +0000) |
last refresh | Thu, 21 Nov 2024 08:20:37 +0000 (21 09:20 +0100) |
mirror URL | git://repo.or.cz/rofl0r-nat-tunnel.git |
https://repo.or.cz/rofl0r-nat-tunnel.git | |
ssh://git@repo.or.cz/rofl0r-nat-tunnel.git | |
bundle info | rofl0r-nat-tunnel.git downloadable bundles |
content tags |
If you have access to a server with public IP and unfiltered ports you can run NAT Tunnel (NT) server on the server, and NT client on your box behind NAT. the server requires 2 open ports: one for communication with the NT client (--admin), the other for regular clients to connect to (--public: this is the port you want your users to use).
The NT client opens a connection to the server's admin ip/port. As soon as the server receives a new connection, it signals the NT client, which then creates a new tunnel connection to the server, which is then connected to the desired service on the NT client's side (--local)
The connection between NT Client and NT Server on the admin interface is protected by a shared secret against unauthorized use. An adversary who can intercept packets could crack the secret if it's of insufficient complexity. At least 10 random characters and numbers are recommended.
Example: You have a HTTP server listening on your local machine on port 80. You want to make it available on your cloud server/VPS/etc's public IP on port 7000. We use port 8000 on the cloud server for the control channel.
Server:
natsrv.py --mode server --secret s3cretP4ss --public 0.0.0.0:7000 --admin 0.0.0.0:8000
Client:
natsrv.py --mode client --secret s3cretP4ss --local localhost:80 --admin example.com:8000
2021-11-10 | rofl0r | fix compat with py3master | commitcommitdifftreesnapshot (tar.gz zip) |
2020-03-16 | rofl0r | rocksock: fix py3 compat again (xrange) | commitcommitdifftreesnapshot (tar.gz zip) |
2019-05-25 | rofl0r | rocksock: bump to latest | commitcommitdifftreesnapshot (tar.gz zip) |
2019-05-25 | rofl0r | rocksock: fix compat with py3 | commitcommitdifftreesnapshot (tar.gz zip) |
2019-05-25 | rofl0r | natsrv: fix compat with py3 | commitcommitdifftreesnapshot (tar.gz zip) |
2018-09-23 | rofl0r | catch broken pipes | commitcommitdifftreesnapshot (tar.gz zip) |
2018-09-23 | rofl0r | v1 | commitcommitdifftreesnapshot (tar.gz zip) |
2018-09-23 | rofl0r | license: GPL v2 | commitcommitdifftreesnapshot (tar.gz zip) |
2018-09-23 | rofl0r | initial commit | commitcommitdifftreesnapshot (tar.gz zip) |
3 years ago | master | logtree |