Intro to Nip.io (And Xip.io)

I’ve got a VM on my server whose IP address is 172.99.1.2. I can ssh using my test user, tux, by using:

ssh tux@172.99.1.2

Let’s say that I need a fully qualified domain name (FQDN) for this vm but I don’t have a private DNS server set up, I don’t have want to buy a domain name, and I don’t want to deal with editing /etc/hosts on every machine that will access it. I can use nip.io to access it.

ssh tux@172.99.1.2.nip.io

nip.io dynamically points to whatever IP address is in front of nip.io. That’s all it does. This is similar to a DNS A-Record. This is not limited to real world IP address.

ssh 127.0.0.1.nip.io

This is an example of how nip.io doesn’t care which IP address that you use. It just points to the IP address in the FQDN. What if you’re working with a complex configuration and need several subdomains to point to that server that would be similar to DNS CNAMES?

curl blog.172.99.1.2.nip.io curl backend.172.99.1.2.nip.io curl cheesemonger.172.99.1.2.nip.io

Just put the name of the subdomain in front of the ip address to create one and then let NGINX or whatever ingress you have point traffic to the correct place.

Of course, this isn’t meant to be used for a production server, but it is pretty great for development/training/testing purposes.

I also mention xip.io which was a service that did the exact same thing as nip.io but it has been offline for some time. There’s no telling if or when it will come back, but if it does then that’s another option.