4 ms·
In the mid 90s I was trying to figure out how I could play quake on my local lan as well as with friends on the (young at the time) internet. The only thing ou
by claytongulick 4y ago
In the mid 90s I was trying to figure out how I could play quake on my local lan as well as with friends on the (young at the time) internet.
The only thing out there that would support it was this software called WinGate that did a thing called socks proxy.
The problem was that WinGate cost over two hundred dollars, which I couldn't afford and I refused to pirate it.
I was reading a book about the internals of the IP protocol and I had an idea...
What if I took the traffic that was addressed to an external IP address and assigned it to a high port number, specific to each computer. When I got network packets back on that high number port, I could rewrite the IP packet to deliver it to the originating computer.
I coded up a minimal little working example in C.
What I didn't realize at the time was that I'd basically (re) invented NAT.
I never ended up developing into a robust solution because it was around then that the Linux kernel added "ip masquerading" with a custom kernel compilation flag, which did the same thing but better.
Still, was a cool hack.