如何在 Linux 上实现 DNS 缓存

爱站 02-19 35 0条评论
55Link友情链接交易平台
摘要: 在Linux系统中,可以使用(NameServiceCacheDaemon)来实现DNS缓存。会缓存DNS查询结果,从而提高系统的DNS响应速度。可以通过apt-getinstal...

在 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:新建子域及子域委派。

文章版权及转载声明:

作者:爱站本文地址:http://www.awz.cc/post/13348.html发布于 02-19
文章转载或复制请以超链接形式并注明出处爱网站

赞(0