http://www.halodemomods.com/wiki/Port_Forwarding
Many people have internet connections that use routers or static IP addresses. For example, most DSL, ISDN, Cable and Fiber Optic internet connections currently use routers, and you may encounter this situation with your wireless internet connection.
If you notice that players cannot connect to your hosted multiplayer game, please use the following technique to forward port numbers 2302 and 2303, which are the port numbers used by the game.
1. Revert whatever you did so that it is normal again. (In case you made some adjustments to the internet settings in an attempt to fix this without prior knowledge.)
2. Visit this url: http://192.168.1.1/ in Safari or your web browser.
3. Enter the username and password for your router (this info came with your router, unless someone changed it since then)
4. Find the "port forwarding" settings wherever they are in that control panel.
5. Host a Halo Demo multiplayer game, hold down the scoreboard key, and note the last number (the fourth number: "x.x.x.THIS_NUMBER:port") in your IP address (probably 1,2,3 or 4, depending on how many computers are using that router also)
6. Configure the settings for that particular IP address (TCP and UDP, a.k.a. "BOTH" if an option), so that you forward port numbers 2302 and 2303.
7. Quit halo demo and reopen it, then host away.
If you want to host multiple servers and you think your internet connection can handle it, you could forward port numbers 2302-2305 or higher, then duplicate your halo demo game folder and open up both copies of the game, hold down the Command (Apple) key while it opens so that you see the startup options, type in port numbers 2302 and 2303 for the first game application, and 2304 and 2305 for the second game application (and so on for additional copies), then host multiplayer games in both applications. You might want to turn down your graphics settings in some of the games unless you have a nice graphics card.