DNS簡介 DNS(Domain Name System)功能變數名稱系統: 是一種採用客戶端/伺服器機制,負責實現電腦名稱與IP地址轉換的系統。DNS作為一種重要的網路服務,既是國際互聯網工作的基礎,同時在企業內部網路中也得到了廣泛地應用。 DNS伺服器的作用 正向解析:根據主機名稱(功能變數名稱)查找對應的I ...
DNS簡介
DNS(Domain Name System)功能變數名稱系統:
是一種採用客戶端/伺服器機制,負責實現電腦名稱與IP地址轉換的系統。DNS作為一種重要的網路服務,既是國際互聯網工作的基礎,同時在企業內部網路中也得到了廣泛地應用。
DNS伺服器的作用
正向解析:根據主機名稱(功能變數名稱)查找對應的IP地址
反向解析:根據IP地址查找對應的主機功能變數名稱
DNS系統的分散式數據結構
DNS查詢方式
遞歸查詢:大多數客戶機向DNS伺服器解析功能變數名稱的方式
迭代查詢:大多數DNS伺服器向其他DNS伺服器解析功能變數名稱的方式
DNS伺服器的類型
緩存功能變數名稱伺服器
緩存功能變數名稱伺服器:也稱唯高速緩存伺服器,通過向其他功能變數名稱伺服器查詢獲得功能變數名稱->IP地址記錄,將功能變數名稱查詢結果緩存到本地,提高重覆查詢時的速度。
主功能變數名稱伺服器
主功能變數名稱伺服器:特定DNS區域的官方伺服器,具有唯一性,負責維護該區域內所有功能變數名稱->IP地址的映射記錄。
從功能變數名稱伺服器
從功能變數名稱伺服器:也稱為輔助功能變數名稱伺服器,其維護的功能變數名稱->IP地址記錄來源於主功能變數名稱伺服器。
BIND功能變數名稱服務基礎
BIND(Berkeley Internet Name Daemon)伯克利Internet功能變數名稱服務。
官方站點:https://www.isc.org/
BIND伺服器端程式
主要執行程式:/usr/sbin/named
服務腳本:/etc/init.d/named
預設監聽埠:53
主配置文件:/etc/named.conf
保存DNS解析記錄的數據文件位於:/var/named/chroot/var/named/
配置文件分析
/etc/named.conf
options { #選項
listen-on port 53 { 127.0.0.1; }; #服務監聽埠為53
listen-on-v6 port 53 { ::1; }; #服務監聽埠為53(ipv6)
directory "/var/named"; #配置文件存放的目錄
dump-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 { localhost; }; #允許連接的客戶機
recursion yes; #遞歸查找
dnssec-enable yes; #DNS加密
dnssec-validation yes; #DNS加密高級演算法
dnssec-lookaside auto; #DNS加密的相關東西
/* Path to ISC DLV key */
bindkeys-file "/etc/named.iscdlv.key"; #加密用的key(私鑰公鑰的加密,很強)
};
logging { #日誌
channel default_debug {
file "data/named.run"; #運行狀態文件
severity dynamic; #靜態伺服器地址(根域)
};
};
zone "." IN { #根域解析
type hint; master slave
file "named.ca"; #根域配置文件
};
include "/etc/named.rfc1912.zones"; #擴展配置文件(新開功能變數名稱)
/etc/named.rfc1912.zones
zone "localhost.localdomain" IN { #本地主機全名解析
type master; #類型為主域
file "named.localhost"; #域配置文件(文件存放在/var/named目錄中)
allow-update { none; }; #不允許客戶端更新
};
zone "localhost" IN { #本地主機名解析
type master;
file "named.localhost";
allow-update { none; };
};
zone ".0.ip4.arpa" IN { #ipv6本地地址反向解析
type master;
file "named.loopback";
allow-update { none; };
};
zone "1.0.0.127.in-addr.arpa" IN { #本地地址反向解析
type master;
file "named.loopback";
allow-update { none; };
};
zone "0.in-addr.arpa" IN { #本地全網地址反向解析(和/域更新用的)
type master;
file "named.empty";
allow-update { none; };
};
/var/named/named.localhost
$TTL 1D #更新為最長1天
@(使用域的功能變數名稱) IN SOA(權威DNS伺服器) @(權威DNS伺服器的名稱) rname.invalid.(rname@invalid的郵件) (
0 ; serial #(更改號)十位數的序列號
1D ; 更新頻率
1H ; 失敗重新嘗試時間
1W ; 失效時間
3H ) ; 緩存時間
NS(功能變數名稱伺服器) @(功能變數名稱伺服器名稱)
A(正向解析記錄) 127.0.0.1(正向解析的ip)
AAAA(ipv6正向解析) ::1(ipv6正向解析的ip)
搭建DNS伺服器
安裝DNS伺服器
安裝bind程式包
yum install bind
啟動服務
systemctl start named.service
設置自啟動狀態
systemctl enable named.service
配置文件
配置主配置文件
vim /etc/named.conf
改動為
listen-on-v6 port 53 { any; };
allow-query { any; };
配置zones文件
正向解析配置
添加 正向解析
zone "lzy.com." IN {
type master;
file "lzy.com.zone";
allow-update { none; };
};
反向解析配置
添加反向解析
zone "134.168.192.in-addr.arpa" IN {
tpye master;
file "134.168.192.zone";
allow-update { none; };
};
配置區域配置文件
複製文件
cp /var/named/named.empty /var/named/lzy.com.zone
cp /var/named/named.empty /var/named/134.192.168.zone
修改許可權
chown :named zlt.com.zone
正向解析配置
為excesoft.com功能變數名稱設計正向解析,將/var/named/named.empty複製重命名為excesoft.com.zone,
修改文件屬組為named,並對其內容進行修改
$TTL 3H
@ IN SOA lzy.com. root.lzy.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H) ; minimum
NS dns.lzy.com.
dns A 192.168.134.139
www A 192.168.134.139
反向解析配置
為excesoft.com功能變數名稱設計反向解析,將/var/named/named.empty複製重命名為137.168.192.zone,修
改文件屬組為named,並對其內容進行修改。
配置網卡
vim /etc/sysconfig/network-scripts/ifcfg-ens33
BOOTPROTO=static
IPADDR1=192.168.134.139
NETMASK=255.255.255.0
GATEWAY=192.168.134.2
DNS1=192.168.134.139
啟動DNS伺服器
systemctl start named.service
檢查配置文件
named-checkconf
配置客戶端
修改配置文件
修改配置文件:#vim /etc/resolv.conf。
寫入以下內容:
excesoft.
nameserver 192.168.137.22
測試DNS伺服器
測試DNS伺服器
在客戶端電腦上使用命令 nslookup進行測試。