Linux的DNS域名解析服務(正向,反向,主從,分離)

Gloom丿鬱發表於2020-12-10

DNS域名解析服務

BIND域名服務基礎

  • DNS系統的作用及型別
  • BIND的安裝和配置檔案

使用BIND構建域名伺服器

  • 構建快取域名伺服器
  • 構建主、從域名伺服器

一、DNS系統的作用

域名代表這個主機的全名

DNS域名解析方式:

  1. 正向解析:根據域名查詢對應的IP地址

  2. 反向解析:根據IP地址查詢對應的域名

二、DNS系統的分散式資料結構

在日常生活中人們習慣使用域名訪問伺服器,但機器間互相只認IP地址,域名與IP地址之間是多對一的關係,一個ip地址不一定只對應一個域名,且一個域名只可以對應一個ip地址,它們之間的轉換工作稱為域名解析,域名解析需要由專門的域名解析伺服器來完成,整個過
程是自動進行的。

DNS的定義:

DNS是"域名系統"的英文縮寫。它作為將域名和IP地址相互對映的一個分散式資料庫,能夠使人更方便地訪問網際網路。DNS服務使用TCP和UDP的53埠,TCP的53埠用於連線DNS伺服器,UDP的53埠用於解析DNS。

每一級域名長度的限制是63個字元,域名總長度則不能超過253個字元。

域名結構:

http://www .sina.com.cn./
http://主機名 二級域 頂級域 根域/

工作流程

樹狀結構最頂層稱為根域,用"."表示,相應伺服器稱為根伺服器,整個域名空間解析權都歸根伺服器所有,但根伺服器無法承擔龐大的負載,採用"委派"機制,在根域下設定了一些頂級域,然後將不同頂級域解析權分別委派給相應的頂級域伺服器,如將com域的解析權委派com域伺服器,以後但凡根伺服器收到以com結尾的域名解析請求,都會轉發給com域伺服器,同樣道理,為了減輕頂級域的壓力,又下設若干二級域,二級域又下設三級域或主機。

根域

位於域名空間最頂層,一般用一個“.”表示

頂級域

一般代表一種型別的組織機構或國家地區,
如.net(網路供應商)、.com(工商企業)、.org(團體組織)、.edu(教育機構)、.gov(政府部門)、.cn (中國國家域名)

二級域

用來標明頂級域內的一個特定的組織,國家頂級域下面的二級域名由國家網路部門統一管理,如.cn頂級域名下面設定的二級域名:.com.cn、.net.cn、.edu.cn

子域

二級域下所建立的各級域統稱為子域,各個組織或使用者可以自由申請註冊自己的域名

主機

主機位於域名空間最下層,就是一臺具體的計算機,
如 www、mail都是具體的計算機名字,可用www.sina.com.cn.、 mail.sina.com.cn.來表示,這種表示方式稱為FQDN(完全合格域名),也是這臺主機在域名中的全名

三、DNS伺服器型別:

(1)主域名伺服器:

負責維護一個區域的所有域名資訊,是特定的所有資訊的權威資訊源,資料可以修改。構建主域名伺服器時,需要自行建立所負責區域的地址資料檔案。

(2)從域名伺服器:

當主城名伺服器出現故障、關閉或負載過重時,從域名伺服器作為備份服務提供域名解析服務。從域名伺服器提供的解析結果不是由自己決定的,而是來自於主域名伺服器。構建從域名伺服器時,需要指定主域名伺服器的位置,以便伺服器能自動同步區域的地址資料庫。

(3)快取域名伺服器:

只提供域名解析結果的快取功能,目的在於提高查詢速度和效率,但沒有域名資料庫。它從某個遠端伺服器取得每次域名伺服器查詢的結果,並將它放在快取記憶體中,以後查詢相同的資訊時用它予以響應。快取域名伺服器不是權威性伺服器,因為提供的所有資訊都是間接資訊。構建快取域名伺服器時,必須設定根域或指定其他DNS伺服器作為解析來源。

(4)轉發域名伺服器:

負責所有非本地域名的本地查詢。轉發域名伺服器接到查詢請求後,在其快取中查詢,如找不到就將請求依次轉發到指定的域名伺服器,直到查詢到結果為止,否則返回無法對映的結果。

四、構建DNS域名解析伺服器步驟

1.安裝bind軟體包

yum install -y bind

2.配置正向解析(相關命令)

(1)先檢視需要修改的配置檔案所在路徑rpm -qc bind

