I have a very peculiar network setup at my home.  

I have my router plugged into my cable modem downstairs in my basement, where it is hooked up to my PC.  Our notebooks and my Mac Mini connect to the network using WiFi.  I use Internet Network Sharing on my Mac Mini to forward my WiFi network to its ethernet interface which is then routed to a switch to which my devices in the living room connect (e.g. my Xbox).  

The problem is that for Xbox and similar devices to work flawlessly they need to be able to accept connections from the internet (my particular problem was with Xbox Live).  A simple resolution to this problem is NAT.  However,  Mac OS X Network and Security configuration doesn’t allow us to configure any NAT options at all.  So you have to go low level with Terminal and tweak the BSD guts of Mac.  

To solve this problem we’ll use natd to configure our port forwarding.  I will use my Xbox example here.  Xbox Live service requires ports 88 and 3074 on UDP and 3074 on TCP to be open.  I first configured my router to forward these ports to my Mac.  On my Mac Mini’s Terminal, I then killed any running instances of natd (Network Sharing does instantiate an instance for its purposes).

$ sudo killall natd

I then issued a command to setup port forwarding:

$ sudo natd -interface en1 \
     -redirect_port tcp 192.168.2.2:3074 3074  \
     -redirect_port udp 192.168.2.2:88 88 \
     -redirect_port udp 192.168.2.2:3074 3074

Here en1 is the WiFi interface on the Mac Mini.  192.168.2.2 is my Xbox’s IP address.

Once you issue this command, go to your Xbox system settings and test your Xbox Live connection. You should not get any warnings about your NAT configuration.

HTH

/