Hole-Punching

A technique for getting network traffic through NAT routers.

It would be really useful - and fairly easy, i think - if someone implemented a tool which holepunched through any NATs in the area to a peer somewhere else (behind some other NATs) and then set up a VPN over the hole. Provided the addresses on each end of the link didn't conflict (which would require some control over the DHCP at either end), you could essentially establish a little mini-internet between two disconnected NATted networks, which would be cool. In fact, all you'd need to do is holepunch a TCP connection, then you could run PPP over that to do the IP bit - a bit like a PPP-SSH VPN. In fact, you could probably even run SSH or SSL over the hole to get some security. I bet someone's already done this.

A technically better solution would be to do UDP holepunching, as layering IP over TCP leads to head-of-line blocking and other silliness.

VTun is part of the solution.

Thinking about the protocol stack here:

Hee!