DNS

DNS

DNS(Domain Name System,域名系統(tǒng)),因特網(wǎng)上作為域名和IP地址相互映射的一個(gè)分 布式數(shù)據(jù)庫,能夠使用戶更方便的訪問互聯(lián)網(wǎng),而不用去記住能夠被機(jī)器直接讀取的IP數(shù) 串。通過主機(jī)名,最終得到該主機(jī)名對(duì)應(yīng)的IP地址的過程叫做域名解析(或主機(jī)名解析)。 DNS協(xié)議運(yùn)行在UDP協(xié)議之上,使用端口號(hào)53。在RFC文檔中RFC 2181對(duì)DNS有規(guī)范說明, RFC 2136對(duì)DNS的動(dòng)態(tài)更新進(jìn)行說明,RFC 2308對(duì)DNS查詢的反向緩存進(jìn)行說明。

DNS域名

  • 根域
  1. 一級(jí)域名:Top Level Domain: tld,com, edu, mil, gov, net, org, int,arpa 三類:組織域、國家域(.cn, .ca, .hk, .tw)、反向域
  2. 二級(jí)域名
  3. 三級(jí)域名
  4. 最多127級(jí)域名
  • ICANN(The Internet Corporation for Assigned Names and Numbers)互聯(lián)網(wǎng)名稱與數(shù)字地址分配機(jī)構(gòu),負(fù)責(zé)在全球范圍內(nèi)對(duì)互聯(lián)網(wǎng)通用頂級(jí)域名(gTLD)以及國家和地區(qū)頂級(jí)域名(ccTLD)系統(tǒng)的管理、以及根服務(wù)器系統(tǒng)的管理
  • 域名結(jié)構(gòu)如下圖:


    DNS1.png

cat /var/named/named.ca
查看DNS 13個(gè)根(需要先安裝bind)

DNS解析

  • 一次完整的查詢請(qǐng)求經(jīng)過的流程:
    Client -->hosts文件-->DNS Service Local Cache --> DNS Server (recursion) --> Server Cache --> iteration(迭代) --> 根--> 頂級(jí)域名DNS-->二級(jí)域名DNS…
  1. 解析答案:
  2. 肯定答案:
  3. 否定答案:請(qǐng)求的條目不存在等原因?qū)е聼o法返回結(jié)果
  4. 權(quán)威答案:
  5. 非權(quán)威答案:

相關(guān)配置文件

  • 名字解析,僅本地有效
    vi /etc/hosts

  • ISP的DNS服務(wù)器IP記錄處。
    vi /etc/resolv.conf

  • 設(shè)置優(yōu)先選擇使用hosts還是resolv.conf的配置
    vi /etc/nsswitch.conf

  • 一般來說,Linux的默認(rèn)主機(jī)名和ip的對(duì)應(yīng)解析都是以hosts文件為優(yōu)先,因?yàn)樵趎sswitch.conf里已經(jīng)配置好了。當(dāng)然你可以選擇更改,查看nsswitch.conf文件,找到hosts選項(xiàng):


    DNS2.png

上面files就是使用hosts,DNS則是使用resolv.conf,你調(diào)換一下,就可以更改優(yōu)先順序。

搭建DNS

首先搭建DNS之前需要安裝DNS所需要的軟件,這里我們使用“BIND”的這個(gè)軟件,他是有伯克萊大學(xué)發(fā)展出來的,全名為“Berkeley Internet Name Domain”,首先查詢是否安裝bind包。

  • BIND的安裝配置
    dns服務(wù)程序包:bind
    程序名:named
    程序包:yum list all bind*
    1. bind:服務(wù)器
    2. bind-libs:相關(guān)庫
    3. bind-utils:客戶端
    4. bind-chroot:/var/named/chroot/ 默認(rèn)將根鎖在/var/named/chroot目錄中

