Linux DNS原理簡介及配置 數據庫
通常來說域名比IP地址更加的有含義、也更容易記住,因此一般用戶更習慣輸入域名來訪問網絡中的資源,可是計算機主機在互聯網中只能經過IP識別對方主機,那麼就須要DNS域名解析服務了。 緩存
域名:www.baidu.com(也叫作FQDN:Full Qualified Domain Name, 徹底限定域名,同時帶有主機名和域名的名稱) 安全
一般 Internet 主機域名的通常結構爲:主機名.三級域名.二級域名.頂級域名。 服務器
TLD(top level domain) 網絡
組織域:.com, .org, .net, .cc 框架
國家域: .cn, .tw, .hk, .iq, .ir, .jp dom
反向域: IP-->FQDN 將IP地址轉換成主機名,早期只能正向解析,後來引入了一個機制。指針;可是從IP轉換成FQDN是另一套數據庫。 分佈式
DNS服務協議採用相似目錄樹的層次結構記錄域名與IP地址的映射對應關係,造成一個分佈式的數據庫系統,上級僅知道其直接下級,下級只知道根的位置。結構模型: 函數
DNS域名解析服務(Domain Name System)是用於解析域名與IP地址對應關係的服務,功能上能夠實現正向解析與反向解析: 測試
正向解析:根據主機名(域名)查找對應的IP地址。
反向解析:根據IP地址查找對應的主機名(域名)。
Linux下nsswitch(network service switch)是一個通用框架,與各類類型存儲交互的公共實現,實現名稱解析服務。其中有庫文件,libnss_files.so庫文件就是實現查找文件時, 其應該調用的文件。其展示的就是一個配置文件,/etc/nssitch.conf,此配置文件中
這個files就是經過libnss_files來查找/etc/hosts
hosts可經過兩種方式來查找: files dns
file: /etc/hosts配置文件
dns: DNS服務器
系統中stub resolver:名稱解析器,根據配置文件來查找對應的ip地址。
ping www.itodo.com此過程就是先查找本地/etc/hosts文件,若是沒有再查找dns服務器。
hosts格式:
IPADDR FQDN Ailases
192.168.100.1 www.ss.com www
當應用過程須要將一個主機域名映射爲IP地址時,就調用域名解析函數,解析函數將待轉換的域名放在DNS請求中,以UDP報文方式發給本地域名服務器。本地的域名服務器查到域名後,將對應的IP地址放在應答報文中返回。
dns查詢:
遞歸查詢:主機向本地域名服務器的查詢通常都是採用遞歸查詢,只發出一次請求。
迭代查詢:本地域名服務器向根域名服務器的查詢的迭代查詢,發出屢次請求。
以上簡單理解來講,主機1訪問主機2的域名a.zz.com,首先向本機域名服務器發起請求主機2的ip,本機沒有,向根域名服務器查詢,根返回消息說頂級域名服務器那裏知道,本機又向頂級域名服務器查詢,頂級域名服務器又返回消息說二級域名服務器那裏有答案,本機又向二級域名查詢,最後通過本機域名服務器的緩存以後,返回主機2的域名對應的ip地址。
數據庫中的每個條目稱做一個資源記錄(Resource Record,RR)
資源記錄的格式:
$TTL 600;
NAME [TTL] IN RRT VALUE
www.ss.com IN A 1.1.1.1
1.1.1.1 IN PTR www.ss.com
資源記錄類型(RRT):
SOA(start of authority)
ZONE_NAME TTL IN SOA FQDN ADMINISTRATOR_MAILBOX(
serial number 版本號
refresh 刷新時間
retry 重試時間
expire 過時時間
na ttl ) 否認答案的ttl
時間單位:M(分鐘)、H(小時)、D(天)、W(周),默認單位是秒
郵箱格式:admin@ss.com -寫爲-> admin.ss.com
@:也就是ZONE_NAME
NS(Name Server): ZONE_NAME --> FQDN
magedu.com. 600 IN NS ns1.magedu.com.
ns1.magedu.com. 600 IN A 1.1.1.2
MX(Mail eXchanger): ZONE_NAME --> FQDN
ZONE NAME TTL IN MX pri VALUE
優先級:0-99,數字越小級別越高
magedu.com. 600 IN MX 10 mail.magedu.com.
mail.magedu.com. 600 IN A 1.1.1.3
A(address): FQDN-->IPv4
AAAA:FQDN-->IPv6
PTR(pointer):IP-->FQDN
CNAME(Canonical NAME): FQDN-->FQDN
www2.magedu.com. IN CNAME www.magedu.com.
TXT:文本字符串
DNS區域:
正向區域文件
magedu.com. IN SOA
www.maged.com. IN A 192.168.0.1
簡寫爲:
www IN A 192.168.0.1
反向區域文件
0.168.192.in-addr.arpa. IN SOA
1.0.168.192.in-addr.arpa. IN PTR www.magedu.com.
簡寫爲:
1 IN PTR www.magedu.com.
區域傳送
區域傳送的類型:
徹底區域傳送: axfr
增量區域傳送:ixfr
區域類型:
主區域:master
從區域:slave
提示區域:hint
轉發區域:forward
DNS所用的最經常使用軟件爲BIND
bind:
/etc/named.conf
BIND進程的工做屬性
區域的定義
/etc/rndc.key
rndc: Remote Name Domain Controller
密鑰文件
配置信息:/etc/rndc.conf
/var/named/
區域數據文件
bind-chroot:爲了提升系統安全新,把系統中的一個子目錄做爲bind運行時的目錄。
默認:named
用戶:named
組:named
/var/named/chroot/
etc/named.conf
etc/rdnc.key
sbin/named
var/named/
安裝配置:
yum -y install bind bind-utils bind-chroot
rpm –qa | grep "^bind"
listen-on port 53 { any; };
在/var/named目錄下添加正向解析文件named.yan和反向解析文件named.222
named-checkconf
named-checkzone "區域名" 區域文件路徑
systemctl start named
正向解析測試:
反向解析測試:
至此簡單的配置完畢。