Raspberry Pi as a self-hosted Server

Due to its low power consumption of only 3 Watts, the Raspberry Pi provides an excellent platform for building a self-hosted home server. In order to have access to your Raspberry Pi from the intenet, some prerequisites must be met. If your home network connects through a DSL or cable modem to the internet, you probably don’t have a fixed IP address. It changes dynamically over time and therefore must be translated into a domain name, such as http://my.homeserver.com, using a DNS (Domain Name Server). Furthermore, it must be updated each time when a new internet connection is made or your external IP addres changes. In other words, your external IP address must be synchonized with your domain name. This can be achieved with a DynDNS service, such as DynDNS.org, selfhost.de, No-IP.com or freedns.afraid.org.

Before you register your home network with a DynDNS service, you should first check your external IP address. This can be done by visiting an address lookup service with your browser, such as http://ipchicken.com/. You should see your IPv4 address in the format x.x.x.x., with each “x” being an integer between 0 to 255.

ipchickenNext, visit the configuration page of your internet router (usually found at the address http://192.168.188.1/ or http://192.168.178.1/) and compare the IP address displayed for your internet connection with the external IP address as determined with the IP lookup service. If both IPs are the same you can go straight ahead to register an account with a dynamic DNS provider.

fritzbox1If the IPs do NOT match, then you’re probably behind a NAT (Network Address Translation) and you’re sharing your external IP with other clients (the IP address displayed in your router starts most likely with 100.x.x.x, if you’re behind a NAT). In this case you may or may be not able to sucessfully register with a dynamic DNS service. The IPv4 address space is exhausted since February 3, 2011. Therefore, internet providers try to circumvent this problem by sharing IPv4 addresses among their clients using NAT. Thus, DNS translation of an external IPv4 address to a specific user is not possible and you won’t be able to access your self-hosted server from the outer world.

However, you might be lucky if your provider has implemented “Dual-Stack” and supports both the old IPv4 and the IPv6 internet protocol. In this case you might be able to use your IPv6 address for DynDNS.