❶ linux下清理dns 緩存
首先我們要了解,dns查詢的基本邏輯和緩存的存在位置
如圖所示,基本邏輯為:
客戶端 - 本機器dns解析器(如host,dnsmasq)- 本地dns伺服器(比如家庭路由器)- 網路dns伺服器
為了加速查詢,在解析器和伺服器上都有緩存在,一般而言我們要清理的是本機器上的dns緩存
顯然,我們必須首先了解本地機器用的是什麼解析器,可以通過看哪個進程占據了53埠來查詢,因為53埠是dns伺服器埠。
可以通過以下指令:
分別會下列結果
針對不同的解析器
可以用不同的命令清理
針對system-resolved:
同時為了驗證dns緩存真的被清理了,可以用命令來查看緩存
針對dnsmasq:
參考:
https://devconnected.com/how-to-flush-dns-cache-on-linux/
❷ 如何清空linux中dns緩存
Linux下DNS緩存實現通常有兩種方式:
一種是用DNS緩存程序NSCD(name service cache daemon)負責管理DNS緩存。
一種實現DNS緩存則是用Bind來架設Caching Name Server來實現。
如果是清除NSCD上的Cache,可重新啟動NSCD服務來達成清除DNS Cache的效果。用這個命令:
# service nscd restart
或是
#/etc/init.d/nscd restart
如果是清除BIND伺服器上的CACHE,用這個命令:
# rndc flush
如果你的DNS伺服器是用dnsmasq實現的,用下面這個命令:
$ sudo /etc/init.d/dnsmasq restart
註:DNSmasq是一個輕巧的,容易使用的DNS服務工具,它可以應用在內部網和Internet連接的時候的IP地址NAT轉換,也可以用做小型網路的DNS服務。
❸ linux下如何配置DNS伺服器,
在linux下配置DNS伺服器,下面是配置過程中設置過的一些文件,
/etc/hosts 文件的具體內容如下:
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost.localdomain localhost fc4
192.168.1.3 a.test.com a
192.168.1.1 b.test.cn b
/etc/host.conf 文件:
order hosts,bind
表示先用hosts文件做解析,在用DNS解析
/etc/resolv.conf 文件:
; generated by NetworkManager, do not edit!
search test.com
nameserver 127.0.0.1
search test.cn
nameserver 192.168.1.1
nameserver 61.144.56.100
/etc/named.conf 文件:
//
// named.conf for Red Hat caching-nameserver
//
options {
directory "/var/named";
mp-file "/var/named/data/cache_mp.db";
statistics-file "/var/named/data/named_stats.txt";
/*
* If there is a firewall between you and nameservers you want
* to talk to, you might need to uncomment the query-source
* directive below. Previous versions of BIND always asked
* questions using port 53, but BIND 8.1 uses an unprivileged
* port by default.
*/
// query-source address * port 53;
};
//
// a caching only nameserver config
//
controls {
inet 127.0.0.1 allow { localhost; } keys { rndckey; };
};
zone "." IN {
type hint;
file "named.ca";
};
zone "test.com"IN {
type master;
file "test.com";
allow-update { none; };
};
zone "1.168.192.in-addr.arpa"IN {
type master;
file "192.168.1.rev";
allow-update { none; };
};
zone "test.cn"IN {
type master;
file "test.cn";
allow-update { none; };
};
zone "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.ip6.local";
allow-update { none; };
};
zone "255.in-addr.arpa" IN {
type master;
file "named.broadcast";
allow-update { none; };
};
zone "0.in-addr.arpa" IN {
type master;
file "named.zero";
allow-update { none; };
};
include "/etc/rndc.key";
在/var/name/test.com 文件下:
$TTL 86400
@ IN SOA a.test.com. root.a.test.com (
42 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
IN NS a.test.com.
IN MX 10 mail.test.com.
a IN A 192.168.1.3
mail IN A 192.168.1.3
//其中root.a.test.com的含義是管理員的郵箱
/var/name/test.cn 文件下:
$TTL 86400
@ IN SOA b.test.cn. root.a.test.com (
42 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
IN NS b.test.cn.
IN MX 10 mail.test.cn.
b IN A 192.168.1.1
mail IN A 192.168.1.1
/var/name/192.168.1.rev 文件下:
$TTL 86400
@ IN SOA 1.168.192.in-addr.arpa. root.test.com. (
1997022700 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS a.test.com.
IN NS b.test.cn.
IN MX 10 mail.test.com.
IN MX 10 mail.test.cn.
3 IN PTR a.test.com.
3 IN PTR mail.test.com.
1 IN PTR b.test.cn.
1 IN PTR mail.test.cn.
然後用/etc/init.d/named restart重啟DNS服務,在重啟過程中,我曾經出現過好幾次的錯誤,按照出錯的提示,會提示是named.conf文件第幾行出錯的。或者提示在那些包含文件例如test.cn這些文件裡面的問題,然後一個一個排除。
最後還有一些nslookup的命令比較有用:
set all用於顯示使用nslookup工具這台機器上的DNS伺服器的一些信息
set type=any會顯示完整信息包括域中郵件伺服器和主從DNS伺服器的名字和IP地址
server 192.168.0.1更換查詢的DNS伺服器地址
❹ linux dns伺服器怎麼設置
在linux系統中一般通過bind軟體包來提供dns服務。
1、環境准備:
臨時關閉selinux和iptables
#setenforce0
#serviceiptablesstop
2、查詢相關軟體包:
[root@localhost~]#yumsearchbind
Loadedplugins:proct-id,refresh-packagekit,subscription-manager
UpdatingRedHatrepositories.
======================================================================================N/SMatched:bind======================================================================================
PackageKit-device-rebind.i686:
bind.i686:TheBerkeleyInternetNameDomain(BIND)DNS(DomainNameSystem)server
bind-chroot.i686:,named(8)
bind-utils.i686:
其中各軟體包的作用如下:
1)、bind: 提供域名服務的主要程序及相關文件。
2)、bind-chroot:為bind提供一個偽裝的根目錄以增強安全性。
3)、bind-utils:提供對DNS伺服器測試的工具程序(如nslookup、dig等)。
3、安裝BIND軟體包
#yuminstall*bind*
4、配置DNS伺服器:
1)、bind伺服器端程序
主要執行程序:/usr/sbin/named
服務腳本:、etc/init.d/named
默認監聽埠:53
主配置文件: /etc/named.conf
保存DNS解析記錄的數據文件: /var/named/chroot/var/named
2)、查詢bind程序的配置文件列表
[root@localhost~]#rpm-qcbind
/etc/logrotate.d/named
/etc/named.conf
/etc/named.iscdlv.key
/etc/named.rfc1912.zones
/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
/var/named/named.loopback
3)、查看主配置文件named.conf
#vim/etc/named.conf
4)、主配置文件解析:
a、全局配置部分,默認的全局配置項如下:
options{
11listen-onport53{127.0.0.1;};//監聽的埠和介面IP地址
12listen-on-v6port53{::1;};
13directory"/var/named";//dns區域的數據文件默認存放位置
14mp-file"/var/named/data/cache_mp.db";
15statistics-file"/var/named/data/named_stats.txt";
16memstatistics-file"/var/named/data/named_mem_stats.txt";
17allow-query{localhost;};//允許dns查詢的客戶機列表,any表示所有
18recursionyes;//是否允許客戶機進行遞歸查詢
19
20dnssec-enableyes;
21dnssec-validationyes;
22dnssec-lookasideauto;
23
24/*PathtoISCDLVkey*/
25bindkeys-file"/etc/named.iscdlv.key";
26};
全局配置中還有如下選項:
//將本域名伺服器不能解析的條目轉發給其它DNS伺服器的IP地址
forwarders{202.102.24.68;12.3.3.3;};
b、默認的區域配置項如下:
35zone"."IN{
36typehint;//區域類型。hint為根區域;master為主區域;slave為輔助區域
37file"named.ca";//該區域對應的區域數據配置文件名
38};
區域配置中還有如下選項:
//允許下載區域資料庫的從域名伺服器IP地址
allow-transfer{189.98.90.23;};
//允許動態更新的客戶端IP地址(none表示全部禁止)
allow-update{none;};
添加如下區域配置:
zone「my.com」IN{
typemaster;//主區域
file「my.com」;//該區域對應的區域數據配置文件名
allow-transfer{192.168.153.1;};//允許下載區域資料庫的從域名伺服器IP地址
allow-update{none;};
};
zone「153.168.192.in-addr.arpa」IN{//表示針對IP192.168.153.130反向解析
typemaster;//主區域
file「192.168.153.my.arpa」;//該區域對應的區域數據配置文件名
};
5)、配置完了,可以執行如下命令對named.conf文件進行語法檢查。
#named-checkconf
注意:倒序網路地址.in-addr.arpa 表示反向區域
主配置文件最後還有一行是:
//該文件包含/etc/named.rfc1912.zones文件
include「/etc/named.rfc1912.zones」
區域數據配置文件:
先看一下named.localhost的內容:
$TTL1D//timetolive生存時間
@[email protected].(//」rname.invalid」DNS區域地址
0;serial//更新序列號
1D;refresh//更新時間
1H;retry//重試延時
1W;expire//失效時間
3H);minimum//無效地址解析記錄的默認緩存時間
NS@//nameserver域名服務記錄
A127.0.0.1//address只用在正向解析的區域數據文件中
AAAA::1
新建2個對應的區域數據配置文件:
#touchmy.com
#touch192.168.153.my.arpa
#vimmy.com
$TTL86400
@INSOAmy.com.admin.my.com(//admin.my.cm為該區域管理員的郵箱地址
200900201
3H
15M
1W
1D
)
@INNSns1.my.com.//當前域的DNS伺服器地址
INMX10mail.my.com.//用於設置當前域的郵件伺服器域名地址,數字10表示優先順序別,數字越大優先順序越低
ns1INA192.168.153.130
mailINA192.168.153.130
wwwINA192.168.153.130
ftpINCNAMEwww//CNAME別名(canonicalname)記錄,表示ftp.my.com和www.my.com對應同一個IP.
[root@localhostnamed]#vim192.168.153.my.arpa
$TTL86400
@INSOAmy.com.admin.my.com(
200900201
3H
15M
1W
1D
)
@INNSns1.my.com.
130INPTRftp.my.com
啟動DNS服務
[root@localhost~]#servicenamedstart
4、測試:
配置一台ftp伺服器用於測試:
#servicevsftpdstart//啟動vsftpd服務
當前網卡的配置:
eth0:192.168.0.1/24
eth1:192.168.153.130/24
[root@localhostnamed]#nslookup192.168.153.130
Server:127.0.0.1
Address:127.0.0.1#53
130.153.168.192.in-addr.arpaname=www.my.com.
[root@localhost~]#nslookupftp.my.com
Server:127.0.0.1
Address:127.0.0.1#53
ftp.my.comcanonicalname=www.my.com.
Name:www.my.com
Address:192.168.153.130
❺ 如何配置Linux的DNS
在Linux中配置DNS
----DNS的功用是把計算機的名稱轉換為 IP地址。DNS的使用簡化了系統管理員及客戶對主機文件的操作和維護。
Intranet伺服器的系統配置
----硬體配置:Pentium 133 CPU,32MB內存,2.1G硬碟,16倍速IDE光碟機。
----操作系統:Red Hat Linux 5.1內核升級為2.2.3版。
----軟體包:Apache Web Server 1.3.6;Sendmail 8.9.3; Wu-Ftp 2.4.2;DNS。
----1.安裝Red Hat Linux 5.1
----參考README文件,用DOS啟動盤引導,並將光碟機驅動,執行\dosutils\autoload,依照提示進行安裝。軟體包選 WWW、Sendmail、 Ftp、 DNS等,在啟動欄選中inetd、httpd、named、sendmail、 snmp、syslog等。
----2.網卡配置
Config mode: manual
Primary name + domain: Linux.qxj.gov.cn
Aliases:qxj_Linux
IP address:192.168.0.100
Netmask:255.255.255.0
Net device:eth0
Kernel mole:3c509
I/O port:0x210
Irq:11
----預設網關為:192.168.0.1。
DNS的設置
----1.有關參數
域名: qxj.gov.cn
WWW伺服器: www.qxj.gov.cn
Ftp伺服器: ftp.qxj.gov.cn
Mail伺服器: mail.qxj.gov.cn
----2.配置DNS
----①編輯/etc/named.boot,使之為:
directory /var/named
;cache named.ca
primary 0.0.127.in-addr.arpa named.local
primary qxj.gov.cn qxj.gov.cn
----②檢查/etc/host.conf內容為:
order host, bind
multi on
----③檢查文件/etc/resolv.conf為如下內容:
search qxj.gov.cn
nameserver 127.0.0.1
----④編輯或建立/etc/named.conf,內容為:
options {
directory/var/named;
};
zone0.0.127.in-addr.arpa {
type master;
filenamed.local;
};
zoneqxj.gov.cn {
type master;
fileqxj.gov.cn;
};
----⑤檢查/var/named/named.local內容為:
@ IN SOA ns.qxj.gov.cn. hostmaster.qxj.gov.cn. (
1997022700; Serial
28800; Refresh
14400; Retry
3600000; Expire
86400); Minimum
IN NS ns.qxj.gov.cn.
1 IN PTR localhost.
----⑥編輯或建立文件/var/named/qxj.gov.cn:
@ IN SOA ns.qxj.gov.cn. hostmaster.qxj.gov.cn. (
199904261 ;Serial
28800;Refresh
7200;Retry
3000000;Expire
86400);Minimum
IN NS ns.qxj.gov.cn.
* IN MX 10 mail
* IN MX 20 qxj.gov.cn.
localhost A 127.0.0.1
ns A 192.168.0.100
qxj.gov.cn. A 192.168.0.100
mail A 192.168.0.100
news CNAME ns
ftp CNAME ns
www CNAME ns
pc1 A 192.168.0.5
pc2 A 192.168.0.6
winnt A 192.168.0.10
----設置完成後,執行ndc restart重新啟動DNS。
----3.檢查DNS
----執行nslookup,結果應與以下內容相似,說明你已成功了。
$ nslookup
Default Server: localhost
Address: 127.0.0.1
> set q=any
> qxj.gov.cn
Server: localhost
Address: 127.0.0.1
qxj.gov.cn
origin = ns. qxj.gov.cn
mail addr = hostmaster.qxj.gov.cn
serial = 199904261
refresh = 28800(8 hours)
retry = 7200(2 hours)
expire = 3000000(34 days 17 hours 20 mins)
minimum ttl = 86400(1 day)
qxj.gov.cn nameserver = ns.qxj.gov.cn
qxj.gov.cn internet address = 192.168.0.100
qxj.gov.cn nameserver = ns.qxj.gov.cn
ns.qxj.gov.cn internet address = 192.168.0.100
>exit
❻ RedHat-Linux配置DNS詳細步驟是什麼
RedHat-Linux伺服器搭建DNS伺服器;x0dx0aDNS domain name system 域名系統x0dx0a特點:(1)具備遞歸查詢和迭代查詢x0dx0a(2)分布式資料庫x0dx0a(3)將域名解析為IPx0dx0a(4)具有主DNS伺服器、輔DNS伺服器和緩存DNS伺服器三種類型x0dx0a(5)全球13台根域伺服器x0dx0ax0dx0a以下是搭建步驟:x0dx0a1、准備軟體包x0dx0abind.i386 --主服務軟體包 x0dx0abind-chroot.i386 -- 籠環境軟體包 x0dx0abind-devel.i386 --開發包x0dx0abind-libs.i386 --庫文件x0dx0abind-utils.i386 --工具包x0dx0a[root@rootbug ~]# rpm -qa |grep ^bind- --rhel6.3下的包x0dx0abind-utils-9.8.2-0.10.rc1.el6.x86_64x0dx0abind-chroot-9.8.2-0.10.rc1.el6.x86_64x0dx0abind-libs-9.8.2-0.10.rc1.el6.x86_64x0dx0abind-9.8.2-0.10.rc1.el6.x86_64x0dx0abind-dyndb-ldap-1.1.0-0.9.b1.el6.x86_64x0dx0a-------------看到軟體包有點糾結,為啥呢??因為這些軟體包的名字跟DNS這三個詞每半點關系---------x0dx0a2、安裝軟體包x0dx0a[root@rootbug ~]#yum install bind* -yx0dx0a3、查看配置文件x0dx0aRHEL6下不管是安裝了bind-chroot還是不安裝,配置文件都是以/var/named.conf文件為主。x0dx0a(1)修改/etc/named.confx0dx0a[root@rootbug ~]#vim /etc/named.confx0dx0a-------省略其他萬行代碼----------------x0dx0ax0dx0aoptions {x0dx0alisten-on port 53 { any; }; --將原配置文件中的127.0.0.1改為any,表示監聽所有x0dx0alisten-on-v6 port 53 { ::1; };x0dx0adirectory "/var/named"; --域的數據文件存放目錄x0dx0amp-file "/var/named/data/cache_mp.db"; x0dx0astatistics-file "/var/named/data/named_stats.txt";x0dx0amemstatistics-file "/var/named/data/named_mem_stats.txt";x0dx0aallow-query { any; }; --將配置文件的localhost改為any,表示所有人能查詢這台伺服器x0dx0arecursion yes;x0dx0ax0dx0a-------省略其他萬行代碼----------------x0dx0a修改之後保存退出x0dx0a(2)配置/etc/named.rfc1912.zones,增加域的配置x0dx0a[root@rootbug ~]#vim /etc/named.rfc1912.zonesx0dx0a按照配置文件格式添加一個域,這里我添加一個rootbug.com的域,域的數據文件放在directory "/var/named"當前目錄下的data下,名稱為:master.rootbug.com.zone。配置域時請注意「;」分號。x0dx0azone "rootbug.com" IN {x0dx0atype master;x0dx0afile "data/master.rootbug.com.zone";x0dx0a};x0dx0a配置好之後保存退出。x0dx0a(3)創建master.rootbug.com.zone的數據文件x0dx0a[root@rootbug ~]#vim /var/named/data/master.cluster.com.zonex0dx0a$TTL 3600x0dx0a@ IN SOA rootbug. zhangsan. (x0dx0a2013090801 --版本號,下面的是各種時間,作用是主從DNS伺服器的同步時間 )x0dx0aIN NS 172.16.2.151. --這里就是DNS伺服器的IP(實際應該是公網IP,但這里是內網環境,所以寫的內網IP),但是ip地址最後還有一個「.」記得加點,也可以寫DNS伺服器的外網域名;並且這里可以寫多個NS,代表了你公司的多台DNS伺服器x0dx0amail IN A 1.1.1.1 --A記錄就是真正的數據,這里代表mail.rootbug.com的公網地址為1.1.1.1x0dx0adns IN A 172.16.2.151x0dx0abbs IN A 2.2.2.2x0dx0ax0dx0a保存退出x0dx0a(4)啟動DNS伺服器x0dx0a[root@rootbug ~]#/etc/init.d/named start ----第一次配置開啟過程需要等待一段時間x0dx0a(5)客戶端認證DNS伺服器是否正確x0dx0awindows客戶端認證x0dx0a在IP配置DNS欄中將首選DNS填寫為172.16.2.151即可x0dx0aMicrosoft Windows XP [版本 5.1.2600]x0dx0a(C) 版權所有 1985-2001 Microsoft Corp.x0dx0ax0dx0aC:\Documents and Settings\ruutbug>nslookup mail.rootbug.comx0dx0a*** Can't find server name for address 172.16.2.151: Server failedx0dx0a*** Default servers are not availablex0dx0aServer: UnKnownx0dx0aAddress: 172.16.2.151x0dx0ax0dx0aName: mail.rootbug.comx0dx0aAddress: 1.1.1.1x0dx0aC:\Documents and Settings\ruutbug>nslookup dns.rootbug.comx0dx0a*** Can't find server name for address 172.16.2.151: Server failedx0dx0a*** Default servers are not availablex0dx0aServer: UnKnownx0dx0aAddress: 172.16.2.151x0dx0ax0dx0aName: dns.rootbug.comx0dx0aAddress: 172.16.2.151x0dx0aC:\Documents and Settings\ruutbug>nslookup bbs.rootbug.comx0dx0a*** Can't find server name for address 172.16.2.151: Server failedx0dx0a*** Default servers are not availablex0dx0aServer: UnKnownx0dx0aAddress: 172.16.2.151x0dx0ax0dx0aName: bbs.rootbug.comx0dx0aAddress: 2.2.2.2
❼ Linux下常用的DNS服務軟體是什麼,常用的DNS記錄有
Linux下常用的DNS服務軟體是BIND
以下是一個配置DNS服務的實例:
………………………………………………DNS的配置步驟:……………………………………………………
一、配置靜態IP地址:
#vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.198.0.5
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
#/etc/init.d/network restart
#ifconfig eth0
二、使用BIND構建DNS伺服器
1、BIND伺服器安裝
RHEL4中包括了BIND服務相關的軟體包
bind-libs-9.2.4-2
提供了實現域名解析功能必備的庫文件 ,系統默認安裝
bind-utils-9.2.4-2
提供了對DNS伺服器的測試工具程序 ,系統默認安裝
bind-9.2.4-2 安裝文件位於第4張安裝光碟中
# rpm -ivh bind-9.2.4-2.i386.rpm
BIND伺服器的服務程序腳本名稱是named,默認沒有啟動,需手動設置。
#rpm -ql bind | grep init.d
/etc/rc.c/init.d/named
#chkconfig --level 35 named on
#chkconfig --list named
三、主域名伺服器的配置
1、在named.conf文件中設置域
全局配置
options {
directory "/var/named";
mp-file "/var/named/data/cache_mp.db";
statistics-file "/var/named/data/named_stats.txt";
};
controls {
inet 127.0.0.1 allow { localhost; } keys { rndckey; };
};
建立正向解析域
zone "." IN { (指定根域)
type hint;
file "named.ca";
};
zone "benet.com" { (指定本地域)
type master;
file "benet.com.zone";
};
建立反向解析域
zone "0.168.192.in-addr.arpa" { (指定反向域)
type master;
file "192.168.0.rev";
};
2、建立正向區域文件 (該文件需要用vi編輯器手動建立在/var/named中,並寫其內容)
#cat /var/named/benet.com.zone
$TTL 86400 (秒)
@ IN SOA benet.com. hostmaster.benet.com. (
42 ; serial (d. adams) (序列號)
3H ; refresh (3小時更新)
15M ; retry (15分鍾重試)
1W ; expiry (1周)
1D ) ; minimum (1天)
@ IN NS ns1.benet.com.
@ IN NS ns2.benet.com.
ns1 IN A 192.168.0.5
ns2 IN A 192.168.0.6
host1 IN A 192.168.0.7
host2 IN A 192.168.0.8
mail IN CNAME host1.benet.com.
www IN CNAME host2.benet.com.
@ IN MX 5 mail.benet.com.
3、建立反向區域文件 (該文件需要用vi編輯器手動建立在/var/named中,並寫其內容)
# cat /var/named/192.168.0.rev
$TTL 86400
@ IN SOA ns1.ltest.com. hostmaster.ltest.com. (
42 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
@ IN NS ns1.ltest.com.
@ IN NS ns2.ltest.com.
2 IN PTR ns1.ltest.com. (PTR可用IP省略方法,1.168.192.in-addr.rapa表192.168.1.2可寫為2)
3 IN PTR ns2.ltest.com.
11 IN PTR host1.ltest.com.
12 IN PTR host2.ltest.com.
4、配置文件和區域文件的測試
A、測試named.conf主配置文件
# named-checkconf (如果不顯示任何信息表示語法正確 )
B、測試區域文件
# named-checkzone benet.com /var/named/benet.com.zone
# named-checkzone 0.168.192.in-addr.arpa /var/named/192.168.0.rev
(named-checkzone命令對正向區域文件和反向區域文件進行檢查語法是否錯誤,第一個參數指定區域名稱,第二個參數指定區域文件名稱,如果語法正確將顯示OK)
5、重啟named服務
#service named restart
四、從域名伺服器 的配置
(它做為主域名伺服器的輔助和備份伺服器,自身不建立區域文件,而是從主域名伺服器中查詢並保存,它可以與主域名伺服器提供相同的域名解析服務,它需要在與主域名伺服器不同的主機中構建)
1、在named.conf文件中設置域
建立正向解析域
zone "benet.com" {
type slave; (type設置為「slave」,表示當前DNS伺服器是該域的從域名伺服器類型 )
file "slaves/benet.com.zone" (從域名伺服器中的區域文件應設置保存在 「slaves」子目錄中,區域文件將從主 域名伺服器中獲取並保存在該目錄中,為了便於管理,盡量使用與主伺服器相 同的區域文件名稱)
masters { 192.168.0.5; }; ( 使用masters設置主域名伺服器的IP地址 )
};
建立反向解析域
zone "0.168.192.in-addr.arpa" {
type slave;
file " slaves/192.168.0.rev";
masters { 192.168.0.5; };
};
2、檢測配置文件和啟動named服務
從域名伺服器只需要檢測配置文件的語法
# named-checkconf
啟動從域名伺服器
# service named start
查看區域文件
從伺服器啟動後將從主域名伺服器中獲得區域文件並保存在指定的目錄中
# ls /var/named/slaves/
192.168.0.rev benet.com.zone
(如果/var/named/slaves/目錄中沒有發現區域文件,說明從域名伺服器和主域名伺服器之間傳輸區域文件不成功,需要排錯。)
五、緩存域名伺服器的配置
(它應保證能夠與互聯網中的其他DNS伺服器進行連接,它的主要作用是提高域名解析速度和節約出口帶寬)
1、安裝caching-nameserver軟體包
(RHEL4系統為配置緩存域名伺服器專門提供了名為「caching-nameserver」的軟體包,該軟體包保存在第1張安裝光碟中,默認沒有安裝。)
# rpm -ivh caching-nameserver-7.3-3.noarch.rpm
(caching-nameserver軟體包安裝時將對BIND伺服器的配置文件named.conf的內容進行更改,原文件中的內容保存在/etc/named.conf.rpmorig中。)
2、named.conf中的全局設置 (其中以//開頭的行是無效行)
options {
directory "/var/named"; (directory用於設置BIND伺服器的工作目錄,即域名區域文件保存的目錄 )
mp-file "/var/named/data/cache_mp.db"; (mp-file用於設置域名緩存文件的保存位置和文件名 )
statistics-file "/var/named/data/named_stats.txt";
};
3、根區域設置
named.conf中的根區域設置
zone "." IN {
type hint; (type設置為hint表示該區域的類型是根區域)
file "named.ca"; (file用於設置區域文件,根區域文件的名稱是「named.ca」 )
};
(named.ca是根區域文件,位於「/var/named/ 」目錄中,named.ca中包含全球DNS根伺服器的地址信息請不要更改)
4、localhost正向解析
(localhost區域的作用是對主機名稱「localhost」和環回地址「127.0.0.1」 進行解析,總是代表本機)
zone "localhost" IN {
type master; ( type設置為master表示區域的類型為主伺服器 )
file "localhost.zone"; (file設置區域文件名的名字 ,localhost.zone在/var/named中,是安裝caching- nameserver時自動安裝的,用cat /var/named/localhost.zone查看內容)
};
5、localhost反向解析
zone "0.0.127.in-addr.arpa" IN {
type master; ( type設置為master表示區域的類型為主伺服器 )
file "named.local"; (file設置區域文件名的名字,named.local在/var/named中,是安裝caching-nameserver時 自動安裝的,用cat /var/named/named.local查看內容)
};
6、緩存域名伺服器在安裝caching-nameserver軟體包後不需要任何其他配置就可以啟動運行,並實現域名查詢和緩存功能,但它必須能夠訪問互聯網。可以使用nslookup命令進行測試。
六、DNS伺服器的測試
1、DNS測試原理
DNS伺服器的主要測試方法
使用nslookup、dig和host等專用工具可以對DNS伺服器進行較全面的測試
nslookup命令在Linux和Windows系統中都默認安裝,是比較常用的測試工具
2、使用nslookup測試DNS伺服器
進入nslookup命令交換環境
# nslookup
>
設置使用指定的DNS伺服器
> server 192.168.0.5
測試localhost主機域名的正向解析
> localhost
測試localhost主機域名的反向解析
> 127.0.0.1
測試互聯網中的域名解析
> www.benet.com
測試benet.com域中的A記錄
> host1.benet.com
測試benet.com域中的PTR記錄
> 192.168.0.7
測試benet.com域中的CNAME記錄
> www.benet.com
測試benet.com域中的NS記錄
> set type=ns (設置域名查詢類型為NS即域名記錄)
> benet.com
測試benet.com域中的MX記錄
> set type=mx (設置域名查詢類型為MX即郵件交換記錄)
> benet.com
設置進行A記錄的測試
> set type=a (設置域名查詢類型為A即地址記錄)
>mail.benet.com
3、使用dig測試DNS伺服器 (dig只運行在liunx平台,是domain information grep的縮寫)
1)#dig --help
dig命令的格式
Usage: dig [@global-server] [domain] [q-type] [q-class] {q-opt}
{global-d-opt} host [@local-server] {local-d-opt}
[ host [@local-server] {local-d-opt} [...]]
Use "dig -h" (or "dig -h | more") for complete list of options
2)dig命令可以比nslookup命令顯示更多的DNS伺服器信息
# dig @192.168.0.5 benet.com (@後是被查詢的DNS伺服器的IP地址,benet.com域名做為命令參數)
; <<>> DiG 9.2.4 <<>> @192.168.0.5 benet.com
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 51201
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0
;; QUESTION SECTION:
;benet.com. IN A
;; AUTHORITY SECTION:
benet.com. 86400 IN SOA ns1.benet.com. hostmaster.benet.com. 42 10800 900 604800 86400
以上dns是以benet.com域為實例講解………………
❽ 如何清除linux下DNS緩存
如果系統下有nscd,那麼就備冊直接
sudo /etc/init.d/nscd restart
❾ 如何在 Linux/Unix/Mac 下清除 DNS 查詢緩存
如何: 清除 nscd dns 緩存
Nscd 會緩存libc發起的名稱服務的請求。如果把檢索NSS數據看做很慢,那麼nscd能夠顯著加快連續訪問同一數據的速度,並能提高整個系統的性能。只需重啟nscd即可刷新緩存:
$ sudo /etc/init.d/nscd restart
或
# service nscd restart
或
# service nscd reload
這個守護進程給最常用的名稱服務請求提供了高速緩存。默認的配置文件/etc/nscd.conf,其決定了高速緩存守護進程的行為。
清除 dnsmasq dns 緩存
dnsmasq的是一個輕量級的DNS、TFTP和DHCP伺服器。它的目的是給區域網提供配對的DNS和DHCP服務。 dnsmasq接受DNS查詢,並從一個小的本地高速緩存應答它們或將其轉發到一個真正的遞歸DNS伺服器。該軟體也被安裝在很多便宜的路由器上來緩存DNS查詢。只需重新啟動dnsmasq的服務來清除DNS緩存:
$ sudo /etc/init.d/dnsmasq restart
或者
# service dnsmasq restart
清除BIND緩存伺服器的dns緩存
一台BIND緩存伺服器從另一台伺服器(區域主)響應主機的查詢而獲得信息,然後保存(緩存)數據到本地。您所要做的就是重啟BIND以清除其緩存:
# /etc/init.d/named restart