
Yesterday I learned that Windows XP’s Internet Connection Sharing (ICS) allows you to do port forwarding, for example taking requests to port 80 from the internets and forwarding them to a machine behind the firewall. (Don’t ask why I’m using ICS. It’s not by choice, believe me.)
I set this up and tried hitting my external IP address, but kept getting a “connection refused” error. I checked and double-checked all of the various settings, and searched fruitlessly for help - I found plenty of other people experiencing the same problem, and I finally came across the crucial bit of knowledge: ICS port forwarding doesn’t work for requests originating on your LAN! I had to SSH to an external host and then hit my public IP with a curl request to verify that port forwarding was working.