Depends on your modem, go to portforward.com
If anyone is interested, I got this working on my computer, and I made a little package with everything I needed, using the dnsserver.py that Vlad posted and the vB script for distribution (since it's threaded).
For some reason it does require having Apache installed, and it required me to enable python for it as well (in hindsight PHP wasn't needed since I couldn't even get it to work properly with it, it wouldn't hand out pokemon, it would just do nothing )
I'm gonna try the new one Vlad posted now, seems cool.
I'm also checking out that Pokemon Fan Event site, looks good.
I've been hanging around Trickroom recently (they do a similar thing).
I've been wondering how hard it would be to get one DNS server and just have it randomly dish out to the other 3~4, so that the load isn't as bad on one, and you don't get lots of errors. It seems this will be very simple to do by editing the dnsserver.py, making it an array and serving different IPs (randomly selected) to different people.