try port forwarding, halo uses these ports:
80 (TCP) - Halo looks to see if there is a Halo update available. If there is an update, Halo downloads the update through this port.
2302 (UDP) - the game host listens on this port.
2303 (UDP) - the game client connects to the game host through this port.