Ok lets move towards INSTALLATION procedure...
At a terminal prompt, enter the following command to install dns:
sudo apt-get install bind9A very useful package for testing and troubleshooting DNS issues is the dnsutils package. To install dnsutils enter the following:sudo apt-get install dnsutils Now its time to configure your own DNS...
The default configuration is setup to act as a caching server. All that is required is simply adding the IP Addresses of your ISP's DNS servers. Simply uncomment and edit the following in
/etc/bind/named.conf.options: forwarders {
4.2.2.2;
5.6.7.8;
};
(Replace 4.2.2.2 and 5.6.7.8 with the IP Adresses of actual nameservers.) |
sudo /etc/init.d/bind9 restart
For the newbies.. there are 3 types of DNS servers : Cache server, Primary Master & Secondary Master.
Primary Master
Forward Zone File
/etc/bind/named.conf.local:zone "example.com" {
type master;
file "/etc/bind/db.example.com";
};Now use an existing zone file as a template to create the /etc/bind/db.example.com file:sudo cp /etc/bind/db.local /etc/bind/db.example.comEdit the new zone file /etc/bind/db.example.com change localhost. to the FQDN of your server, leaving the additional "." at the end. Change 127.0.0.1 to the nameserver's IP Address and root.localhost to a valid email address, but with a "." instead of the usual "@" symbol, again leaving the "." at the end. Also, create an A record for ns.example.com. The name server in this example:
;
; BIND data file for local loopback interface
;
$TTL 604800
@ IN SOA ns.example.com. root.example.com. (
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS ns.example.com.
@ IN A 127.0.0.1
@ IN AAAA ::1
ns IN A 192.168.1.10You must increment the Serial Number every time you make changes to the zone file. If you make multiple changes before restarting BIND9, simply increment the Serial once.
sudo /etc/init.d/bind9 restartReverse Zone File
Edit /etc/bind/named.conf.local and add the following:
zone "1.168.192.in-addr.arpa" {
type master;
notify no;
file "/etc/bind/db.192";
};/etc/bind/db.192 appropriately.)Now create the
/etc/bind/db.192 file: sudo cp /etc/bind/db.127 /etc/bind/db.192Next edit
/etc/bind/db.192 changing the basically the same options as /etc/bind/db.example.com: ;
; BIND reverse data file for local loopback interface
;
$TTL 604800
@ IN SOA ns.example.com. root.example.com. (
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS ns.
10 IN PTR ns.example.com.The Serial Number in the Reverse zone needs to be incremented on each changes as well. For each A record you configure in /etc/bind/db.example.com you need to create a PTR record in /etc/bind/db.192. After creating the reverse zone file restart BIND9:
sudo /etc/init.d/bind9 restartSecondary Master
First, on the Primary Master server, the zone transfer needs to be allowed. Add the allow-transfer option to the example Forward and Reverse zone definitions in
/etc/bind/named.conf.local: zone "example.com" {
type master;
file "/etc/bind/db.example.com";
allow-transfer {
192.168.1.11;
};
};
zone "1.168.192.in-addr.arpa" {
type master;
notify no;
file "/etc/bind/db.192";
allow-transfer {
192.168.1.11;
};
};
Next, on the Secondary Master, install the bind9 package the same way as on the Primary. Then edit the
/etc/bind/named.conf.local and add the following declarations for the Forward and Reverse zones: zone "example.com" {
type slave;
file "/var/cache/bind/db.example.com";
masters {
192.168.1.10;
};
};
zone "1.168.192.in-addr.arpa" {
type slave;
file "/var/cache/bind/db.192";
masters {
192.168.1.10;
};
};
Restart BIND9 on the Secondary Master:
sudo /etc/init.d/bind9 restart
OPTIONAL :
Logging
BIND9 has a wide variety of logging configuration options available. There are two main options. The channel option configures where logs go, and the category option determines what information to log.If no logging option is configured the default option is:
logging {
category default { default_syslog;
default_debug;
};
category unmatched { null;
}; };
This section covers configuring BIND9 to send debug messages related to DNS queries to a separate file.
- First, we need to configure a channel to specify which file to send the messages to. Edit
/etc/bind/named.conf.localand add the following:
logging { channel query.log { file "/var/log/query.log"; severity debug 3; }; }; - Next, configure a category to send all DNS queries to the query file:
logging { channel query.log { file "/var/log/query.log"; severity debug 3; }; category queries { query.log; }; };
- Since the named daemon runs as the bind user the
/var/log/query.logfile must be created and the ownership changed:
sudo touch /var/log/query.log sudo chown bind /var/log/query.log
- Before named daemon can write to the new log file the AppArmor profile must be updated. First, edit
/etc/apparmor.d/usr.sbin.namedand add:
/var/log/query.log w,
Next, reload the profile:
cat /etc/apparmor.d/usr.sbin.named | sudo apparmor_parser -r
- Now restart BIND9 for the changes to take effect:
sudo /etc/init.d/bind9 restart
/var/log/query.log fill with query information. This is a simple example of the BIND9 logging options.


DNS is an internet service which converts our website address into numeric ip address. Register a Domain
ReplyDeleteWebsite Domain Name