If your iPhone is running 3.0, it’s very easy to enable internet tethering on AT&T’s network with no ugly hacks. First you’ll need to download this carrier settings file from gizmodo.
Next, quit iTunes and enter the following command in terminal:
defaults write com.apple.iTunes carrier-testing -bool TRUE
Contrary to many articles, you don’t need to install a pre-release version of iTunes.
When you restart iTunes, connect your iPhone and you’ll be able to option-click the Restore button to choose the .ipcc file in that disk image. Rather than doing a full restore of your iPhone, it will simply update the carrier settings. If the update is successful, the Network page under general settings will show an Internet Tethering option.
Thanks to AppleNova for the terminal trick.