DNS:
域名協議 ,工作在應用層
監聽端口 tcp udp 監聽53 端口
/etc/hosts
最頂級 .
一級域名 .com
二級域名 ibm hp
www
只有上級知道下級 路徑
查詢類型: 遞歸查詢 例如 a發數據給b,b沒有但b知道c有,所以就發給c,於是c拿着答案給b,b在給a
迭代查詢 假如 a發送數據給b,b沒有就告訴a我沒有c有,a就去找b
把主機名稱轉換成 ip : 正向解析
把ip地址轉換成主機名 :反向解析
全球 13個 根節點 日本 澳洲 其餘都在美國
記錄類型:
1,用戶名 轉換ip :A 記錄
2,ip 轉換用戶名:PTR指針記錄
3,域 的域名服務器是誰的 : NS
4,域的 郵件服務 MTA :MX 郵件交換器
5,別名 : CNANE 正式名稱
DNS 服務器類型:
區域傳送: 完全 axfr
增量 ixfr 表示只傳輸變化的內容
只要修改主服務器,輔助服務器過來同步過程就叫 區域傳送
主的只能有一個 ,輔助服務器不一定非同步主服務器,也可以從別的地方同步
名稱解析:
正向 :需要一個單獨數據庫文件
反向 :也需要一個單獨的數據庫
反向解析 把網絡地址 反過來寫
區域: 是 物理概念
域 :是邏輯概念
查詢 步驟
1, 找 /etc/hosts
2, 找緩存 dns cade
3,找server 緩存
4,權威解析 authuritiue
注 有緩存的 就是非權威
DNS 軟件
bind: 最新版本 9.8.0
查看bind軟件包 yum list all bind*
最主要 兩段 1,全局選項段 用 options {
如果有字段 ,字段後需加;號
}; 要求格式非常嚴格
對全服務器都生效
只對某個區域生效
zone "a.org" {
};
數據文件存放:
/var/named
主配置文件 :/etc/named.conf
建立一個基本的配置文件
首先 建立 vim /etc/named.conf
options {
directory "/var/named"; 用於定義工作目錄的
};
定義區域 需要三個區域
zone "." IN { 定義根區域
type hint; 類型 固定的
file "namecd.ca" named.ca 隨便起的名
};
zone "localhost" IN { 注 正向
type master; 類型
file "localhost.zone"; 注 localhost.zone 需要建立
}; 以下有介紹
zone "0.0.127.in-addr.arpa" IN { 注 反向的
type master
file "named.local";
};
查詢 13個根節點
dig -t NS
前提是能上網
把查詢的結果保存在 named.ca
dig -t NS . @a.root-servers.net > /var/named/named.ca
在named 下 看一下 cat named.ca
接下來該建第二個文件
vim localhost.zone
第一 ,宏定義 $TTL 86400 記錄生存86400
第二 , 解析記錄 name [ttl] IN 記錄類型 value
例 格式 www.a.org 86400 IN A 1.1.1.1
第一條記錄: 類型爲 SOA ,對於一個文件來講,SOA通常只能有一個。
編輯 vim localhost.zone
$TTL 86400
@ 600 IN SOA localhost. admin.localhost.( :@表示特殊意義就表示localhost.
2011081601 數據版本號 不能超過 10位
1H 每1小時來檢查一次
10k 重試 鏈接服務器
7D 7天過期時間 ,停止工作
1D ) 否定回答
IN NS localhost. 注localhost 隨便起的名
localhost. IN A 127.0.0.1 本機地址
解析的就是本機到本機
所以用的是本機地址
注 :數據版本號 就是主服務器 號比輔助服務器號大, 輔助服務器就要去同步
該建第三個了 反向
cp localhost.zone named.local
編輯 vim named.local
在最後改爲
1 IN PRT localhost 對應固定格式
注 :1 表示 前邊寫過 0.0.127 ,在這裏只需添加1就 ok了
檢查以下語法:
named-checkconf
named-chechkzone "localhost" /var/named/localhost.zone
沒問題 就 開始啓動服務
service named start
查看53 端口
netstat -tunl | grep :53
可以當做緩存服務器來用了
在這裏做一下驗證:
把服務器指向自己
編輯一下客戶端
vim /etc/resolv.conf
nameserver 127.0.0.1 指向自己
dig -t A www.baidu.com 只是例子
緩存服務器 建好了
解析一個域的所有相關聯的記錄
做正向 反向 解析
編輯 vim /etc/named.conf
添加個區域
zone "a.org" IN {
type master;
file "named.local";
};
先做正向解析的
cd /var/named/
vim a.org.zone
$TTL 1200
@ IN SOA nsl.a.org admin.aorg. (
2011081601
1H
10M
7D
1D
IN NS ns1.a.org
IN NS ns2.a.org 輔助的
IN MX mail.a.org 郵件服務
ns1.a.org. IN A 172.17.100.1 注 如果有兩臺郵件服務
ns2.a.org. IN A 172.16.100.2 優先級高的臺收,
mail.a.org. IN A 172.16.100.1
www.a.org. IN A 172.16.100.3
bbs.a.org. IN CNAME www.a.org.
做正向解析的
改屬組 chown :named a.org.zone
service named relocal
可以用 windows 來測試
在運行命令
輸入 nslookup
Server 172.16.100.1
set q=A
www.a.org
測試出來 ip地址
在主機上測試:
host -t NS a.org
host -t A bbs.a.org
顯示信息 這是個別名 ,還顯示對應的ip地址
反向查詢:
編輯 vim /etc/named.conf
添加
zone "16.172.in-addr.arpa" IN {
type master;
file "172.16.zone";
};
切換到
cd /var/named/
vim 172.16.zone
可以 拷貝 cp a.org.zone 172.16.zone在編輯
再編輯
$TTL 1200
@ IN SOA nsl.a.org admin.aorg. (
2011081601
1H
10M
7D
1D
IN NS ns1.a.org
IN NS ns2.a.org
1.100 IN PTR ns1.a.org
2.100 IN PTR ns2.a.org
1.100 IN PTR mail.a.org
3.100 IN PTR www.a.org
100.100 IN PTR ftp.a.org
檢查語法
named-checkzone "16.172.in-addr.arpa" /var/named/172.16.zone
重啓
service named restart
測試 在windows
輸入 nslookup
server172.16.100.1
set q=PTR
172.16.100.1
顯示信息 name = nsl.a.org
在主機上測試:
dig -x 172.16.100.1
反向解析 很關鍵