安裝bind

  1. 查詢是否安裝bind包
    rpm -qa | grep '^bind'

  2. 查看安裝包信息
    yum info bind

  3. 安裝bind包
    yum install bind

  4. 查看當(dāng)前文件包的文件列表(配置文件,數(shù)據(jù)庫,日志,服務(wù)器軟件,等...)
    rpm -ql bind

  5. 測試環(huán)境下,如果服務(wù)過多,容易出錯(cuò),可以選擇禁止一些服務(wù),關(guān)閉防火墻
    (1)getenforce
    顯示Enforcing

(2)vim /etc/selinux/config
修改禁用服務(wù):
SELINUX=permissive
SELINUXTYPE=targeted

DNS3.png

(3)setenforce 0
重啟生效

(4)iptables -vnL
查看防火墻

(5)systemctl disable firewalld
(6)systemctl stop firewlld
關(guān)閉防火墻,清空

  1. 設(shè)置開機(jī)啟動(dòng)
    systemctl start named

  2. 啟動(dòng)服務(wù)
    systemctl enable name

  3. 查看端口號(hào)是否開啟(53端口號(hào))
    ss -nutl

  4. 查看ip是否正常,如果不正常手動(dòng)修改文本ip(正常忽略)
    cdnet | vim ifcfg-eth1

(1)測試拼包,檢查能否訪問網(wǎng)絡(luò)
ping www.baidu.com

(2)備份配置文件
cp -p /etc/named.conf{,.bak}

(3)修改配置文件
vi /etc/named.conf

DNS4.png

  • 將127.0.0.1;后面加上自己的Ip地址,或則嫌麻煩直接改成localhost;就可以了,localhost是機(jī)器里的關(guān)鍵字,代表機(jī)器所有ip。

  • 將allow-query這一項(xiàng)括號(hào)里改為{ localhost(這是允許本機(jī)連接);加上你要連接的機(jī)器的ip,比如172.16.XX.XXX(這樣你的機(jī)器就可以訪問了);如果你是公司訪問,就將公司的ip地址段加進(jìn)去;如果你想所有人訪問就加上any;或者直接注釋掉,在開頭加上#}

(2)然后重新加載配置文件,
systemctl reload named

上述步驟做完之后,本機(jī)器就已經(jīng)是一個(gè)DNS服務(wù)器了,然后可以將DNS指向自己,就是剛剛修改配置文件里,添加DNS1=127.0.0.1指向自己。(127.0.0.1是本機(jī)的意思,如果是另一臺(tái)服務(wù)器,就直接指向DNS服務(wù)器就可以了)

當(dāng)然現(xiàn)在DNS做完了,很簡單,但是這里是什么都沒有的...后面還要做主從服務(wù)器,子域,view,當(dāng)然還要自己編譯安裝一個(gè)DNS,那么下次在寫...bye!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1. 概述 在網(wǎng)絡(luò)環(huán)境中一般用戶只需要在瀏覽器中輸入url如www.sunny.com就可以到對(duì)應(yīng)服務(wù)器獲取相應(yīng)的...
    ghbsunny閱讀 3,445評(píng)論 0 7
  • DNS簡介DNS解析關(guān)鍵概念BIND 一、DNS簡介: (一)DNS服務(wù) DNS:Domain Name Serv...
    哈嘍別樣閱讀 1,894評(píng)論 0 2
  • 一、實(shí)現(xiàn)從根,com,rj.com 模擬互聯(lián)網(wǎng)的DNS架構(gòu) DNS(Domain Name System,域名系統(tǒng)...
    ssjinyao閱讀 1,625評(píng)論 0 7
  • 什么是DNS及功能: DNS(Domain name server),是將IP地址轉(zhuǎn)換為域名地址。當(dāng)在互聯(lián)網(wǎng)訪問外...
    魏鎮(zhèn)坪閱讀 7,874評(píng)論 0 8
  • DNS工作原理 DNS 查詢的過程 DNS( Domain Name System)是“域名系統(tǒng)”的英文縮寫,是一...
    ghbsunny閱讀 9,279評(píng)論 0 0

友情鏈接更多精彩內(nèi)容