How to Set a Static IP and DNS in Ubuntu 14.04 or Later

How To Set A Static IP And DNS In Ubuntu 14.04 or Later

This article details how to set a static IP and DNS in Ubuntu: version 14.04 and later no longer allow direct editing of /etc/resolv.conf directly.

Using something like “echo nameserver 8.8.8.8 >> resolv.conf” will work temporarily but will be overwritten as soon as the  machine is rebooted or the networking service restarted.

You must now modify /etc/resolvconf/resolv.conf.d/head or /etc/resolvconf/resolv.conf.d/tail.

/etc/resolv.conf is written from:

  1. /etc/resolvconf/resolv.conf.d/head
  2. DNS set on interfaces
  3. /etc/resolvconf/resolv.conf.d/base
  4. /etc/resolvconf/resolv.conf.d/tail

While any and all of these work, it is much simpler to set this in the interface config aong with a static IP:

Edit /etc/network/interfaces and change the following:

Notes:

  • Your network card may be referred to as eth0, eth1, ens32 etc.
  • Change your dns-nameservers to whatever you want them to be – the above ones are google’s own.
  • The IP addressing must also be tailored to whatever your home router is configured with.
  • Leaving the dns-nameservers directive out will result in the DNS servers from your ISP or home router being used instead.
auto eth0
iface eth0 inet dhcp

to:

auto eth0 
  iface eth0 inet static
  address 192.168.0.50
  netmask 255.255.255.0
  gateway 192.168.0.1
  network 192.168.0.0
  broadcast 192.168.0.255
  dns-nameservers 8.8.8.8 8.8.4.4

Finally, restart your ethernet:

$ sudo service networking restart
$ sudo ifdown eth0
$ sudo ifup eth0

Hosting: Digital Ocean – $5 / Month VPS – $10 Free Credit!

VPS Hosting $5 per Month @ DigitalOcean – $10 Free Credit!

Get your own private VPS hosting for $5 a month including 2 months free service with our signup code below!

Having been with DigitalOcean since the beginning of 2014, we can safely say that the service is great. Hands down the best we’ve had and very reliable to boot with 100% uptime so far.

It’s also cheap to get started – $5 a month buys you a Virtual Private Server (VPS) with 512MB of RAM and a whopping 1TB of transfer. Whilst 512MB RAM may seem skimpy, the 20GB, blisteringly fast SSD drive more than makes up for it – using Apache, 4 medium traffic web sites are running fine.

If you use the following promo code when signing up – 10TOSHIP – you get $10 credit which is enough for 2 months service!

You can of course upgrade to the next level for the price of a beer – from the website:

pricing structure

 

They have a simple, intuitive GUI allowing you to pick what you need in terms of images:

Web UI

Or applications: 

Available Applications

And an easy way to control your VM or “Droplet” as they are referred to:

droplet management

If you sign up with the promo code at the beginning of the post then we get a humble referral fee and you get $10 on top of your $5 deposit which will keep you up and running for a total of 3 months!

Less than the price of a sandwich on the train – go on, you know you want to!

 

Linux: PrivateInternetAccess Using OpenVPN and Squid Proxy – Part 4

This entry is part 4 of 4 in the series PrivateInternetAccess Using Squid Proxy and OpenVPN

PrivateInternetAccess Using OpenVPN and Squid Proxy – OpenVPN Configuration

This article in the series deals with getting the OpenVPN service up and running with PrivateInternetAccess and how to configure our routes to allow us to selectively channel our traffic through it.

As we already installed OpenVPN previously, we can jump straight in: we will need to download the PrivateInternetAccess-specific config files and then set up the software to use these; we’ll also set up a username / password file for the service to use so that we don’t have to enter them every time we want to connect.

1. Download the PrivateInternetAccess VPN config files from the website

The files can be found at the following link, all zipped up and ready to download: https://www.privateinternetaccess.com/openvpn/openvpn.zip

Fetch these into the /etc/openvpn directory using wget:

ScreenClip

Unzip the files using the “unzip” command:

ScreenClip

Tip: if the unzip command is not found, you may need to install it using: “apt-get install unzip"

 2. Select the Config File You Wish to Use

The OpenVPN service looks for a file called “server.conf” in the /etc/openvpn directory; the config files above are completed config files so we can either:

a) Rename one of them to server.conf OR much preferably

b) Create a shortcut called server.conf and link it to whichever config file we want to use. This is much better as the name of the config file relates to where your VPN traffic is going to “break out”: i.e. if you link server.conf to “UK London.ovpn” then your traffic will appear with a London IP address. If, however, you want to use something like Hulu which is only available in the US then you would like server.conf to e.g. “US West.ovpn.”

This is very simply done by using the “ln” command as follows:

ln -s <file-to-link-to> <name-of-your-shortcut>

 If we wanted to break out in US West then we would use the following command:

ln -s “/etc/openvpn/US West.ovpn” /etc/openvpn/server.conf

which would create a shortcut called server.conf in the /etc/openvpn directory pointing to the “/etc/openvpn/US West.ovpn” configuration file.

ScreenClip

3. Configure the Username / Password File

The configuration above as it is will work but you will be prompted every time you want to connect for a username and password. To get around this for convenience (and also if you want your VPN to connect automatically) then we need to do the following:

a) Create a simple file with two lines – the first line should contain the username, the second the password. In this example, we echo the username and password into a file called “.pia” in the /root directory:

ScreenClip

Note the first command has one angle bracket “>” and the second one has two “>>” – the first one creates the empty file or blanks it if it already exists and copies the text into it. The second one appends the text to it. Use the “cat” command to view the contents of the file as shown above.

For security, set the permissions on the /root/.pia file to 400 – this means that only root can access it and it will be read-only :

chmod 400 /root/.pia

b) Change the configuration files to use the password file we just created: to do this we need to open each configuration file we want to use, locate the line reading:

auth-user-pass

and change it to:

auth-user-pass /root/.pia

and then save the file. We’re nearly ready to go but first:

4. Configure Static Routes Back to Your Internal Networks!!!

This is only applicable if your proxy is in a different subnet than the one your client is in. In our example, we are connecting from our LAN (172.16.16.0/24) to the proxy in our DMZ (192.168.101.0/24). Once the VPN comes up on our proxy machine, it will become the default gateway meaning that suddenly you won’t be able to access it over the network!

To bypass this, we need to add static routes back to our internal networks, so going with our example network diagram we would need to add a route to 172.16.16.0/24 via 192.168.101.1:

route add -net 172.16.16.0 netmask 255.255.255.0 gateway 192.168.101.1

Now that our communication channels are sorted, let’s get going!

5. Restart the OpenVPN Service

Using the “service openvpn restart” command, you should see the following – we’re sorted!

ScreenClip

Check your routing table with “route -n”:

ScreenClip

  • The first entry in red shows our default VPN gateway – going out of “tun0” – our virtual VPN network interface.
  • The second entry is our standard default gateway for our local subnet.
  • The third is the static route we entered to allow the proxy in the DMZ to talk back to our client’s network.

If you do a traceroute, you’ll see that the first hop is going through the VPN instead of your standard gateway:

ScreenClip

6. Configure Your Browser / Torrent Application to Use the Proxy

You will need to configure your browser or other application to use the proxy – there are many tutorials out there already so a swift google for your particular browser will have you on your way quickly. You simply need to set the parameters to use the IP of the proxy and port 3128!

Please comment below if you run into any problems and we’ll do all we can to help!