內網(wǎng)DNS系統(tǒng)搭建記錄

因為最近處理公司內網(wǎng)DNS系統(tǒng),借此機會記錄一下DNS的相關知識以防后面遺忘笨蚁。

在日常使用中铡溪,我們訪問網(wǎng)站常用的是域名,即www.baidu.com衡蚂,但是這個域名只是為了使用方便而增加的一個方式窿克,我們可以看做別名,其訪問域名毛甲,計算機會將其解析為IP地址來將請求轉發(fā)到相對應的機器上進行對請求的處理年叮。而將域名轉為或者說將域名和IP地址對應起來的方式叫做DNS(域名解析服務)。

DNS簡介

DNS提供的服務分為兩種:
正向解析:也就是常用將域名解析為IP地址玻募,就可以通過域名來查找對應的IP地址只损,例如:www.baidu.com -> xxx.xxx.xxx.xxx
反向解析:也稱逆向解析,是將IP地址解析為域名七咧,可以通過IP地址來尋找對應的域名跃惫,例如:xxx.xxx.xxx.xxx -> www.baidu.com

DNS服務使用的是兩個端口,一個是UDP的53端口艾栋,用于解析DNS爆存,另一個是TCP的53端口,用于連接DNS裹粤。

DNS域

DNS域名的可以看做倒樹狀結構:根域名 -> 頂級域名 -> 二級域名 -> 三級域名 -> 四級域名
以下是從網(wǎng)上找到的一個圖片可以用作參考:


202210101118373.jpeg

根域名:‘.’终蒂,一般在寫域名時會省略
頂級域名:由國家或者組織使用,例如:com\cn\edu...
二級域名:在頂級域名下個人或者組織使用的遥诉,例如:baidu.com
三級域名:在已經(jīng)注冊的二級域名下衍生的拇泣,例如:test.baidu.com、dd.baidu.com

查詢過程

查詢過程老生常談了矮锈,這里只做簡單的查詢過程描述霉翔。一般來說,瀏覽器輸入域名之后苞笨,DNS解析會經(jīng)過一下幾個過程:
?-- 首先搜索瀏覽器的DNS緩存债朵,緩存中維護一張域名與IP地址的對應表子眶;
?-- 若瀏覽器中沒有命中,則會從操作系統(tǒng)的DNS中搜索序芦;
?-- 若操作系統(tǒng)中的DNS緩存依然沒有的話臭杰,則會向本地DNS服務器發(fā)送域名,本地DNS服務會遞歸查詢自己的DNS緩存谚中,查找成功則返回結果渴杆;
?-- 若本地DNS服務器依然沒有命中,則會向上級DNS服務進行迭代查詢宪塔;
??1磁奖、本地DNS服務器向根DNS服務發(fā)起請求,獲取頂級DNS服務器地址某筐;
??2比搭、本地DNS服務器向頂級DNS服務器發(fā)起請求,獲取權限DNS服務器地址南誊;
??3身诺、本地DNS服務器向權限DNS服務器地址發(fā)起請求,獲取該域名對應的IP地址弟疆;
?-- 本地DNS服務器將得到的IP地址返回給操作系統(tǒng)戚长,同時增加一條緩存盗冷;
?-- 操作系統(tǒng)將IP地址返回給瀏覽器怠苔,同時增加一條緩存;
?-- 瀏覽器獲取正確的解析地址仪糖,也會增加一條緩存柑司;

202210100932684.jpeg

內網(wǎng)DNS服務器搭建

DNS服務器:192.168.33.131
測試服務器:192.168.33.128
軟件版本:bind-9.11.4-26.P2.el7_9.9.x86_64

安裝bind

# 安裝bind服務
[root@localhost ~]# yum -y install bind
# 查看bind軟件的相關文件
[root@localhost ~]# rpm -qc bind
/etc/logrotate.d/named
/etc/named.conf     # 主配置文件
/etc/named.iscdlv.key
/etc/named.rfc1912.zones    # 區(qū)域配置文件
/etc/named.root.key
/etc/rndc.conf
/etc/rndc.key
/etc/sysconfig/named
/var/named/named.ca
/var/named/named.empty
/var/named/named.localhost  # 區(qū)域數(shù)據(jù)配置文件(正向)
/var/named/named.loopback   # 區(qū)域數(shù)據(jù)配置文件(反向)

配置文件介紹

主配置文件:/etc/named.conf

