Linux的DNS域名解析服務(正向,反向,主從,分離)
DNS域名解析服務
文章目錄
BIND域名服務基礎
- DNS系統的作用及型別
- BIND的安裝和配置檔案
使用BIND構建域名伺服器
- 構建快取域名伺服器
- 構建主、從域名伺服器
一、DNS系統的作用
域名代表這個主機的全名
DNS域名解析方式:
-
正向解析:根據域名查詢對應的IP地址
-
反向解析:根據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地址
再測試解析通不通
這樣就成功了!
相關文章
- Linux——DNS域名解析服務LinuxDNS
- DNS主從服務DNS
- DNS域名解析服務DNS
- 主從DNS域名解析伺服器DNS伺服器
- DNS域名解析服務及其配置DNS
- Linux系統MySQL配置主從分離LinuxMySql
- DNS分離DNS
- Linux---DNS域名解析如何配置LinuxDNS
- 主從分離的事務操作很容易發生誤操作
- MySQL主從分離實現MySql
- Linux網路中的DNS域名正向解析實操LinuxDNS
- 多區域DNS服務,子域授權,快取DNS及Split分離解析的原理和實現DNS快取
- 24_linux筆記-DNS服務Linux筆記DNS
- 正向代理與反向代理
- 反向代理與正向代理
- nginx正向代理、反向代理Nginx
- 正向代理和反向代理
- linux apache泛域名解析及dns相關LinuxApacheDNS
- DNS域名解析DNS
- 正向代理和反向代理的形象理解
- dns服務DNS
- MYSQL 主從 + ATLAS 讀寫分離 搭建MySql
- 配置\清除 MySQL 主從 讀寫分離MySql
- MySQL主從複製讀寫分離MySql
- linux下安裝dns域名解析伺服器LinuxDNS伺服器
- 網站搭建資料庫篇-Linux系統MySQL配置主從分離網站資料庫LinuxMySql
- 正向代理與反向代理總結
- 圖解正向代理與反向代理圖解
- Nginx正向代理和反向代理配置Nginx
- 反向代理和正向代理區別
- Nginx之路--配置正向代理、反向代理Nginx
- 正向傳播和反向傳播反向傳播
- discuz 配置讀寫分離(主寫從讀)
- [Mysql]主從複製和讀寫分離MySql
- Linux下MySQL主從複製(GTID)+讀寫分離(ProxySQL)-實施筆記LinuxMySql筆記
- Mycat讀寫分離、主從切換、分庫分表的操作記錄
- 從節點崩了,還怎麼「主從讀寫分離」?
- 基於MySql主從分離的程式碼層實現MySql