This is a simple article to setup a DNS Server in Ubuntu. Please follow the steps to make this. Setting up DNS Server is used to serve the new domain names using your IP. This is kind of providing webhosting.
Step1: We need to install bind 9 for this
sudo apt-get install bind9
Step 2: Configure the main Bind files. Usually, if you install Bind from the source code, you will have to edit the file named.conf. However, Ubuntu provides you with a pre-configured Bind, so we will edit another file:
sudo vi /etc/bind/named.conf.local
This is where we will insert our zones. By the way, a zone is a domain name that is referenced in the DNS server
Insert this in the named.conf.local file:
# This is the zone definition. replace example.com with your domain name
zone “example.com” {
type master;
file “/etc/bind/zones/example.com.db”;
};
# This is the zone definition for reverse DNS. replace 1.168.192 with your network address in reverse notation – e.g my network address is 192.168.1
zone “0.168.192.in-addr.arpa” {
type master;
file “/etc/bind/zones/rev.0.168.192.in-addr.arpa”;
};
Ok, now, let’s edit the options file:
sudo vi /etc/bind/named.conf.options
We need to modify the forwarder. This is the DNS server to which your own DNS will forward the requests
forwarders {
# Replace the address below with the address of your provider’s DNS server
100.100.100.100;
};
Now, let’s add the zone definition files (replace example.com with your domain name:
sudo mkdir /etc/bind/zones
sudo vi /etc/bind/zones/example.com.db
The zone definition file is where we will put all the addresses / machine names that our DNS server will know. You can take the following example for your keen understanding
// replace example.com with your domain name. do not forget the . after the domain name!
// Also, replace ns1 with the name of your DNS server
example.com. IN SOA ns1.example.com. admin.example.com. (
// Do not modify the following lines!
2006081401
28800
3600
604800
38400
)
// Replace the following line as necessary:
// ns1 = DNS Server name
// mta = mail server name
// example.com = domain name
example.com. IN NS ns1.example.com.
example.com. IN MX 10 mta.example.com.
// Replace the IP address with the right IP addresses.
www IN A 192.168.0.2
mta IN A 192.168.0.3
ns1 IN A 192.168.0.1
Now, let’s create the reverse DNS zone file:
sudo vi /etc/bind/zones/rev.0.168.192.in-addr.arpa
Copy and paste the following text, modify as needed:
//replace example.com with yoour domain name, ns1 with your DNS server name.
// The number before IN PTR example.com is the machine address of the DNS server. in my case, it’s 1, as my IP address is 192.168.0.1.
@ IN SOA ns1.example.com. admin.example.com. (
2006081401;
28800;
604800;
604800;
86400
)
IN NS ns1.example.com.
1 IN PTR example.com
Ok, now you just need to restart bind:
sudo /etc/init.d/bind9 restart
Now lets test our DNS Server
Step 4:
Modify the file resolv.conf with the following settings:
sudo vi /etc/resolv.conf
enter the following:
// replace example.com with your domain name, and 192.168.0.1 with the address of your new DNS server.
search example.com
nameserver 192.168.0.1
Now, test your DNS:
dig example.com
Look at the result…. Enjoy!
If you have any problems just post it in comments
Related posts:


Great info. I think the main problem for most people is budgeting. It’s always about what you can afford.
Thanks for the info!
Thanks for the info!
Awesome post!
I want to say – thank you for this!
all good things
fantastic site
I’m happy I wandered here through my friend’s blog, I’m gonna need to add another one to the list
Thanks for good post
Thank you for the guide… I will be using this on Ubuntu 10.10!