In order to reduce the number of wires I have to connect to my laptop I recently picked up an Airport Express. Setting it up to stream iTunes music to the stereo and print wirelessly to a USB printer were relatively painless, so I had high hopes for the device's third function - acting as a wireless internet router. However since the Airport Express only accepts ethernet network connections (the USB port is solely for printers), I needed to replace the free USB ADSL modem that comes with the BT Broadband service with a 'proper' ethernet ADSL modem. Based on nothing more than a solitary post by one guy reporting success with it in conjunction with an Airport Express (on some forgotten discussion forum otherwise I'd link it) I ordered the D-Link DSL-300T modem.
Easy setup
Once the modem arrived I simply attached it to BT's ADSL microfilter using the supplied RJ-45 cable and to the Airport Express unit using the supplied ethernet cable. The modem's lights flashed a few times and the Airport Express's light went green. Apparently the Airport Express's primary function is the internet connection, because the light will flash an angry orange forever unless the unit is connected to the internet, even if you only bought it to stream music and print wirelessly. Once it was hooked up the Airport Express Setup program launched itself and led me through the extremely simple setup process. As soon as that was done I fired up Safari and to my delight I had wireless internet access.
Teething problems
However, as is so often the case, spending a short while exploring my new capabilities quickly showed one major flaw. I could not access this website! After some research it began to make sense. What used to be 'my' IP address was now the Airport Express's IP address, while the Airport Express was using DHCP to distribute private IPs to the client computer (my mac). After doing some research an Apple KnowledgeBase article entitled AirPort 4.0 Help: Can I use a web server on my network? finally shed some light on the subject. Since I don't have a static IP the first solution was ruled out, but the article contains a reference to achieving the same result by using what Apple calls port mapping (and what the rest of the world calls port forwarding).
This should work
I then found another Apple KnowledgeBase article AirPort 4.0 Help: Assigning IP addresses to devices on your AirPort network. This seemed to address my exact problem, so I fired up the Airport Admin Utility, chose to configure the Airport Express, and clicked on the Port Mapping tab. Here I mapped public port 80 to the private IP 10.0.1.201 port 80. I then opened the System preferences Network panel where I modified the Airport connection's TCP/IP settings to 'Manual' IPv4 configuration, IP Address 10.0.1.201, subnet mask 255.255.255.0, router 10.0.1.1, and the appropriate DNS servers for my ISP. None of this is very complicated, and it SHOULD work. But it didn't. I could still access the internet, but I couldn't access this website.
The clouds part?
After more research, and browsing through assorted forums, I finally discovered this post in the MacOSXHints forums. This looked like a working solution! Not only did the poster have the exact same modem as me, he was trying to do the same thing!
Maybe not
However, there's still something wrong. It took me a few minutes to figure where in the modem's web-based configuration controls I could set the modem to act as a bridge, but once I had it set I set the Airport Express to log in using PPPoE. Apparently if I can get the Airport Express to login then port mapping will work. However when I fire it all up I get an endless 'Looking for PPPoE hosts' message scrolling in the menubar! Annoying.
Temporary solution
While I think about it (never admit defeat!) I've switched to using the 'Enable Default Host' option in the Base Station Options (located under the Airport tab in the configuration page of Airport Admin Utility). By setting the empty field to 201 (so the IP address is 10.0.1.201) you are limited to only having one Mac accessible from the internet, but that's what I had with the old non-wireless connection anyway. It simply would have been nice to get the port mapping to work in the event of any further computers being added to the network.
http://thoughton.co.uk/cgi-bin/mt-tb-dlosx.cgi/5