# 全局選項
options {
    # 定義監(jiān)聽的IP地址和端口,若注釋則監(jiān)聽全部IP的53端口
    listen-on port 53 { 192.168.33.131; };
    # 定義IPV6地址
    listen-on-v6 port 53 { ::1; };
    # 定義區(qū)域數(shù)據(jù)文件位置
    directory   "/var/named";
    # 定義 dump cache位置
    dump-file   "/var/named/data/cache_dump.db";
    # 指定服務器統(tǒng)計信息路徑
    statistics-file "/var/named/data/named_stats.txt";
    # 記錄內存使用情況
    memstatistics-file "/var/named/data/named_mem_stats.txt";
    # 在收到rndc secroots指令后锅劝,服務器轉儲安全根的目的文件的路徑名攒驰。默認named.secroots
    recursing-file  "/var/named/data/named.recursing";
    # 指定服務器在通過rndc recursing命令指定轉儲當前遞歸請求到的文件路徑。默認named.recursing
    secroots-file   "/var/named/data/named.secroots";
    # 指定允許哪些主機可以進行普通的DNS查詢,可以是關鍵字:any/localhost/none,也可以是IPV4,IPV6地址
    allow-query     { any; };
    # 設置DNS轉發(fā)方式
    #   - first:優(yōu)先使用forwarders DNS解析故爵,查詢不到使用本地DNS服務解析玻粪;
    #   - only: 只使用forwarders DNS解析,查詢不到返回查詢失斘艽埂劲室;
    forward first;
    # 轉發(fā)地址
    forwarders {
        114.114.114.114;
        202.106.0.20;
    };
    # 設置遞歸查詢
    recursion yes;
    # 是否支持dnssec開關
    dnssec-enable yes;
    # 是否支持dnssec確認開關
    dnssec-validation yes;

    # ISC DLV KEY 路徑
    bindkeys-file "/etc/named.root.key";
    # 指定管理密鑰路徑
    managed-keys-directory "/var/named/dynamic";
    # 指定服務器進程pid文件路徑
    pid-file "/run/named/named.pid";
    # named生成的TSIG session key寫入文件的路徑
    session-keyfile "/run/named/session.key";
};

# 定義日志
logging {
        channel default_debug {
                file "data/named.run";
                # 設置當前日志調試級別
                severity dynamic;
        };
};

# 定義區(qū)域
zone "." IN {
    # 域(master)、從域(slave)结窘、緩存域(hint)很洋、轉發(fā)域(forward)、stub 只負責主域的NS記錄
    type hint;
    # 指定根域的文件
    file "named.ca";
};

# 正反向區(qū)域文件
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";

區(qū)域配置文件:/etc/named.rfc1912.zones

# 設置維護域
zone "localhost.localdomain" IN {
    # 指定為主域服務器
    type master;
    # 指定區(qū)域數(shù)據(jù)的zone文件名
    file "named.localhost";
    # 是否允許輔助dns更新: allow-updata
    allow-update { none; };
};

# IPV6的PTR配置文件設定
zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN {
    type master;
    file "named.loopback";
    allow-update { none; };
};

# 配置PRT維護域
zone "1.0.0.127.in-addr.arpa" IN {
    type master;
    file "named.loopback";
    allow-update { none; };
};

區(qū)域數(shù)據(jù)配置文件

/var/named/named.localhost(正向)
# DNS記錄過期時間
$TTL 1D
# 第一個@表示當前區(qū)域的名字隧枫;第二個@表示主dns服務器區(qū)域記錄 SOA 表示dns的SOA記錄類型: rname.invalid. 表示管理該域名管理員郵箱地址(其中'.'代表電子郵件中的'@')
@   IN SOA  @ rname.invalid. (
                    # 序列號
                    0   ; serial 
                    # 更新時間
                    1D  ; refresh
                    # 重試時間
                    1H  ; retry
                    # 過期時間
                    1W  ; expire
                    # 緩存時間
                    3H )    ; minimum
    # NS:NameServer 即指定dns區(qū)域服務器記錄
    NS  @
    A   127.0.0.1
    AAAA    ::1
/var/named/named.loopback(反向)
$TTL 1D
@   IN SOA  @ rname.invalid. (
                    0   ; serial
                    1D  ; refresh
                    1H  ; retry
                    1W  ; expire
                    3H )    ; minimum
    NS  @
    A   127.0.0.1
    AAAA    ::1
    # 反向與正向代理不同點喉磁,一定要記得域名后面的'.'
    PTR localhost.

添加新解析記錄 - 正文開始

以test.com為例

添加的過程基本是 - 添加區(qū)域文件 -> 將區(qū)域文件位置添加到主配置文件中 -> 添加區(qū)域數(shù)據(jù)文件谓苟。
順序可以亂,但是不能落下协怒,區(qū)域文件有兩種:
1涝焙、新建區(qū)域文件,需要添加之后將新增區(qū)域文件位置增加到主配置文件中孕暇;
2纱皆、或者直接將解析記錄添加到默認的區(qū)域文件(/etc/named.rfc1912.zones),不需要再次修改主配置文件芭商。

新增區(qū)域文件

