DNS(Domain Name System)域名系統
DNS的部署linux
1:dns協議
做用:正/反向解析主機名或IP地址 主機名或域名解析成ip地址爲正向解析
2:區域 (搭建dns服務器要指定區域。這天nds服務器將會負責這個區域的解析服務)
1:正向區域:xxx.xxx(域名) 聲明,負責解析哪一個區域中的主機名對應的ip地址
2:反向區域:x.x.x.in-addr.arpa 聲明,負責解析哪一個網段的ip地址對應的主機名(in-addr.arpa爲固定的)
如上 x.x.x. 爲倒寫的ip網段 列:192.168.199.0:80/24 就寫成 80:199.168.192.in-addr.arpa
//若是不須要作反向解析那麼反向區域無關緊要
//域名
如www.baidu.com 中baidu.com爲域名 www. 爲這個域中的一個主機名
如2 book.baidu.com 中baidu.com爲域名 book爲這個域裏的主機名
1:網址詳解
如 www.baidu.com. 正常來講網址後面都會有個 .
. 表示根域
com 表示頂級域名
baidu表示二級域名
www 表示主機名
3:記錄
A記錄
主機記錄 格式 www.XXX.com. A 192.168.1.1 (表示標識www.XXX.com. 對應的ip爲 192.168.1.1)
NX記錄
標識DNS服務器自身的名 格式 NS dns1.xxx.com. (就是給本身的dns服務器起個名隨便起)
dns1.xxx.com. A 192.168.x.x (起完名以後給對應一個ip地址)
MX記錄
標識郵件服務器的名稱 格式 MX 10 www.xxxx.com.(MX表示郵件記錄類型 10表示優先級越小越優先 後面爲郵件服務器名,即網址。隨便起,可有多個郵件記錄)
www.xxxx.com A 192.168.x.x
CNAME記錄
別名記錄 格式 a.a.com CNAME ai.ai.com(a.a.com爲ai.ai.com的別名)
PTR記錄
反向指針記錄 格式 192.168.1.1 PTR www.XXX.com.(做用於A記錄相反)
4:DNS解析方式
遞歸
客戶端只須要向DNS服務器發送一次請求
迭(die)代
客戶端須要向DNS服務器發送屢次請求
當一個客戶端想要訪問一個網址時,首先訪問緩存文件,若是沒有在訪問本身/etc/hosts中有沒有
這個網址的解析若是沒有,再找resolv.conf文件若是沒有,那麼將訪問DNS服務器來解析這個網址,
而且DNS服務器將解析出來的ip返還給客戶端,客戶端將這個返還的信息緩存在本地(默認返還一天)
當下一次訪問這個網站是,直接在緩存中查找,若是緩存中沒有,那麼在重複上面操做,這種方式叫作 遞歸
可是當DNS服務器解析不出這個網址時如www.baidu.com,他會把這個請求發給 "."(根),可是根服務
器不會幫你解析而是返回DNS信息說交給他的下屬的服務器2如com,cn等這被稱爲頂級域,而後DNS
收到信息後去找服務器2如baidu(這被稱爲二級域),服務器2也沒幫你解析而且返回信息說交給他下面
的服務器3如www(三級域),而後DNS收到信息後去找服務器3,服務器3發現本身有這個
網址的 A記錄 並把解析出來的信息返還給DNS服務器 DNS服務器再把信息返還給客戶端 這個操做過程
叫作 迭代
以上是遞歸加迭代 如客戶端訪問NDS只訪問了一次這塊叫遞歸 DNS訪問跟服務器及根下屬
服務器23的重複訪問 這塊叫迭代
5:部署DNS服務器
軟件
bind軟件(必用) 安裝後生產一個dns配置文件在/etc/named.conf
baind-chroot軟件(輔助) 安裝後把dns全部文件生成一個僞根目錄 /var/named/chroot 會把/etc/named.conf
轉移到僞根下 /var/named/chroot/etc/named.conf
DNS配置文件
主配置文件 /var/named/chroot/etc/named.conf
記錄文件 /var/named/chroot/var/named/記錄文件 這個記錄文件看你定義區域時給這個區域指定的記錄文件名叫什麼
若是給這個區域對應的記錄文件名叫a 未來
就要給這個區域在這裏建一個叫a文件來存這個區域的記錄文件
一個記錄文件對應一個區域
搭建好DNS服務後啓動兩個軟件
named
named-chroot
端口:
53/udp 用來接收客戶端的DNS請求
53/tcp 負責主從服務器的數據同步
6:DNS主服務器搭建演示
假如 公司有三個服務器
uplooking.com.zone 192.168.1.1 網站服務器
ftp.uplooking.com 192.168.1.2 FTP服務器
mail.uplooking.com 192.168.1.3 郵件服務器
準備工做
關閉 SELinux setenforce 0 永久關閉 vim /etc/sysconfig/selinux 把SELINUX=enforcing
改成SELINUX=disabled
關閉 防火牆 systemctl stop firewalld.service 開機自動關閉關閉 systemctl disable firewalld.service
配置 yum源
備份及搭建yum的配置文件
mkdir /etc/yum.repos.d/default
mv /etc/yum.repos.d/CentOS-* /etc/yum.reps.d/default
本身寫一個yum的配置文件
vim /etc/yum.repos.d/centos.repo
內容爲 [centos]
name=centos
baseurl=ftp://192.168.xxx.xxx/掛在路徑
enabled=1
gpgcheck=0
保存退出
yum makecache
下載DNS軟件
yum install -y bind bind-chroot
建立DNS配置文件
cd /var/named/chroot/etc/
若是沒有name.conf 則 vim named.conf
內容爲 options {
directory "/var/named";
};
#以上內容用來指定未來全部區域記錄文件的存放位置。以上位
#置是在僞根目錄下,即/var/named/chroot/var/named
zone「uplooking.com」{
type master;
file "uplooking.com.zone";
};
#以上內容爲 定義了一個區域 區域名叫uplooking.com
#type master 標識區域的類型爲master 區域類型有三種
# 1:hint 根域
# 2:master 主區域 主區域裏的東西能夠修改
# 3:slave 從區域 從區域裏的東西不可修改 只能靠向主區域複製而來
#file「uplooking.com.zone」表示給這個區域指定一個記錄文件名,這裏指定記錄文件叫什麼名。未來存放記錄文
#件的存放位置就得叫什麼名字
#以上四行若是有多個區域能夠寫多個以上內容
保存退出
準備區域的記錄文件
cd /var/named/chroot/var/named/
cp /usr/share/doc/bind-9.11.4/sample/var/named/named.localhost /var/named/chroot/var/named/uplooking.com.zone
#拷貝記錄文件模板到/var/named/chroot/var/named/ 起名叫uplooking.com.zone
vim /var/named/chroot/var/named/uplooking.com.zone
內容爲改成 $TTL 1D
#緩存 1D=1天
@ IN SOA aa.com.(區域名) xxx.xxx.qq.com.寫個郵箱可改可不改 (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H) ; minimum
NS 起個主機名.aa.com. (!!!!注意這裏的主機名後面的必須和上面的區域名一致)
主機名. A 192.168.本機ip
起個web名 A 192.168.1.1
起個ftp名 A 192.168.1.2
MX 10 起個郵件名.aa.com.
郵件嗎.com A 192.168.1.3
保存退出
啓動named服務
systemctl start named-chroot
systemctl start named
設置named服務開機自啓動
systemctl enable named-chroot
sysemctl enable named
檢測DNS服務器是否搭建成功
nslookup
>server
.............................
>server dns服務器的ip
>ftp.uplooking.com
結果爲: Server: 192.168.106.21
Address: 192.168.106.21#53web
Name: ftp.uplooking.com
Address: 192.168.1.2
>exit 退出nslookup
#192.168.1.2是你在dns上指定的 ftp。uplooking.com的ip
如何讓客戶機使用這臺DNS服務器
客戶機 vim /etc/sysconfig/network-scripts/ifcfg-ens33
添加一行DNS1=搭建的DNS服務器ipvim