Operational Status: [Status]
sslip.io is a DNS (Domain Name System) service that, when queried with a hostname with an embedded IP address, returns that IP Address. It was inspired by xip.io, which was created by Sam Stephenson.
Here are some examples:
Hostname / URL | IP Address | Notes |
---|---|---|
192.168.0.1.sslip.io | 192.168.0.1 | dot separators |
https://52-0-56-137.sslip.io | 52.0.56.137 | dash separators, sslip.io website mirror (IPv4) |
www.192.168.0.1.sslip.io | 192.168.0.1 | subdomain |
www.192-168-0-1.sslip.io | 192.168.0.1 | subdomain + dashes |
https://www-78-46-204-247.sslip.io | 78.46.204.247 | embedded, sslip.io website mirror (IPv4) |
–1.sslip.io | ::1 | IPv6 — always use dashes |
https://2a01-4f8-c17-b8f--2.sslip.io | 2a01:4f8:c17:b8f::2 | sslip.io website mirror (IPv6) |
sslip.io can be used to brand your own site (you don’t need to use the sslip.io domain). For example, say you own the domain “example.com”, and you want your subdomain, “xip.example.com” to have xip.io-style features. To accomplish this, set the following three DNS servers as NS records for the subdomain “xip.example.com”
hostname | IP address | Location |
---|---|---|
ns-aws.nono.io. |
52.0.56.137 | USA |
ns-gce.nono.io. |
104.155.144.4 | USA |
ns-azure.nono.io. |
52.187.42.158 | Singapore |
Let’s test it from the command line using dig
:
dig +short 169-254-169-254.xip.example.com @ns-gce.nono.io.
Yields, hopefully: [connection timed out]
169.254.169.254
If you want to run your own DNS server, it's simple: you can compile from source or you can use one of our pre-built binaries. In the following example, we install & run our server within a docker container:
docker run -it --rm fedora curl -L https://github.com/cunnie/sslip.io/releases/download/1.3.1/sslip.io-dns-server-linux-amd64 -o dns-server chmod +x dns-server ./dns-server 2> dns-server.log & dnf install -y bind-utils dig +short 127-0-0-1.sslip.io @localhost # returns "127.0.0.1"
If you have a wildcard certificate for your sslip.io-style subdomain, you may install it on your machines for TLS-verified connections.
When using a TLS wildcard certificate in conjunction with your branded sslip.io style subdomain, you must use dashes not dots as separators. For example, if you have the TLS certificate for *.xip.example.com, you could browse to https://52-0-56-137.xip.example.com/ but not https://52.0.56.137.xip.example.com/.
For a real-world example of a TLS wildcard cert and sslip.io domain, browse https://52-0-56-137.sslip.io.
VMware employees can download the *.sslip.io TLS private key here.
[Status] A status of “build failing” rarely means the system is failing. It’s more often an indication that when the servers were last checked (currently every six hours), the CI (continuous integration) server had difficulty reaching one of the three sslip.io nameservers. That’s normal. [connection timed out]
DNS runs over UDP which has no guaranteed delivery, and it’s not uncommon for the packets to get lost in transmission. DNS clients are programmed to seamlessly query a different server when that happens. That’s why DNS, by fiat, requires at least two nameservers (for redundancy). From IETF (Internet Engineering Task Force) RFC (Request for Comment) 1034:
A given zone will be available from several name servers to insure its availability in spite of host or communication link failure. By administrative fiat, we require every zone to be available on at least two servers, and many zones have more redundancy than that.