Introduction

There are alternative DNS around the Internet that provide easy and safe way to obtain free domains. At least it's important if everybody can decide on his (or her) own what personal information to share with others when registering domains.

The only drawback of such services that they are not supported by IANA's root servers. On this page you can find simple instructions to have that alternative Internet namespace available on your host(s).

If you are ISP, in the same manner you can make these free 1st level domains available for your clients.

Prerequisites

I personally use BIND9 as local cached DNS. It forwards requests specific for my ISP to its DNSes and resolves other requests with root DNSes. Also I use internal hostnames for my own network devices.

So, if you use another local DNS, then this article is not applicable for you word-by-word.

If you don't use any local DNS, all you need to have OpenNIC domains available, is to use their public DNS servers (formatted for /etc/resolv.conf):

Most likely you obtain all network configuration through DHCP, in this case you can add the following lines into /etc/dhcp/dhclient.conf:

interface "eth0" {
        supersede domain-name-servers 178.63.26.173, 82.211.31.248;
}
(not exactly «eth0», of course)

BIND Configuration

Choose at least two servers from this list: OpenNIC Public Tier 2 Serves and add these zones to /etc/bind/named.conf:
zone "bbs" {
	type forward;
	forwarders { 178.63.26.174 ; 82.211.31.248 ; } ;
};

zone "dyn" {
	type forward;
	forwarders { 178.63.26.174 ; 82.211.31.248 ; } ;
};

zone "free" {
	type forward;
	forwarders { 178.63.26.174 ; 82.211.31.248 ; } ;
};

zone "fur" {
	type forward;
	forwarders { 178.63.26.174 ; 82.211.31.248 ; } ;
};

zone "geek" {
	type forward;
	forwarders { 178.63.26.174 ; 82.211.31.248 ; } ;
};

zone "opennic.glue" {
	type forward;
	forwarders { 178.63.26.174 ; 82.211.31.248 ; } ;
};

zone "gopher" {
	type forward;
	forwarders { 178.63.26.174 ; 82.211.31.248 ; } ;
};

zone "indy" {
	type forward;
	forwarders { 178.63.26.174 ; 82.211.31.248 ; } ;
};

zone "ing" {
	type forward;
	forwarders { 178.63.26.174 ; 82.211.31.248 ; } ;
};

zone "micro" {
	type forward;
	forwarders { 178.63.26.174 ; 82.211.31.248 ; } ;
};

zone "neo" {
	type forward;
	forwarders { 178.63.26.174 ; 82.211.31.248 ; } ;
};

zone "null" {
	type forward;
	forwarders { 178.63.26.174 ; 82.211.31.248 ; } ;
};

zone "oss" {
	type forward;
	forwarders { 178.63.26.174 ; 82.211.31.248 ; } ;
};

zone "parody" {
	type forward;
	forwarders { 178.63.26.174 ; 82.211.31.248 ; } ;
};

zone "pirate" {
	type forward;
	forwarders { 178.63.26.174 ; 82.211.31.248 ; } ;
};

Make sure the changes are fine:

$ named-checkconf /etc/bind/named.conf || echo WRONG

And run it:

$ rndc reconfig

Links