天天看點

Linux基礎伺服器搭建(一):DNS伺服器

一、DNS簡介

DNS英文全稱(Domain Name System)即域名系統,也稱為域名伺服器,将IP位址與域名進行映射,

如此以來,就不用記住IP位址來通路伺服器,進而通過域名來通路伺服器,通常域名比IP位址要好記。

Dns通常使用一個或多個集中式的伺服器來實作,這些伺服器具有一定的權威性,當用戶端向DNS發起請求時,通常通路伺服器的UDP協定53端口,如果該伺服器沒有權威解析,即無法解析使用者請求域名,通常會向根域名伺服器查詢,查詢到在向用戶端傳回解析結果

    1.1    域名區域

    在DNS伺服器,如bind,所有資訊都存儲在基礎資料元素稱為資源記錄(PR)。資源記錄通常是完全限定域名(FQDN)主機,并解析成多個部分組成一個樹狀的層次結構。該層次結構由主幹,主分支,次級分支,等組成。

    如:

        www.baidu.com      

    在上面的示例域名中,分為三個部分,分别以“  . ” 分隔,

    com是它的頂級域名,注冊後無法修改

    baidu是二級域名,注冊後無法修改

    www為主機名,這個可以自定義,就是說www可以改為你需要的字元串,如:ftp、mail、file等等

    1.2   域名伺服器類型

        1.2.1    權威伺服器(authoritative)

            權威域名伺服器的回答是它們區域部分資源記錄,包括頂級域名和二級域名

        1.2.2    遞歸伺服器(Recursive)

            遞歸域名伺服器提供解析服務,但不解析區域,所有解析答案都被緩存在記憶體

二、安裝bind(Berkeley Internet Name Domain)

    2.1    安裝

        2.1.1    rhel/centos:

        yum install bind -y      

        2.1.2    debian/ubuntu:

        apt-get install bind      

    2.2    配置bind

        2.2.,1    配置檔案路徑

                      bind安裝後的服務名為named

檔案路徑 描述

/etc/named.conf

/etc/named/

/var/named/

named主配置檔案

包含配置檔案的輔助目錄

區域配置檔案

        2.2.2    編輯配置檔案

                  2.2.2.1  配置檔案有包含嵌套選項的語句集合組成有{}開閉,編輯時不能有文法錯誤否則無法啟動  named服務

options {
  allow-query       { localhost; }; #允許請求的主機/any代表所有
  listen-on port    53 { 127.0.0.1; };    #監聽位址和端口
  listen-on-v6 port 53 { ::1; };
  max-cache-size    256M; #/最大緩存
  directory         "/var/named";    #區域檔案目錄
  statistics-file   "/var/named/data/named_stats.txt";

  recursion         yes;
  dnssec-enable     yes;
  dnssec-validation yes;
};      

                2.2.2.2    加入自定義區域配置 

[root@master ~]# cat /etc/named.conf
//
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//
options { //伺服器的全局配置選項及一些預設設定
listen-on port 53 { any; }; //監聽端口,也可寫為 { 127.0.0.1; 192.168.56.104; }
#   listen-on-v6 port 53 { ::1; }; //對ip6支援
directory   "/var/named"; //區域檔案存儲目錄
dump-file   "/var/named/data/cache_dump.db"; //dump cach的目錄directory
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-query     { any; }; //指定允許進行查詢的主機,當然是要所有的電腦都可以查啦
recursion yes; //設定進行遞歸查詢
allow-transfer  { 192.168.56.105;}; //指定允許接受區域傳送請求的主機,說明白一點就是輔dns的ip
dnssec-enable yes;
dnssec-validation yes;
dnssec-lookaside auto;
/* Path to ISC DLV key */
bindkeys-file "/etc/named.iscdlv.key";
managed-keys-directory "/var/named/dynamic";
};
logging { //指定伺服器日志記錄的内容和日志資訊來源
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
zone "." IN {
type hint;
file "named.ca";
};
include "/etc/named.rfc1912.zones"; //包含檔案,這裡也就是載入/etc/named.rfc1912.zones
#include "/etc/named.root.key";      

                2.2.2.3    編輯區域檔案

$ORIGIN example.com.
$TTL 86400
@         IN  SOA  dns1.example.com.  hostmaster.example.com. (
              2001062501  ; serial#序列号
              21600       ; 重新整理時間間隔
              3600        ; 重試時間間隔
              604800      ; expire after 1 week
              86400 )     ; minimum TTL of 1 day
;
;
          IN  NS     dns1.example.com.
          IN  NS     dns2.example.com.
dns1      IN  A      10.0.1.1 #A記錄
          IN  AAAA   aaaa:bbbb::1
dns2      IN  A      10.0.1.2
          IN  AAAA   aaaa:bbbb::2
;
;
@         IN  MX     10  mail.example.com.
          IN  MX     20  mail2.example.com.
mail      IN  A      10.0.1.5
          IN  AAAA   aaaa:bbbb::5
mail2     IN  A      10.0.1.6
          IN  AAAA   aaaa:bbbb::6
;
;
; This sample zone file illustrates sharing the same IP addresses
; for multiple services:
;
services  IN  A      10.0.1.10
          IN  AAAA   aaaa:bbbb::10
          IN  A      10.0.1.11
          IN  AAAA   aaaa:bbbb::11

ftp       IN  CNAME  services.example.com.
www       IN  CNAME  services.example.com.
;
;      
zone "example.com" IN {
  type master;
  file "example.com.zone";
  allow-update { none; };
};      
service named start      

繼續閱讀