Requirements
- VPS installed with CentOS
- Registered domain name
1. Access the VPS via SSH
2. Install bind and dnsutils, which will allow us to use the dig command later on
Centos or Fedora: yum install bind dnsutils
Ubuntu ir Debian: apt-get install bind9 dnsutils
3. Create a DNS zone file for the domain that will use the name servers. If the domain is called example.com, here is a sample zone file for the domain. The zone file will be called example.com.db. Save this zone file in /var/named. I will assume your server IP is 10.10.10.10. This file will help map your domain name to the IP.
;
; BIND data file for example.com
;
$TTL 3h
@ IN SOA ns1.example.com. admin.example.com. (
1 ; Serial
3h ; Refresh after 3 hours
1h ; Retry after 1 hour
1w ; Expire after 1 week
1h ) ; Negative caching TTL of 1 day
;
@ IN NS ns1.example.com.
@ IN NS ns2.example.com.
example.com. IN MX 10 mail.example.com.
example.com. IN A 10.10.10.10
ns1 IN A 10.10.10.10
ns2 IN A 10.10.10.10
www IN CNAME example.com.
mail IN A 10.10.10.10
ftp IN CNAME example.com.
4. Whta you need for your site to go online is a forward DNS as the one we have created above. Now, Update the BIND configuration file. Note that, at this point, you should have the following file
/var/named/example.com.db
Now, simply open the Bind configuration file using your favourite editor.
vim /etc/named.conf
Then add the following code. Remeber to change example.com to your domain name
zone “example.com” {
type master;
file “/var/named/example.com.db”;
};
5. Lastly, add an IP address of a stable DNS server in your /etc/resolv.conf file. For example, if you wish to add google’s DNS server, comment our the content of /etc/resolv.conf and add the following line:
nameserver 8.8.4.4