域名服務
基本概念
hosts文件
實現名字解析,主要爲本地主機名、集羣節點提供快速解析,平面式結構,集中式數據庫。缺點是不便於查詢,更新。
DNS
DNS(Domain Name System,域名系統)(分佈式,層次性)
實現名字解析(例如將主機名解析爲IP)
FQDN
FQDN:(Fully Qualified Domain Name)完全合格域名/全稱域名
www . music . baidu . com .
主機名 . 二級域 . 頂級域.(根域)
命名空間
根域 .
/ / \ \
頂級域 .net .com .cn .org
/ \ \
二級域 baidu taobao kernel
/ \
主機名 www mail
DNS區域文件
DNS服務器存儲某個命名空間的域名記錄文件。
域名記錄:IP 和域名的對應關係。
DNS解析流程
客戶端查詢自己的緩存(包含hosts中的記錄),如果沒有將查詢發送/etc/resolv.conf中的DNS服務器
如果本地DNS服務器對於請求的信息具有權威性,會將(權威答案)發送到客戶端。
否則(不具有權威性),如果DNS服務器在其緩存中有請求信息,則將(非權威答案)發送到客戶端
如果緩存中沒有該查詢信息,DNS服務器將搜索權威DNS服務器以查找信息:
a. 從根區域開始,按照DNS層次結構向下搜索,直至對於信息具有權威的名稱服務器,爲客戶端獲答案
DNS服務器將信息傳遞給客戶端 ,並在自己的緩存中保留一個副本,以備以後查找。
b. 轉發到其它DNS服務器
服務器類型
- 緩存服務器
- 主服務器(正向/反向)
- 從服務器(不維護區域文件)
- 轉發服務器
解析(正向/反向)
- 正向:可以把相對應的域名解析爲對應的IP地址
- 反向:主要用來反垃圾郵件,可以把相對應的IP地址解析爲對應的域名。
DNS服務器基本配置
DNS緩存服務器
服務端
1.安裝伯克利域名服務
# yum -y install bind bind-chroot
2.修改配置文件啓動查詢功能
# vim /etc/named.conf
options {
listen-on port 53 { any; }; //改或者刪除
listen-on-v6 port 53 { any; }; //改或者刪除
allow-query { any; }; //改或者刪除
3.啓動
# systemctl start named
# systemctl enable named
4.查詢
DNS 53號端口
# ss -tuln |grep :53 |column -t //以列規整顯示
5.防火牆
# firewall-cmd --permanent --add-service=dns
# firewall-cmd --reload
客戶端
1.測試DNS解析
# /etc/resolv.conf
nameserver 上一臺服務器的IP地址
2.通信
# ping www.baidu.com
主DNS服務器配置
舉個栗子(正向區解析配置)
功能
正向區: 提供正向解析,即將域名解析爲IP
環境
- 服務器 192.168.182.111
- 客戶端 192.168.182.112
配置
1.主配置文件
(相當於在域名服務商申請域名)
# vim /etc/named.conf
zone "test.com" IN {
type master;
file "xulei.com.zone";
};
2.數據庫文件
(相當於在域名服務上提供的頁面做解析)
# vim /var/named/test.com.zone
$TTL 600
@ IN SOA @ root ( 2017033100 1H 15M 1W 1D )
@ IN NS dns
dns IN A 114.215.71.214 //DNS服務器本機IP
www IN A 119.75.218.70 //網站服務器IP
SOA和NS 必須寫。
^注:參數對照表
$TTL 600
@ IN SOA @ root ( 2017033100 1H 15M 1W 1D )
@服務的域名
IN
SOA授權
@服務器的域名
root.test.com管理員郵箱
(版本號時間戳 1小時同步 15分鐘重試 1周過期 1天的緩存)
3.重啓DNS
# systemctl restart named
測試
# ping www.test.com