一、DNS服務
1.DNS作用
存放域名對應IP的記錄。將域名轉換爲IP、將IP轉換爲域名
IP:標識一臺網絡設備,通過IP可訪問指定網絡設備
域名:需註冊、如:baidu.com
2.DNS解析
(1)正向解析:將域名轉換爲IP地址;如www.baidu.com --> 202.103.250.23
(2)反向解析:將IP轉換爲域名;如202.103.250.23 --> www.baidu.com
3.DNS查詢方式
(1)遞歸查詢:發送的內容必須給出結果;客戶機和首選DNS之間
(2)迭代查詢:發送的內容不需給出迴應;DNS服務器和DNS服務器之間
4.DNS查詢過程
(1)客戶端訪問www.baidu.com
(2)客戶端檢查本地是否存在緩存,如果有直接解析並訪問
(3)客戶端檢查hosts文件是否存在對應關係,如果有直接解析並訪問
Windows:C:\Windows\System32\drivers\etc\hosts
Linux:/etc/hosts
(4)客戶端向首選DNS發送遞歸查詢,服務器收到後檢查是否有解析記錄,如果有直接將結返回給客戶端實現訪問(5)首選DNS使用迭代查詢方式發送請求給其他DNS服務器,DNS服務器之間依層級尋找,直到根服務器位置,若有找到將結果返回給客戶端實現訪問
(6)跟服務器收到請求後,將請求轉發到對應一級DNS服務器
(7)一級DNS服務器收到請求後,將請求轉發到對應二級DNS服務器
(8)二級DNS服務器收到請求後,查找對應域名是否有對應IP,如有對應IP地址
(9)DNS服務器將對應IP告知首選DNS服務器
(10)由首先DNS服務器將IP及對應域名緩存,並將IP告知客戶端
(11)如果都未找到解析,則首選DNS返回不可解析消息給客戶端實現整個查詢結束
5.DNS的角色
(1)緩存DNS:主要用於內網,用於加速內網訪問公網域名,可緩存公網域名對應IP。緩存後的記錄,當客戶端下次使用時,不需尋找DNS,只需尋找緩存
(2)主DNS:提供DNS(域名解析)服務
(3)從DNS:作爲主DNS服務器的備用,所有解析記錄從主DNS同步,當主DNS失效時,由從DNS繼續提供服務
二、部署緩存DNS服務器
兩塊網卡,第一塊網卡爲橋接,第二塊vmnet1
1.修改網絡配置
(1)cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth1
(2)vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=dhcp
(3)vim /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=static
IPADDR=192.168.1.254
NETMASK=255.255.255.0
(4)/etc/init.d/network restart
2.開啓路由轉發
(1)vim /etc/sysctl.conf
7 net.ipv4.ip_forward = 1
(2)sysctl -p
3.編輯iptables防護牆規則
iptables -t nat -I POSTROUTING -s 192.168.1.0/24 -j SNAT --to-source 192.168.20.186(換爲橋接獲取的IP)
//允許192.168.1.0上網
4.安裝bind軟件包
yum -y install bind bind-utils
5.編輯主配置文件
vim /etc/named.conf
options {
listen-on port 53 { 192.168.1.254; }; //設置監聽IP地址;需修改
directory "/var/named"; //區域配置文件存放目錄
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-query {localhost;}; //刪除該行
recursion yes;
forwarders {114.114.114.114;8.8.8.8;}; //轉發器設置,將所有DNS查詢請求轉發
dnssec-enable no; //bind安全檢測機制;需修改
dnssec-validation no; //bind安全檢測機制;需修改
dnssec-lookaside auto;
/* Path to ISC DLV key */
bindkeys-file "/etc/named.iscdlv.key";
managed-keys-directory "/var/named/dynamic";
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
zone "." IN { //指定解析域
type hint; //指定DNS類型,爲緩存服務器
file "named.ca"; //根解析文件
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
6.重啓DNS服務並設置35級別的開機自啓
/etc/init.d/named start && chkconfig --level 35 named on
7.客戶端配置
一塊網卡vmnet1、網關192.168.1.254、首選DNS 192.168.1.254
cmd --> nslookup www.baidu.com
三、部署主從DNS服務
DNS記錄種類
SOA記錄:起始授權記錄,代表所需解析域
NS記錄:標識DNS服務器名稱
A記錄:通過域名解析IP
CNAME記錄:別名
MX記錄:郵件記錄,可自動搜索郵件服務器
AAAA記錄:通過域名解析IPV6地址
主DNS服務器配置
一塊網卡爲vmnet1
1.修改網絡配置
(1)vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=static
IPADDR=192.168.1.10
NETMASK=255.255.255.0
DNS1=192.168.1.10
DNS2=192.168.1.20
(2)/etc/init.d/network restart
(3)vim /etc/sysconfig/network
HOSTNAME=ns1.xueluo.org
2.安裝bind軟件包
yum -y install bind bind-utils
3.編輯主配置文件
(1)vim /etc/named.conf
options {
listen-on port 53 { 192.168.1.10; }; //設置監聽IP地址;需修改
directory "/var/named"; //區域配置文件存放目錄
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";\
allow-query {localhost;}; //刪除該行
recursion yes;
dnssec-enable no; //bind安全檢測機制;需修改
dnssec-validation no; //bind安全檢測機制;需修改
dnssec-lookaside auto;
/* Path to ISC DLV key */
bindkeys-file "/etc/named.iscdlv.key";
managed-keys-directory "/var/named/dynamic";
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
zone "xueluo.org" IN { //指定正向解析域爲xueluo.org
type master; //指定DNS類型,爲主DNS服務器
file "xueluo.org.zone"; //正向解析文件
allow-transfer {192.168.1.20;}; //允許同步服務器IP
};
zone "1.168.192.in-addr.arpa" IN { //指定反向解析區域
type master; //指定DNS類型,爲主DNS服務器
file "192.168.1.arpa"; //反向解析文件
allow-transfer {192.168.1.20;}; //允許同步服務器IP
};
include "/etc/named.rfc1912.zones";
incude "/etc/named.root.key";
(2)cp /var/named/named.empty /var/named/xueluo.org.zone //拷貝DNS模版文件並重命名
(3)cp /var/named/named.empty /var/named/192.168.1.arpa
(4)vim /var/named/xueluo.org.zone
$TTL 86400(TTL值,生命週期)
@ IN SOA xueluo.org.(需要解析的域名) admin.xueluo.org.(管理員郵箱) (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
IN NS ns1.xueluo.org. //NS記錄(起始授權記錄);輸入主DNS和從DNS服務器的主機名
IN NS ns2.xueluo.org.
ns1 IN A 192.168.1.10 //DNS服務器對應的IP地址
ns2 IN A 192.168.1.20
www IN A 192.168.1.100 //www.xueluo.org對應的IP
ftp IN CNAME www
(5)vim /var/named/192.168.1.arpa
$TTL 86400(TTL值,生命週期)
@ IN SOA xueluo.org.(需要解析的域名) admin.xueluo.org.(管理員郵箱) (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
IN NS ns1.xueluo.org. //NS記錄(起始授權記錄);輸入主DNS和從DNS服務器的主機名
IN NS ns2.xueluo.org.
10 IN PTR ns1.xueluo.org.
20 IN PTR ns2.xueluo.org.
100 IN PTR www.xueluo.org.
ftp IN CNAME www
(6)chown named:named /var/named/192.168.1.arpa /var/named/xueluo.org.zone
(7)/etc/init.d/named start && chkconfig --level 35 named on
從DNS搭建
一塊網卡爲vmnet1
1.修改網絡配置
(1)vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=static
IPADDR=192.168.1.20
NETMASK=255.255.255.0
DNS1=192.168.1.20
DNS2=192.168.1.10
(2)/etc/init.d/network restart
(3)vim /etc/sysconfig/network
HOSTNAME=ns2.xueluo.org
2.安裝bind軟件包
yum -y install bind bind-utils
3.編輯主配置文件
(1)scp [email protected]:/etc/named.conf /etc/
(2)vim /etc/named.conf
options {
listen-on port 53 { 192.168.1.20; }; //設置監聽IP地址;需修改
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";\
recursion yes;
dnssec-enable no;
dnssec-validation no;
dnssec-lookaside auto;
/* Path to ISC DLV key */
bindkeys-file "/etc/named.iscdlv.key";
managed-keys-directory "/var/named/dynamic";
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
zone "xueluo.org" IN {
type slave; //指定DNS類型,爲從DNS服務器
file "slaves/xueluo.org.zone"; //指定同步後正向解析文件存儲路徑
masters {192.168.1.10;}; //指定主DNS對應IP
};
zone "1.168.192.in-addr.arpa" IN {
type slave; //指定DNS類型,爲從DNS服務器
file "slaves/192.168.1.arpa"; //指定同步後反向解析文件存儲路徑
masters {192.168.1.10;}; //指定主DNS對應IP
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
(3)/etc/init.d/named start && chkconfig --level 35 named on //啓動named服務並設置爲開機自啓
(4)ls -l /var/named/slaves/ //驗證是否有拷貝的文件
客戶端配置
一塊網卡vmnet1、首選DNS 192.168.1.10、 備用DNS 192.168.1.20
cmd --> nslookup www.xueluo.org //nslookup(DNS解析命令)