If you are working via a VM environment you may no doubt have came across the issue of changing IP address. It really messes up your workflow since now all the saved bookmarks, host files and other associations need to be changed to the new IP address. The solution is to disable DHCP and enable a static IP address. But in such a way which still gives you access to the outside world (your machine) and the world outside that (the internet) so you can run updates and drag code from your repositories.
Here’s a bunch of steps, copy and paste style, which you can run in Ubuntu shell to make this happen.
Do this in your Ubuntu Shell
1. Get your current address, net mask and broadcast.
ifconfig
Under “eth0” (see below) write the numbers down. We will use them to lock in your static ip address.
eth0 Link encap:Ethernet HWaddr 00:0c:29:fe:45:3a inet addr:172.16.77.133 Bcast:172.16.77.255 Mask:255.255.255.0
2. Get your gateway and network.
route -n
Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 172.16.77.2 0.0.0.0 UG 100 0 0 eth0 172.16.77.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
UG = U is for route is up and G for gateway. The other IP address is your network IP.
3. Change your IP address.
3.1 Open interfaces in nano
sudo nano /etc/network/interfaces
3.2 You will see something like this:
# The primary network interface
auto eth0
iface eth0 inet dhcp
3.3 Replace it with:
auto eth0 iface eth0 inet static address 172.16.77.133 netmask 255.255.255.0 network 172.16.77.0 broadcast 172.16.77.255 gateway 172.16.77.2
Note: These number are based on my VM and only serve here as an illustration.
4. Make sure your name server ip address is your gateway ip address.
sudo nano /etc/resolv.conf
5. Remove the dhcp client so it can no longer assign dynamic ip addresses.
sudo apt-get remove dhcp-client
6. Restart networking components.
sudo /etc/init.d/networking restart
7. Confirm you can access the outside world.
ping www.theroadtosiliconvalley.com
Note: ctrl+c to break out of the ping.
8. Enjoy!
And that is it. Simple but an effective measure to productivity.
~ Ernest