天天看點

Ubuntu下DNS伺服器的配置

大家好,又見面了,我是你們的朋友全棧君。

Ubuntu下DNS伺服器的配置——Bind9

發表于2017/6/12 14:35:49 1220人閱讀

分類:

ubuntu

伺服器

DNS

Ubuntu下DNS伺服器的配置

看到網上關于在Ubuntu下配置DNS的文章很少,自己在配置過程中也掉入了很多坑,最後找到一本書,才把問題解決了。

如果文章有缺漏的地方,或者讓你有疑惑的地方,可以聯系

QQ:923198645

一、Bind9配置檔案介紹

Bind的配置檔案,放在/etc/bind9/目錄下,主要的配置檔案有以下4個,分别是:

  • /etc/bind9/named.conf(主配置檔案)
  • /etc/bind9/named.default-zones;
  • /etc/bind9/named.conf.options;
  • /etc/bind9/named.conf.local

其中,/etc/bind9/named.conf是Bind的主配置檔案,不過他并不包含DNS資料。檢視/etc/bind9/named.conf檔案可以發現,主配置檔案裡面使用了include關鍵字來加載其它3個配置檔案。

在/etc/bind9/named.conf.options檔案中,有一句預設的配置(如下),該語句的所示的目錄的作用是存放正向解析以及反向解析的一些配置檔案,該配置告訴Bind,到/var/cache/bind目錄下去尋找資料檔案。

directory “var/cache/bind”           

複制

二、配置Bind9

1、完全解除安裝(如果你是首次安裝,請忽略)

在你看這篇文章的時候,也許你已經在DNS配置裡面掙紮了很久,然後沒有成功,那麼,請你執行以下指令(解除安裝bind9,并且删除配置檔案)

sudo apt-get purge bind9           

複制

2、安裝Bind9

sudo apt-get -y install bind9           

複制

3、建立正向Zone檔案

正向Zone檔案是用來做正向解析的,即将域名解析為IP位址

(1)首先,修改/etc/bind/named.conf.local檔案

sudo mv /etc/bind/named.conf.local /etc/bind/named.conf.local-bak
sudo vim /etc/bind/named.conf.local           

複制

添加下列資訊:

zone "kevin.com" {
    type master;
    file "db.kevin.com";
};           

複制

該配置指定Bind作為kevin.com域的主域名伺服器,db. kevin.com檔案包含所有*.kevin.com 形式的域名轉換資料。檔案 db.kevin.com 沒有指定路徑,是以預設是/var/cache/bind/。

(2)然後,我們複制一個現有的檔案作為Zone檔案的模闆:

sudo cp /etc/bind/db.local /var/cache/bind/db.kevin.com           

複制

現在,我們來修改該Zone檔案:

sudo vim /var/cache/bind/db.kevin.com           

複制

将其改為如下内容(其中的192.168.191.4是我的區域網路IP位址,通過指令行ifconfig可檢視主機的區域網路IP位址)

;
; BIND data file for local loopback interface
;
$TTL   604800
@   IN  SOA localhost. root.localhost. (
                  2     ; Serial
             604800     ; Refresh
              86400     ; Retry
            2419200     ; Expire
             604800 )   ; Negative Cache TTL
;
@   IN  NS  ns.
@   IN  A   192.168.191.4
www IN  A   192.168.191.4
@   IN  AAAA    ::1           

複制

4、建立反向Zone檔案

反向Zone檔案是用來做反向解析的,即把IP位址解析為域名。

(1)首先,修改/etc/bind/named.conf.local檔案

sudo vim /etc/bind/named.conf.local           

複制

添加下列資訊:

zone "191.168.192.in-addr.arpa" {
    type master;
    file "db.192.168.191";
};           

複制

(2)然後,我們複制一個現有的檔案作為Zone檔案的模闆(注意檔案名是區域網路IP位址前三個段的倒寫,我的區域網路IP是192.168.191.4):

sudo cp /etc/bind/db.127 /var/cache/bind/db.191.168.192           

複制

修改該Zone檔案

sudo vim /var/cache/bind/db.191.168.192           

複制

将其改為如下内容:

;
; BIND reverse data file for local loopback interface
;
$TTL   604800
@   IN  SOA localhost. root.localhost. (
                  1     ; Serial
             604800     ; Refresh
              86400     ; Retry
            2419200     ; Expire
             604800 )   ; Negative Cache TTL
;
@   IN  NS  ns.
4   IN  PTR www.kevin.com
1.0.0   IN  PTR localhost.           

複制

左下角中的4代表IP的最後一個位元組号,例如,我的區域網路IP位址是192.168.191.4,那麼最後一個位元組就是4

三、修改主機域名解析位址,重新開機Bind9

(1)修改主機域名解析位址

sudo vim /etc/resolv.conf

修改為
search kevin.com
nameserver 192.168.191.4           

複制

(2)重新開機Bind9

sudo service bind9 restart           

複制

四、測試

ping kevin.com           

複制

如果有資料的收發,則表示配置成功。

釋出者:全棧程式員棧長,轉載請注明出處:https://javaforall.cn/138965.html原文連結:https://javaforall.cn