I'm looking for a way to change my public IP address. You know, the one that other websites see.

I know what I'm looking for is basically a proxy server, but I don't want to use a proxy for 2 reasons:

1) It slows me down. 2) See reason #1.

I'm using Ubuntu 9.10, I'm connecting to a public WiFi network (the ISP is Time Warner Cable). I'm getting my IP through DHCP.

Thanks for any help!

  • @Bob, I used to have residential Time Warner Cable. Whenever I changed the MAC of my router, the cable modem assigned me a new external IP address. See if changing the MAC address on your wireless card will do the same. Note that I had to disconnect, change MAC, reconnect; changing it on-the-fly didn't work.
    – hyperslug
    Jan 8, 2010 at 9:28
  • @hyperslug: I've tried using macchanger which I installed on Ubuntu. I have successfully faked my MAC however I didn't get a new IP
    – Bob Dylan
    Jan 8, 2010 at 9:39
  • Why do you want to change it? There aren't really many legitimate reasons to want to change it.
    – davr
    Jan 11, 2010 at 1:23
  • @Bob, perhaps the cable modem or router assigns everyone the same external IP. Your IP may not be dynamic, but at least it's ambiguous.
    – hyperslug
    Jan 12, 2010 at 2:35
  • 2
    Bounty removed. Unless the ISP assigns an external IP to you there is no other way of getting or changing an external IP as already defined in the answer, adding a bounty will make no difference to the answers or the results. Jan 12, 2010 at 12:07

8 Answers 8


The external IP address normally changes when the modem/router is rebooted. As you're on a public wifi network, you have no control over this.

  • 2
    +1, if it isn't your network - you can't change settings... if people could change public IP of any wireless network, there will be big problems! Jan 10, 2010 at 18:46

There is no way you can control the external IP address of a public network. Hell, even on your own network, you can only reboot your router/modem, and if you've got a dynamic IP, you should get something different.

Your options are to either use a different public wifi connection; to use a proxy (you can find a few fast ones around); or, the best option, which is to use a VPN. If you get a commercial VPN package, you're going to get good speeds from it (especially if you use a nearby one, rather than another country), and this will give you the different IP address you want.

A VPN will slow you down, but not as much as most of the publicly available proxies will. You've just got to face the fact that you cannot have anonymity and top speeds at the same time. If you actually care about changing your IP, you'll be willing to take the speed hit.

Edit :

Exactly how you connect to a VPN depends on which distro you are using. Here are some instructions for Ubuntu, if you need a different distro, either google for them or adapt the ones here.

Any free VPN service you get is going to be slow, limited, and probably logged. A quick google search found that AlonWeb is somewhat recommended, and can be easily used from Linux with these instructions. As I've said before, it's not going to be as good as a paid VPN, if you can get it working at all. Do no rely on something like this.

  • Can you provide any information on how to setup a VPN (preferably a free one) on Ubuntu 9.10? If you can the bounty is yours.
    – Bob Dylan
    Jan 12, 2010 at 2:53

since you don't elaborate on your reasons, we can only guess :)

if it was just for surfing, most free proxy services offer sufficient speed. downloading files, however, is quite a different affair.

so, if your concerns involve torrent downloads, consider a seedbox (a private dedicated server used for uploading and downloading files - quite popular in the torrent scene). such services ain't free but they offer privacy and speed.

download the torrent file (which is tiny) through a free web proxy, fire up your seedbox and let it do the dirty donkey work.

10 Really Cheap Seedboxes That Anyone Can Afford


If you're using a public proxy, then your external IP is fixed by the hot-spot provider, so it's not at all under your control.

A proxy/VPN server is the only solution, where your external IP is then fixed by the provider (never by yourself). However, a good proxy/VPN service doesn't need to be slow, especially if you use a commercial solution where you pay for speed.

Some quite good and free VPN services are:

Hotspot Shield
This site provides solution for Windows and Mac. For an Ubuntu solution, some text editing is required, as described in Hotspot Shield with Ubuntu and using the Hotspot Shield for iPhone Website.

Again, the site offers clients for Windows and Mac. For an Ubuntu solution, see How to using UltraVPN service from GNU/Linux.

If these are not enough, then quite a few commercial solutions exist with guaranteed bandwidth for prices starting from as low a $5 per month.


You will need a proxy of some sort
(The Tor network is quite popular for such things;
but it is even slower than typical proxy services -- target there is complete anonymity).

TCP/IP technology does not let you govern the IP address in use.
It is entirely dependent on the source that provides you the network service.

It is only in your private network (say your home-network with multiple addressable machines) that you can choose your IP addresses. Even there, if you connect this network through some service provider to the Internet, you will need to get some additional networking tricks in place so that these machines are addressable from the Internet over the allocated 'public' IP address(s) from the provider.
By networking tricks I mean one or more of NAT, Routing, Proxy or even VPN technologies.

Update: The only way you can trick someone on the Internet to see an IP address different from the public address allocated to you by your service provider is with one of the tricks I refer in the last line above (some of which are elaborated in other answers here).


I'm getting my IP through DHCP

The IP you get through DHCP is just your internal one, normally something like 192.168.x.x, not the external one.

To change your external IP without a proxy you would have to disconnect from and reconnect to your ISP.

Your operating system itself can't change this one.

  • 2
    his external IP is ALSO configured using DHCP too. It's how he gets a new IP if he unplugs his modem.
    – Roy Rico
    Jan 8, 2010 at 8:57

With DHCP, you're not going to be able to control the IP address you're going to receive. You may be able to unplug your router/cable/dsl modems and let it sit anywhere from 2-20 minutes, then plug it back in. At which point, you may get a new IP address from your ISP, tho it may be in the same range.

That said, I have Cox High Speed, and sometimes, I get a completely different IP's when i reset my modem. Your Mileage May Vary


A Virtual Private Network ( VPN ) is good for this sort of thing.

It consists of a client (i.e. you) and a server which has been setup to act as a VPN. When you run the VPN software on your PC, it automatically routes all your Internet traffic to the VPN server. The server then acts as a gofer and fetches and sends all the requests you make whether its in Skype or your browser. The end result is all websites you visit only see the VPN servers ip address. This all happens nicely in the background untill you turn off the connection. You can use the vpn software on different internet connections as well. So if you do a lot of moving around it will connect fine.

There are two ways you can access such a service. One is to subscribe to a commercial vpn service. Once you subscribed they will tell you how to install the software on your omputer. Then all your Internet traffic will be routed through their servers. Prices range between around $10 - $30 per month depending on speed, gb per month you require etc. This is the easy way.

The other way is to rent a server yourself and configure it as a vpn server ( one great free software is called openvpn ). To tell you the truth I don't think this will work out economically for you unless you have some friends who you can share the server costs with.

Installing the stuff will usually require use of the command line and a basic knowledge of subnets, iptables and a little primer on public and private keys. If you don't know what they are or how they work I'd definatley go for the first option. If you still want to roll your own then you will find plenty of information on serverfault.com (sister site to this). I know, because i used it a lot to roll my own vpn to access the BBC whilst abroad. I was very green and it took an age.

Hope that helps

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.