[root@localhost ~]# vim /etc/named.test.zones
# 正向
zone "test.com" IN {
        type master;
        file "test.com.zone";
};
# 反向(若沒有反向解析的需求派草,可以省略,下面區(qū)域數(shù)據(jù)配置文件也不需要反向解析的配置文件铛楣,即/var/named/192.168.33.zone)
zone "33.168.192.in-addr.arpa" IN {
    type master;
    file "192.168.33.zone";
};

修改主配置文件

[root@localhost ~]# vim /etc/named.conf
......
include "/etc/named.rfc1912.zones";
# 新增區(qū)域文件位置
include "/etc/named.test.zones";
include "/etc/named.root.key";

新增區(qū)域數(shù)據(jù)配置文件

[root@localhost ~]# cd /var/named/
[root@localhost named]# cp -a named.localhost test.com.zone
[root@localhost named]# vim test.com.zone
$TTL 1D
@       IN SOA  @ rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      @
        A       127.0.0.1
        AAAA    ::1
# 新增解析記錄近迁,將dddd.test.com解析為192.168.33.129
dddd IN A 192.168.33.129
[root@localhost named]# cp -a named.loopback 192.168.33.zone
$TTL 1D
@       IN SOA  @ rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      @
        A       127.0.0.1
        AAAA    ::1
129     PTR     dddd.test.com.

重啟DNS服務

[root@localhost ~]# systemctl restart named

測試解析

在192.168.33.128上配置DNS指向192.168.33.131,來測試是否可正常解析dddd.test.com

[root@localhost ~]# vim /etc/resolv.conf
# Generated by NetworkManager
nameserver 192.168.33.131

[root@localhost ~]# systemctl restart network
[root@localhost ~]# nslookup dddd.test.com
Server:     192.168.33.131
Address:    192.168.33.131#53

Name:   dddd.test.com
Address: 192.168.33.129

[root@localhost ~]# nslookup 192.168.33.129
129.33.168.192.in-addr.arpa name = dddd.test.com.
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末簸州,一起剝皮案震驚了整個濱河市鉴竭,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌岸浑,老刑警劉巖搏存,帶你破解...
    沈念sama閱讀 218,546評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異矢洲,居然都是意外死亡璧眠,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,224評論 3 395
  • 文/潘曉璐 我一進店門读虏,熙熙樓的掌柜王于貴愁眉苦臉地迎上來责静,“玉大人,你說我怎么就攤上這事盖桥≡煮Γ” “怎么了?”我有些...
    開封第一講書人閱讀 164,911評論 0 354
  • 文/不壞的土叔 我叫張陵揩徊,是天一觀的道長腰鬼。 經(jīng)常有香客問我,道長塑荒,這世上最難降的妖魔是什么熄赡? 我笑而不...
    開封第一講書人閱讀 58,737評論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮袜炕,結果婚禮上本谜,老公的妹妹穿的比我還像新娘。我一直安慰自己偎窘,他們只是感情好乌助,可當我...
    茶點故事閱讀 67,753評論 6 392
  • 文/花漫 我一把揭開白布溜在。 她就那樣靜靜地躺著,像睡著了一般他托。 火紅的嫁衣襯著肌膚如雪掖肋。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,598評論 1 305
  • 那天赏参,我揣著相機與錄音志笼,去河邊找鬼。 笑死把篓,一個胖子當著我的面吹牛纫溃,可吹牛的內容都是我干的。 我是一名探鬼主播韧掩,決...
    沈念sama閱讀 40,338評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼紊浩,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了疗锐?” 一聲冷哼從身側響起坊谁,我...
    開封第一講書人閱讀 39,249評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎滑臊,沒想到半個月后口芍,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,696評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡雇卷,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,888評論 3 336
  • 正文 我和宋清朗相戀三年鬓椭,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片聋庵。...
    茶點故事閱讀 40,013評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡膘融,死狀恐怖,靈堂內的尸體忽然破棺而出祭玉,到底是詐尸還是另有隱情,我是刑警寧澤春畔,帶...
    沈念sama閱讀 35,731評論 5 346
  • 正文 年R本政府宣布脱货,位于F島的核電站,受9級特大地震影響律姨,放射性物質發(fā)生泄漏振峻。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,348評論 3 330
  • 文/蒙蒙 一择份、第九天 我趴在偏房一處隱蔽的房頂上張望扣孟。 院中可真熱鬧,春花似錦荣赶、人聲如沸凤价。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,929評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽利诺。三九已至富蓄,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間慢逾,已是汗流浹背立倍。 一陣腳步聲響...
    開封第一講書人閱讀 33,048評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留侣滩,地道東北人口注。 一個月前我還...
    沈念sama閱讀 48,203評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像君珠,于是被迫代替她去往敵國和親疆导。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,960評論 2 355

推薦閱讀更多精彩內容