Tethering the iPhone in Linux
Since I want to be able to use my Linux laptop on the go without paying for a “tethering plan” or paying for a separate plan, I decided to try tethering my iPhone. Doing this with network-manager is simple.
Note: If you are comfortable with using iwconfig, you can use that instead of steps 1 and 2.
- Switch your wlan card to roaming mode
- In the wifi menu on the menu bar, create a new wireless network and secure it if you wish.
- Connect the phone to the network.
- Note the phone’s IP address.
- Use ifconfig to give the computer a similar IP address
- Install and run 3Proxy on the phone (I recommend stopping 3Proxy when not in use to save battery life)
- Set Firefox to use the phone’s IP as a SOCKSv5 proxy.
- In about:config, set network.proxy.socks_remote_dns to true if you want DNS queries to go through 3Proxy
- Browse the web.
If you plan on doing this a lot, I recommend doing a few things:
- Give the phone a static IP for your ad-hoc network
- Make a separate Firefox profile for proxy use
- At the beginning of each month, reset your usage statistics. This way, you will be able to monitor your bandwidth so you don’t go over your carrier’s cap.
If things don’t work, try these steps in order:
- Try pinging the phone. If you can’t, ensure the computer has an IP address, and try ifup –force wlan0 (or whatever your wlan interface is.)
- Make sure the phone’s SOCKS server is still running. Try running it from a terminal or ssh session to check for errors
- Make sure you set the option to forward DNS queries through SOCKS.
Sometimes, it just helps to start completely over on this one if all else fails.
If I can figure out how, I might write a script or something to do this, so please check my blog again soon.
Tags: Linux iPhone tether