
在 Linux 系统中,可以使用(Name Service Cache Daemon)来实现 DNS 缓存。会缓存 DNS 查询结果,从而提高系统的 DNS 响应速度。可以通过
apt-get install nscd
或者
yum install nscd
来安装。安装完成后,可以通过编辑
/etc/nscd.conf
文件来配置的行为,比如设置缓存时间等。启动服务后,系统的 DNS 查询会自动使用提供的缓存。
可以使用命令来监控 DNS 服务器的运行状态。命令可以查询 DNS 服务器的 A 记录、MX 记录等信息,并显示查询的响应时间。例如,使用
dig www.example.com
可以查询
www.example.com
的 A 记录,使用
dig mx example.com
可以查询
example.com
的 MX 记录。DNS 查询出现错误或者响应时间过长,就可以用来判断 DNS 服务器是否存在问题。除此之外,也可以使用、等命令来查看 DNS 服务器的状态。
如何利用Linux构建免费的缓存DNS服务器
通常需要安装服务软件bind,Centos下:yum -y install bind*命令安装。 然后修改主配置文件:cp /etc/ /etc/ vi/etc/ //-------------------------内容为:-------------------------options {listen-on port 53 { any; }; // 监听在主机的53端口上。 any代表监听所有的主机directory /var/named; // 如果此档案底下有规范到正反解的zone file 档名时,该档名预设应该放置在哪个目录底下 // 下面三项是服务的相关统计信息dump-file /var/named/data/cache_;statistics-file /var/named/data/named_;memstatistics-file /var/named/data/named_mem_;allow-query { any; }; // 谁可以对我的DNS服务器提出查询请求。 any代表任何人recursion yes;dnssec-enable yes;dnssec-validation yes;dnssec-lookaside auto;forwarders { // 指定上层DNS服务器 119.29.29.29; //这里使用OneDNS主服务器};bindkeys-file /etc/;managed-keys-directory /var/named/dynamic;};logging {channel default_debug {file data/;severity dynamic;};};zone . IN {type hint;file ;};include /etc/; //这里是自定义解析区域;include /etc/;//---------------------结束---------------------------------下面进行自定义解析:vi /etc/ //-----------自定义解析开始:-------------------------------zone IN {// 定义要解析主域名type master;file ;// 具体相关解析的配置文件保存在 /var/named/ 文件中};//-----------自定义解析结束:-------------------------------编辑自定义文件:vi /var/named/ //-----------自定义开始:-----------------------------$TTL @ IN . root (1 ; serial1D; refresh1H; retry1W; expire0 ) ; 192.168.1.2www INA 192.168.1.3bbs INA 192.168.1.4ttt INA 192.168.1.5//-----------自定义结束:------------------------------以上,ns服务器ip即本机,www服务器ip即主机……
怎么在Linux/Ubuntu下刷新DNS缓存
今天在Ubuntu下给一个网站更换了DNS,试着重新连接,发现无法打开,只好ping一下做一个测试,发现ip还是原来的地址,显然是本地DNS缓存的问题。 大家都知道在Windows下面刷新本地DNS缓存可以通过ipconfig /flushdns来实现。 那么在Linux下该怎么实现呢?很简单,也是一条命令的事情。 sudo /etc/init.d/networking restart
历史上最详细的Linux DNS配置教程 推荐
朋友们好,我也是一个刚刚接触Linux的 ,对于Linux下的DNS配置有点复杂,我也在网上搜索了好久,经过我的整理做了这个教程。 希望给广大Linux新手朋友们一点帮助。
任务1:构建主域名服务器
任务2:构建辅助域名服务器
任务3:测试DNS服务
任务4:缓存DNS服务的配置与测试
任务5:DNS转发器的配置
任务6:新建子域及子域委派。
建立两个虚拟机
1.#ifconfig
2.#netconfig
address 192.168.13.1
netmask: 255.255.255.0
default gateway: 192.168.13.154
primary nameserver: 192.168.13.1
4.# service network restart
-ql |grep bind
--查看安装的和dns相关的软件包。
bind-utils-9.2.4-2
ypbind-1.17.2-2
bind-6.2.4-2
bind-libs-9.2.4-2
7.#rpm -qa |grep caching
caching-nameserver-7.3-3
8.#rpm -ql caching-nameserver
--可以看到好到十一个文件。
有主配置文件和区域文件。
/var/named/--目前互联网上的的根域服务器清单。
9.#service named start
10.#cat /var/named/
我们现在配置主dns服务器。
-rw-r--r-- 1 root root 1323 Aug 26 2010 /etc/
/var/named/
--可以看到九个文件
默认用六个配置。
我们复制
zonelocalhsot IN {
type master;
allow-update {nane; };
type master;
allow-update {none; };
粘贴到下面,修改一下域名和区域。
type master;
allow-update {none; };
type master;
allow-update {none;};
5.#cd /var/named
--我们要修改里面的配置了
@ IN SOA root (
42 ; serial()
3H ; refresh
1D ) ; minimum
IN A 172.0.0.1
---------------这是系统默认的配置。我们要修改了
42 ; serial()
3H ; refresh
1D ) ; minimum
dns1 IN A 192.168.13.1
dns2 IN A 192.168.13.2
www IN CNAME .
ftp IN CNAME .
mail IN CNAME .
IN NS localhost.
1 IN PTR localhost.
-----------以上是默认的配置,我们要修改了
11.# named-checkconf
--如果没有提示说明成功了
12.# named-checkzone
13.#service named restart
14.#nslookup
service 192.168.13.1-----联系一下。
15.#ifconfig
16.#ping 192.168.13.1
17.#netstat -ntl
18.#cat /etc/
nameserver 192.168.13.1
19.#nslookup
server: 192.168.13.1
Adderss: 192.168.13.1#53
cononical name = .
Address: 192.168.13.1
20.#nslookup
server: 192.168.13.1
Adderss: 192.168.13.1#53
canonical name = .
Address: 192.168.13.2
----以上都的正向解析。
----下面开始反相解析了
192.l68.13.2
Server: 192.168.13.1
Address: 192.168.13.1#53
nameserver 192.168.13.1
---默认保存在这个文件中,会上这个文件中去找。
24 #nslookup
server ip地址 --这里可以临时改变DNS服务器。
set type=mx
Server: 192.168.13.1
Address: 192.168.13.1#53
mail exchamger = 5 .
Server: 192.168.13.1
Address: 192.168.13.1#53
comomical name = .
Address: 192.168.13.2
上面是正向和反向的配置。
二:现在我们配置辅助服务器。
好了,我们现在进入第二台虚拟机上
1.#ifconfig
2.#netconfig
ip address: 192.168.13.2
netmask: 255.255.255.0
default gateway : 192.168.13.254
primary nameserver: 192.168.13.2
3.#service network restart
4.#ifconfig
5.#ping 192.168.13.1
6.# rpm -qa | grep bind
bind-utils-9.2.4-2
ypbind--1.17.2-3
bind-9.2.4.4-2
bind-libs-9.2.4-2
7.#rpm -q cachimg-nameserver
cachim-nameserver-7.3-3
zonelocalhsot IN {
type master;
allow-update {nane; };
type master;
allow-update {none; };
-----这是它默认的配置,我们要添加配置内容。
type slave;
file slaves/;
masters {192.168.13.1; };
type slave;
file slaves/;
masters {192.168.13.1;};
9.#ll /var/named/
--可以看到九个文件
10.#ll /var/named/slaves/
11.#service named start
12.#ll /var/named/slaves
-rw---- 1 named named 436
-rw---- 1 named named 424
13.#nslookup
Server: 192.168.13.2
Address: 192.168.13.2#53
canonical name = .
Address: 192.168.13.2
14.#nslookup 192.168.13.1 --反向解析
Server: 192.168.13.2
Address: 192.168.13.2#53
我们可不可以做 有些区域我是辅助的,有些区域我是主服务器。
我们要做下一个实验了
1.#vi /etc/
type slave;
file slaves/;
masters {192.168.13.1; };
type slave;
file slaves/;
masters {192.168.13.1;};
---- 这是前面配置好的结果,我们现在要在添加配置。
type master;
allow-update {none; };
2.# cd /var/named
@ IN SOA @ root (
42 ; serial()
3H ; refresh
1D ) ; minimum
IN A 172.0.0.1
---------------这是系统默认的配置。我们要修改了
42 ; serial()
3H ; refresh
1D ) ; minimum
dns IN A 192.168.13.2
6.#service named restart
7.#nslookup
Server: 192.168.13.2
Address: 192.168.13.2#53
Address: 192.168.13.2
8.#nslookup
Server: 192.168.13.2
Address: 192.168.13.2#53
Address: 192.168.13.1
现在反向解析的问题。 所以要会到主服务器上配置。
只增加一行配置。
注意: ; Serial要改为 ; Serial 要在新的配置上加‘1’这样可以更新。
10.#service named restart
11.#nslookup 192.168.13.2
Server: 192.168.13.1
address: 192.168.13.1#53
现在我们在回到客户端:
12.#cat slaves/
可以看的配置文件
如:
13.#nslookup 192.168.13.2 --反向解析
Server: 192.168.13.2
Address: 192.168.13.2#53
14.#nslookup
Server: 192.168.13.2
Address: 192.168.13.2#53
Address: 192.168.13.2
好了 !
现在我们要在做一个新的实验
DNS的转发
我们还是在辅助dns服务器上配置
1.#service named stop
我们要添加两个转发配置,我们还要把科研解析的配置删除掉。 只保留“”因为他不能解析服务器。
statistics-file /var/named/data/name_
forward only;
forwarders {192.168.13.1;};
如果不放心的话,我们可以查看有没有错误。
4.#named-checkconf
5.#service named restart
这台计算机已经不是辅助的DNS服务器了
7.#ll slaves/
可以看到两个配置文件。
8.#rm slaves/*
9.# nslookup
Server: 192.168.13.2
Address: 192.168.13.2#53
nom-authoritative answer;---非权威
camomical name = .
Address: 192.168.13.1
10.#nslookup
Server: 192.168.13.2
Address: 192.168.13.2#53
Address: 192.168.13.2
我们能不能让部分区域转发,两个域,我让这个区域转发给你,其他域,我可以找根。
我们还在辅助dns上修改配置文件。
1.#vi /etc/
我们们要注释掉两个配置内容。 在新建一个区域。
// forward only;
// forwarders {192.168.13.1; };
type forward;
forward only;
forwarder {192.168.13.1; };
2.#service named restart
3.#nslookup
Server: 192.168.13.2
Address: 192.168.13.2#53
Nom-authoritative answer;
camomical name = .
Address: 192.168.13.2
4.#nslookup 192.168.13.2
它解析不了,因为没有让这个区域转发,也找不到根。
所以我们可以让一个区域转发,其他区域找根。
DNS服务器的主要测试方法;
我们使用nslookup,dig和host等专用工具可以对DNS服务器进行较全面的测试。
使用nslookup测试DSN服务器1
(1)进入nslookup命令交换环境
(2)设置使用指定的DNS服务器
server 192.168.1.2
(3)测试localhost主机域名的正向解析
(4)测试localhost主机域名的反向解析
在辅助dns上练习一下:
1.#nslookup
server 192.168.13.1
Default server: 192.168.13.1
Address: 192.168.13.1#53
192.168.13.2
Server: 192.168.13.1
Address: 192.168.13.1#53
使用nslookup测试DSN服务器2
(1)测试互联网中的域名解析
(2)测试域中的A记录
(3)测试域中的PTR记录
192.168.1.11
(4)测试域中的CNAME记录
使用nslookup测试DSN服务器3
(1)测试域中的NS记录
set type=ns
(2)测试域中的MX记录
set type=mx
(3)设置进行A记录的测试
使用dig命令测试DNS服务器1
dig @dns域名或ip 区域 记录类型
eg: dig @192.168.13.2 NS
意思是到192.168.13.2这个网段来挖掘这个区域中的NS记录,结果会显现NS所以得记录。
我们在辅助dns上演示一下
1.#dig @192.168.13.2 NS
/var/name/
--保存了所有的根域服务器的域名解析,dns的清单这个文件是怎么是得到的那。 它就是用dig命令得到的。
dig . NS/var/named/
好了 下面我们在讲一个重要的内容。
DNS子域的委派。
这两台服务器是父子关系。 但两个人各有各得dns服务器来解析。
好了,我们现在从辅助dns上开始吧。
/var/named
2: #vi /etc/
type master;
allow-update{none; };
type master;
allow-update {none; };
type forward;
forward only;
forwarders {192.168.13.1; };
----上面是前面修改好的我们要删除一些配置,
下面在添加一些内容。
type master;
ailow-update {none; };
我们还要新建一个文件
42 ; serial()
3H ; refresh
1D ) ; minimum
dns IN A 192.168.13.2
----这是前面我们修改好的文件,我们要修改它。
42 ; serial()
3H ; refresh
1D ) ; minimum
dns IN A 192.168.13.2
www IN A 192.168.13.1
5:# service named restart
6:# nslookup
Server: 192.168.13.2
Address: 192.168.13.2#53
Address: 192.168.13.1
现在我们来的主服务器,看看主服务器能不能解析,它能解析它的孙子吗?
7:#nslookup
---不能解析的,因为没有做委派,所以不能解析。
8:#vi /etc/
做委派是时候不需要修改主配置文件。
我们只需要修改这个住配置文件就好了
42 ; serial()
3H ; refresh
1D ) ; minimum
dns1 IN A 192.168.13.1
dns2 IN A 192.168.13.2
www IN CNAME .
ftp IN CNAME .
mail IN CNAME .
-------这是前面我们修改好的, 我们还要修改此文件。
42 ; serial()
3H ; refresh
1D ) ; minimum
dns1 IN A 192.168.13.1
dns2 IN A 192.168.13.2
www IN CNAME .
ftp IN CNAME .
mail IN CNAME .
IN A 192.168.13.2
10:#services named restart
11:#nslookup
Server: 192.168.13.1
Address: 192.168.13.1#53
Non-authoritative amswer:
Address: 192.168.13.1
ok了, 所以的实验都完成了
我们可以的课后练习一下。
任务1:构建主域名服务器
任务2:构建辅助域名服务器
任务3:测试DNS服务
任务4:缓存DNS服务的配置与测试
任务5:DNS转发器的配置
任务6:新建子域及子域委派。