#查詢bind軟體配置檔案所在路徑
/etc/named.conf
主配置檔案
/etc/named.rfc1912.zones
#[區域配置檔案
/var/named/named. localhost
#區域資料配置檔案

(2)修改主配置檔案

vim /etc/named.conf
options {
listen-on port 53 { 192.168.80.10; };---------監聽53埠,ip地址使用提供服務的本地IP,也可用any表示所有
#   listen-on-v6 port 53 { ::l; };--------#ipv6行如不使用可以註釋掉或者刪除
directory    " / var/ named" ;---------#區域資料檔案的預設存放位置
dume-file    "/var/named/data/cache dump. db";--------#域名快取資料庫檔案的位置statistics-file  "/var/named/data/named_stats.txt";-----#狀態統計檔案的位置
memstatistics-file "/var/named/data/named _mem_stats.txt";---- #記憶體統計檔案的位置
allow-query { 192.168.80.0/24; 172.16.100.0/24; };----允許使用本DNs解析服務的網段,也可用any代表所有
。。。。。

zone "."IN {   -------#正向解析”.”根區域
type hint;  -------#型別為根區域
file "named.ca" ;  -------#區域資料檔案為named.ca,記錄了13臺根域伺服器的域名和IP地址等資訊
);
include "/etc/named.rfc1912.zones" ;  -------#包含區域配置檔案裡的所有配置

(3)修改區域配置檔案,新增正向區域配置

vim /etc/named.rfc1912.zone  -------#可在檔案裡有模版,可複製貼上後修改
zone "benet.com" IN{  -------正向解析"benet.com"區域
type master;
#型別為主區域
file "benet.com. zone" ;
●指定區域資料檔案為benet.com. zone
allow-update { none; };
};

( 4)配置正向區域資料檔案cd /var/named/

cp -p named . localhost benet.com. zone-----#保留原始檔的許可權和屬主的屬性複製
vim /var/ named/ benet.com. zone
$TTL1D  ------#設定快取解析結果的有效時間
@     IN SoA benet.com. admin. benet.com.(
                 0 ;   serial
                 1D;   refresh
                 1H;   retry
                 1W;   expire
                 3H ); minimum
NS   benet.com.  --------#記錄當前區域的DNS伺服器的名稱
A    192.168.80.10 ------#記錄主機IP地址
IN MX10   mail.benet.com. ------#MX為郵件交換記錄,數字越大優先順序越低
www  IN A  192.168.80.10 ------#記錄正向解析www . benet.com對應的IP
mail IN A  192.168.80.11
ftp  IN CNAME  www -----#CNAME使用別名,ftp是www的別名
*    IN A  192.168.80.100 ------#泛域名解析,“★"代表任意主機名

#"@"這裡是一個變數,當前DNS區域名
#SOA標記用於同步主從伺服器的區域資料,如更新序列號相同則不會更新
#"benet.com.“此為完全合格域名(FQDN),後面有個”."不能漏掉
#"admin.benet.com.“表示管理員郵箱,這裡的”@“是變數,所以用”."代替

(5)啟動服務,關閉防火牆

systemctl start named
systemctl stop firewalld
setenforce o

tail -f /var/log/messages  --------#如果服務啟動失敗,可以檢視日誌檔案來排查錯誤


rndc-confgen -r /dev/urandom -a  --------#如果服務啟動卡住,可以執行下面命令解決

(6)在客戶端的域名解析配置檔案中新增DNS伺服器地址

vi /etc/resolv.conf -----------#修改完後立即生效
nameserver 192.168.80.10
或
vi /etc/sysconfig/network-scripts/ifcfg-ens33  --------#修改完後需要重啟網路卡
DNS1=192.168.80.10

systemctl restart network

(7)測試DNS解析

host www. benet.com
nslookup www . benet.com

配置正向解析(實驗)

首先安裝blind軟體包
在這裡插入圖片描述

安裝完後配置正向解析

1、先檢視需要修改的配置檔案的路徑

在這裡插入圖片描述
在這裡插入圖片描述

2、修改主配置檔案

在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述

3、修改區域配置檔案,新增正向區域配置

在這裡插入圖片描述
在這裡插入圖片描述

4、配置正向區域資料檔案

在這裡插入圖片描述
在這裡插入圖片描述

在這裡插入圖片描述
這裡的IN A表示正向解析
CNAME表示別名
在這裡插入圖片描述

5、啟動服務,關閉防火牆(這裡我開頭關過了)

在這裡插入圖片描述

6、在客戶端的域名解析配置檔案中新增DNS伺服器地址

這裡有兩種方案,我用的是第一種,可以立即生效
第二種網路卡方法需要重啟網路卡
在這裡插入圖片描述
在這裡插入圖片描述

7、測試DNS解析

在這裡插入圖片描述

8、使用虛擬機器win10進行域名解析

在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述

配置反向解析(實驗)

在此之前需要關防火牆,並且如果之前配置了正向解析,需要快照返回才行,然後安裝bind軟體包

systemctl stop firewalld
setenforce 0

yum -y install bind

1、修改主配置檔案

vim /etc/named.conf

在這裡插入圖片描述
在這裡插入圖片描述

2、修改區域配置檔案,新增反向區域配置
vim /etc/named.rfc1912.zones
在這裡插入圖片描述
在這裡插入圖片描述

3、配置反向區域配置檔案
此處是配置正向的命令(這裡我們暫且忽略)
cd /var/named/
cp -p named.localhost ypy.com.zone
在這裡插入圖片描述
vim ypy.com,zone
在這裡插入圖片描述
4、配置反向區域資料檔案
在這裡插入圖片描述
在這裡插入圖片描述
5、啟動服務並檢查修改域名解析配置檔案
在這裡插入圖片描述

在這裡插入圖片描述
6、測試DNS反向解析
在這裡插入圖片描述

主從伺服器

其中一個伺服器故障了另一個可以代替它工作

主伺服器配置步驟

接著上次繼續配置,需要開啟另一臺虛擬機器當做從伺服器

如果之前沒有配置DNS解析,就要重新配置,先vim /etc/named.conf裡面{}內改為any即可

1、修改主配置檔案
修改正向配置檔案和反向配置檔案
vim /etc/named.rfc1912.zone
在這裡插入圖片描述
此處修改的是我們之前配置好的正、反向解析服務
如果沒有要自己再加
在這裡插入圖片描述
之後記得要systemctl restart named重新整理一下

從伺服器配置

1、安裝bind(rpm和yum兩種方法都可以)
在這裡插入圖片描述
在這裡插入圖片描述
2、設定主配置檔案
在這裡插入圖片描述
在這裡插入圖片描述
3、設定區域配置檔案
在這裡插入圖片描述

在這裡插入圖片描述
4、關閉防火牆並且重新載入
在這裡插入圖片描述
5、檢視是否備份進去
在這裡插入圖片描述

再次主伺服器配置

在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
這樣就成功裡!

分離解析

分離解析的域名伺服器實際也是主域名伺服器,這裡主要是指根據不同的客戶端提供不同的域名解析記錄。比如來自內網和外網的不同網段地址區域的客戶機請求解析同一域名時,為其提供不同的解析結果,得到不同的IP地址。

配置閘道器伺服器搭建DNS分離解析

在閘道器伺服器搭建DNS分離解析,使區域網主機解析ww .benet.com為192.168.80.200,外網主機解析werw.bvenet.com 為12.0.0.1。

1.安裝bind軟體包
yum install -y bind

2.為閘道器伺服器配置雙網路卡
在關機狀態下再新增一塊網路卡,重啟系統
在這裡插入圖片描述
在這裡插入圖片描述

ifconfig ens36 12.0.0.1/24-----臨時
ifconfig

3、配置新的網路卡(永久更改網路卡IP
cd /etc/sysconfig/network-scripts
cp ifcfg-ens33 ifcfg-ens37
vim ifcfg-ens37
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
4、修改主配置檔案
前提必須掛載映象並且已安裝bind
mount /dev/cdrom /mnt
yum -y install bind

vim /etc/named.conf
還是將那兩個地方改為any

5、修改區域配置檔案
vim /etc/named.rfc1912.zones

在這裡插入圖片描述

在這裡插入圖片描述

6、修改區域資料配置檔案
cd /var/named
cp -p named.localhost.ypy.com.zone.lan
配置內網部分
記得要在域名結尾那裡加.號
在這裡插入圖片描述
配置外網部分
記得要在域名結尾那裡加.號
在這裡插入圖片描述
7、指定DNS伺服器
在這裡插入圖片描述
8、記得關閉防火牆並啟動服務和測試解析

在這裡插入圖片描述

虛擬win10

和之前的正向解析一樣更改配置
但是IP地址要為新網路卡的IP網段,DNS伺服器選擇新網路卡的IP地址

再測試解析通不通
在這裡插入圖片描述
這樣就成功了!

相關文章