DNS服务器的安装和配置,第1张

(1)进入windows server 2008 R2服务器,开始>管理工具>服务器管理器

(2)点击”添加角色”

(3)选中“DNS服务器“,点击”下一步“,直到安装完成。

(1)开始>管理工具>DNS,进入DNS管理器

(2)点击主机名左边的“+“

(3)右键“正向查找区域”,选择“新建区域”

(4)选择“主要区域”,点击“下一步”

(5)填写区域名称,点击“下一步“

(6)点击新建的区域,在右侧空白处右键,选择“新建主机“

(7)名称填写域名的主机头,IP地址填写域名对应的IP,取消勾选“创建相关的指针(PTR)记录“(因为没有建反向查找区域,勾选也无法正确创建PTR记录,需要稍后手动创建PTR记录),点击”添加主机“。

(1)右键“反向查找区域“,选择”新建区域“,点击“下一步”

(2)选择“IPv4反向查找区域”,点击“下一步”。

(3)网络ID填写新建主机时填的IP地址前三段,点击“下一步”

(4)选择“下一步”

(5)点击新建的反向查找区域,在右侧空白区域右键,选择“新建指针”

(6)点击“浏览”,选择在正向查找区域创建的主机xyz,点击“确定”。

(1)查看DNS服务器IP地址为1721625

(2)把服务器的首选DNS服务器配置为1721625

(3)使用nslookup检验DNS服务器是否配置成功

输入域名,可以解析处IP地址,说明正向解析记录配置成功;

输入IP,可以解析出域名,说明反向解析记录配置成功

根据下图所示,说明DNS服务器配置成功。

朋友们好,我也是一个刚刚接触Linux的 ,对于Linux下的DNS配置有点复杂,我也在网上搜索了好久,经过我的整理做了这个教程。希望给广大Linux新手朋友们一点帮助。

任务1:构建主域名服务器

任务2:构建辅助域名服务器

任务3:测试DNS服务

任务4:缓存DNS服务的配置与测试

任务5:DNS转发器的配置

任务6:新建子域及子域委派。

建立两个虚拟机

1#ifconfig

2#netconfig

3ip address 192168131

netmask: 2552552550

default gateway: 19216813154

primary nameserver: 192168131

4# service network restart

5ifconfig

6rpm -ql |grep bind

--查看安装的和dns相关的软件包。

bind-utils-924-2

ypbind-1172-2

bind-624-2

bind-libs-924-2

7#rpm -qa |grep caching

caching-nameserver-73-3

8#rpm -ql caching-nameserver

--可以看到好到十一个文件。

有主配置文件和区域文件。

/var/named/namedca--目前互联网上的的根域服务器清单。

9#service named start

10#cat /var/named/namedca

我们现在配置主dns服务器。

1ll /etc/namedconf

-rw-r--r-- 1 root root 1323 Aug 26 2010 /etc/namedcom

2ll /var/named/

--可以看到九个文件

3vi /etc/namedconf

默认用六个配置。

我们复制

zone"localhsot" IN {

type master;

file "localhostzone";

allow-update {nane; };

};

zone "00127in-addrarpa" IN {

type master;

file "localhostzone";

allow-update {none; };

};

粘贴到下面,修改一下域名和区域。

zone "xapccom" IN {

type master;

file "xapccomzone";

allow-update {none; };

};

zone "13168192in-addrarpa" IN {

type master;

file "xapccomrev";

allow-update {none;};

};

:wq

4#clear

5#cd /var/named

6#ll

7#cp localhostzone xapccomzone

8#cp namedlocal xapccomrev

9#vi xapccomzone

--我们要修改里面的配置了

@ IN SOA root (

42 ; serial(dadams)

3H ; refresh

15M ; retry

1W ; expiry

1D ) ; minimum

IN NS @

IN A 172001

IN AAAA ::1

---------------这是系统默认的配置。我们要修改了

@ IN SOA dns1xapccom rootxapccom (

42 ; serial(dadams)

3H ; refresh

15M ; retry

1W ; expiry

1D ) ; minimum

IN NS dns1xapccom

IN NS dns2xapccom

IN MX 5 mailxapccom

dns1 IN A 192168131

dns2 IN A 192168132

www IN CNAME dns1xapccom

ftp IN CNAME dns2xapccom

mail IN CNAME dns2xapccom

:wq

10#vi xapccomrev

@ IN SOA localhostrootlocalhost (

132323232 ; Serial

28808 ; Refresh

14400 ; Retry

3600000 ; Expire

86400 ) ; Mimimum

IN NS localhost

1 IN PTR localhost

-----------以上是默认的配置,我们要修改了

@ IN SOA dns1xapccom rootxapccom (

132323232 ; Serial

28808 ; Refresh

14400 ; Retry

3600000 ; Expire

86400 ) ; Mimimum

IN NS dns1xapccom

IN NS dns2xapccom

1 IN PTR dns1xapccom

1 IN PTR wwwxapccom

2 IN PTR dns2xapccom

2 IN PTR ftpxapccom

:wq

11# named-checkconf

--如果没有提示说明成功了

12# named-checkzone xapccom xapccomzone

13#service named restart

14#nslookup

service 192168131-----联系一下。

15#ifconfig

16#ping 192168131

17#netstat -ntl

18#cat /etc/resolvconf

nameserver 192168131

19#nslookup wwwxapccom

server: 192168131

Adderss: 192168131#53

wwwxapccom cononical name = dns1xapccom

Name: dns1xapccom

Address: 192168131

20#nslookup ftpxapccom

server: 192168131

Adderss: 192168131#53

ftpxapccom canonical name = dns2xapccom

Name: dns2xapccom

Address: 192168132

----以上都的正向解析。

----下面开始反相解析了

21nslookup 192l68132

Server: 192168131

Address: 192168131#53

213168192in-addrarpa name = ftpxapccom

213168192in-addrarpa name = dns2xapccom

22cat /etc/resolvconf

nameserver 192168131

---默认保存在这个文件中,会上这个文件中去找。

23#ping dns1xapccom

24 #nslookup

server ip地址 --这里可以临时改变DNS服务器。

set type=mx

xapccom

Server: 192168131

Address: 192168131#53

xapccom mail exchamger = 5 mailxapccom

set type=a

mailxapccom

Server: 192168131

Address: 192168131#53

mailxapccom comomical name = dns2xapccom

Name: dns2xapccom

Address: 192168132

exit

上面是正向和反向的配置。

二:现在我们配置辅助服务器。

好了,我们现在进入第二台虚拟机上

1#ifconfig

2#netconfig

ip address: 192168132

netmask: 2552552550

default gateway : 19216813254

primary nameserver: 192168132

3#service network restart

4#ifconfig

5#ping 192168131

6# rpm -qa | grep bind

bind-utils-924-2

ypbind--1172-3

bind-9244-2

bind-libs-924-2

7#rpm -q cachimg-nameserver

cachim-nameserver-73-3

8vi /etc/namedconf

zone"localhsot" IN {

type master;

file "localhostzone";

allow-update {nane; };

};

zone "00127in-addrarpa" IN {

type master;

file "localhostzone";

allow-update {none; };

};

-----这是它默认的配置,我们要添加配置内容。

zone "xapccom" IN {

type slave;

file "slaves/xapccomzone";

masters {192168131; };

};

zone "13168192in-addrarpa" IN {

type slave;

file "slaves/xapccomrev";

masters {192168131;};

};

:wq

9#ll /var/named/

--可以看到九个文件

10#ll /var/named/slaves/

total 0

11#service named start

12#ll /var/named/slaves

-rw---- 1 named named 436 xapccomrev

-rw---- 1 named named 424 xapccomzone

13#nslookup ftpxapccom

Server: 192168132

Address: 192168132#53

ftpxapccom canonical name = dns2xapccom

Name: dns2xapccom

Address: 192168132

14#nslookup 192168131 --反向解析

Server: 192168132

Address: 192168132#53

113168192in-addrarpa name = wwwxapccom

113168192in-addrarpa name = dns1xapccom

我们可不可以做 有些区域我是辅助的,有些区域我是主服务器。

我们要做下一个实验了

1#vi /etc/namedconf

zone "xapccom" IN {

type slave;

file "slaves/xapccomzone";

masters {192168131; };

};

zone "13168192in-addrarpa" IN {

type slave;

file "slaves/xapccomrev";

masters {192168131;};

};

---- 这是前面配置好的结果,我们现在要在添加配置。

zone "pcgjcom" IN {

type master;

file "pcgjcomzone";

allow-update {none; };

};

:wq

2# cd /var/named

3#ll

4#cp localhostzone pcgjcomzone

5#vi pcgjcomzone

@ IN SOA @ root (

42 ; serial(dadams)

3H ; refresh

15M ; retry

1W ; expiry

1D ) ; minimum

IN NS @

IN A 172001

IN AAAA ::1

---------------这是系统默认的配置。我们要修改了

@ IN SOA dnspcgjcom rootpcgjcom(

42 ; serial(dadams)

3H ; refresh

15W ; retry

1W ; expiry

1D ) ; minimum

IN NS dnspcgjcom

dns IN A 192168132

:wq

6#service named restart

7#nslookup dnspcgjcom

Server: 192168132

Address: 192168132#53

Name: dnspcgjcom

Address: 192168132

8#nslookup dns1xapccom

Server: 192168132

Address: 192168132#53

Name: dns1xapccom

Address: 192168131

现在反向解析的问题。所以要会到主服务器上配置。

9#vi /xapccomrev

只增加一行配置。

2 IN PTR dnspcgjcom

注意: 132323232 ; Serial要改为 132323233 ; Serial 要在新的配置上加‘1’这样可以更新。

:wq

10#service named restart

11#nslookup 192168132

Server: 192168131

address: 192168131#53

213168192in-addrarpa name = ftpxapccom

213168192in-addrarpa name = dns2xapccom

213168192in-addrarpa name = dnspcgjcom

现在我们在回到客户端:

12#cat slaves/xapccomrev

可以看的配置文件

如:

2 PTR dnspcgjcom

PTR ftpxapccom

PTR dns2xapccom

13#nslookup 192168132 --反向解析

Server: 192168132

Address: 192168132#53

213168192in-addrearpa name = ftpxapccom

213168192in-addrearpa name =dns2xapccom

213168192in-addrearpa name = dnspcgjcom

14#nslookup dnspcgjcom

Server: 192168132

Address: 192168132#53

Name: dnspcgjcom

Address: 192168132

好了 !

现在我们要在做一个新的实验

DNS的转发

我们还是在辅助dns服务器上配置

1#service named stop

2#ll

3vi /etc/nameconf

我们要添加两个转发配置,我们还要把科研解析的配置删除掉。只保留“pcgjcom”因为他不能解析服务器。

statistics-file "/var/named/data/name_statstxt"

forward only;

forwarders {192168131;};

:wq

如果不放心的话,我们可以查看有没有错误。

4#named-checkconf

5#service named restart

这台计算机已经不是辅助的DNS服务器了

6# ll

7#ll slaves/

可以看到两个配置文件。

8#rm slaves/

9# nslookup wwwxapccom

Server: 192168132

Address: 192168132#53

nom-authoritative answer;---非权威

wwwxapccom camomical name = dns1xapccom

Name: dns1xapccom

Address: 192168131

10#nslookup dnspcgjcom

Server: 192168132

Address: 192168132#53

Name: dnspcgjcom

Address: 192168132

我们能不能让部分区域转发,两个域,我让这个区域转发给你,其他域,我可以找根。

我们还在辅助dns上修改配置文件。

1#vi /etc/namedconf

我们们要注释掉两个配置内容。在新建一个区域。

// forward only;

// forwarders {192168131; };

zone "xapccom" IN {

type forward;

forward only;

forwarder {192168131; };

};

:wq

2#service named restart

3#nslookup ftpxapccom

Server: 192168132

Address: 192168132#53

Nom-authoritative answer;

ftpxapccom camomical name = dns2xapccom

Name: dns2xapccom

Address: 192168132

4#nslookup 192168132

它解析不了,因为没有让这个区域转发,也找不到根。

所以我们可以让一个区域转发,其他区域找根。

DNS服务器的主要测试方法;

我们使用nslookup,dig和host等专用工具可以对DNS服务器进行较全面的测试。

使用nslookup测试DSN服务器1

(1)进入nslookup命令交换环境

# nslookup

(2)设置使用指定的DNS服务器

server 19216812

(3)测试localhost主机域名的正向解析

localhost

(4)测试localhost主机域名的反向解析

127001

在辅助dns上练习一下:

1#nslookup

server 192168131

Default server: 192168131

Address: 192168131#53

192168132

Server: 192168131

Address: 192168131#53

213168192in-addrarpa name=dnspcgjcom

213168192in-addrarpa name=ftpxapccom

213168192in-addrarpa name=dns2xapccom

exit

使用nslookup测试DSN服务器2

(1)测试互联网中的域名解析

wwwyahoocomcn

(2)测试testcom域中的A记录

host1testcom

(3)测试testcom域中的PTR记录

192168111

(4)测试testcom域中的CNAME记录

wwwtestcom

使用nslookup测试DSN服务器3

(1)测试testcom域中的NS记录

set type=ns

testcom

(2)测试testcom域中的MX记录

set type=mx

testcom

(3)设置进行A记录的测试

set type=a

使用dig命令测试DNS服务器1

dig @dns域名或ip 区域 记录类型

eg: dig @192168132 xapccom NS

意思是到192168132这个网段来挖掘xapccom这个区域中的NS记录,结果会显现NS所以得记录。

我们在辅助dns上演示一下

1#dig @192168132 xapccom NS

2ll /var/name/namedca

--保存了所有的根域服务器的域名解析,dns的清单这个文件是怎么是得到的那。它就是用dig命令得到的。

dig @aroot-serversnet NS/var/named/namedca

好了 下面我们在讲一个重要的内容。

DNS子域的委派。

这两台服务器是父子关系。但两个人各有各得dns服务器来解析。

好了,我们现在从辅助dns上开始吧。

1:#pwd

/var/named

2: #vi /etc/namedconf

zone "0in-addrarpa" IN {

type master;

file"namedzero";

allow-update{none; };

};

zone "pcgjcom" IN {

type master;

file "pcgjcomzone";

allow-update {none; };

};

zone "xapccom" IN {

type forward;

forward only;

forwarders {192168131; };

};

----上面是前面修改好的我们要删除一些配置,

下面在添加一些内容。

zone "caxapccom" IN {

type master;

file "caxapccomzone";

ailow-update {none; };

};

:ok

我们还要新建一个caxapccomzone文件

2#ll

3#cp pcgjcomzone caxapccomzone

4#vi caxapccomzone

@ IN SOA dnspcgjcom rootpcgjcom(

42 ; serial(dadams)

3H ; refresh

15W ; retry

1W ; expiry

1D ) ; minimum

IN NS dnspcgjcom

dns IN A 192168132

----这是前面我们修改好的文件,我们要修改它。

@ IN SOA dnscaxapccom rootcaxapccom(

42 ; serial(dadams)

3H ; refresh

15W ; retry

1W ; expiry

1D ) ; minimum

IN NS dnscaxapccom

dns IN A 192168132

www IN A 192168131

:wq

5:# service named restart

6:# nslookup wwwcaxapccom

Server: 192168132

Address: 192168132#53

Name: wwwcaxapccom

Address: 192168131

现在我们来的主服务器,看看主服务器能不能解析,它能解析它的孙子吗?

7:#nslookup wwwcaxapccom

---不能解析的,因为没有做委派,所以不能解析。

8:#vi /etc/namedconf

做委派是时候不需要修改主配置文件。

我们只需要修改xapccomzone这个住配置文件就好了

9:#vi xapccomzone

@ IN SOA dns1xapccom rootxapccom (

42 ; serial(dadams)

3H ; refresh

15M ; retry

1W ; expiry

1D ) ; minimum

IN NS dns1xapccom

IN NS dns2xapccom

IN MX 5 mailxapccom

dns1 IN A 192168131

dns2 IN A 192168132

www IN CNAME dns1xapccom

ftp IN CNAME dns2xapccom

mail IN CNAME dns2xapccom

-------这是前面我们修改好的, 我们还要修改此文件。

@ IN SOA dns1xapccom rootxpaccom(

42 ; serial(dadams)

3H ; refresh

15M ; retry

1W ; expiry

1D ) ; minimum

IN NS dnscaxapccom

IN NS dns1xapccom

IN NS dns2xapccom

IN MX 5 mailxapccom

dns1 IN A 192168131

dns2 IN A 192168132

www IN CNAME dns1xapccom

ftp IN CNAME dns2xapccom

mail IN CNAME dns2xapccom

dnsca IN A 192168132

:wq

10:#services named restart

11:#nslookup wwwcaxapccom

Server: 192168131

Address: 192168131#53

Non-authoritative amswer:

Name: wwwcaxapccom

Address: 192168131

ok了, 所以的实验都完成了

我们可以的课后练习一下。

任务1:构建主域名服务器

任务2:构建辅助域名服务器

任务3:测试DNS服务

任务4:缓存DNS服务的配置与测试

任务5:DNS转发器的配置

任务6:新建子域及子域委派。

您好,DNS(域名系统)是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS使用TCP和UDP端口53。设置DNS方法:

1、点击任务栏上的网络图标,打开“网络和共享中心”。

2、在左侧导航栏找到“更改适配器设置”选项,点击进入。

3、选择你要设置dns的网络,然后右击图标,选择“属性”。

4、在网络连接属性面板中“网络”选项下,选中“Internet 协议版本 4(TCP/IPv4)”,然后点击下面的“属性”。

5、在属性面板中,切换到常规选项下,勾选使用下面的DNS服务器地址,输入DNS地址,然后点击确定按钮,设置完成。

免费DNS地址: 114DNS:114114114114(推荐国内使用) Google DNS:8888(国外)

DNS也叫网域名称系统,是互联网的一项服务。它实质上是一个域名和IP相互映射的分布式数据库,有了它,我们就可以通过域名更方便的访问互联网。

DNS特点有分布式的,协议支持TCP和UDP,常用端口是53,每一级域名的长度限制是63,域名总长度限制是253。

最早的时候,DNS的UDP报文上限大小是512字节,所以当某个response大小超过512(返回信息太多),DNS服务就会使用TCP协议来传输。后来DNS协议扩展了自己的UDP协议,DNS client发出查询请求时,可以指定自己能接收超过512字节的UDP包,这种情况下,DNS还是会使用UDP协议。

分层的数据库结构:

DNS的结构跟Linux文件系统很相似,像一棵倒立的树。下面用站长之家的域名举例:最上面的是根域名,接着是顶级域名,再下来是站长之家域名chinaz依次类推。使用域名时,从下而上。stoolchinaz就是一个完整的域名,wwwchinaz也是。

之所以设计这样复杂的树形结构,是为了防止名称冲突。这样一棵树结构,当然可以存储在一台机器上,但现实世界中完整的域名非常多,并且每天都在新增、删除大量的域名,存在一台机器上,对单机器的存储性能就是不小的挑战。

另外,集中管理还有一个缺点就是管理不够灵活。可以想象一下,每次新增、删除域名都需要向中央数据库申请是多么麻烦。所以现实中的DNS都是分布式存储的。

根域名服务器只管理顶级域,同时把每个顶级域的管理委派给各个顶级域,所以当你想要申请下的二级域名时,找域名注册中心就好了。二级域名,再向下的域名就归你管理了。

当你管理http://chinaz的子域名时,你可以搭建自己的nameserver,在注册中心把//chinaz的管理权委派给自己搭建的nameserver。自建nameserver和不自建的结构图如下:

一般情况下,能不自建就不要自建,因为维护一个高可用的DNS也并非容易。据我所知,有两种情况需要搭建自己的nameserver:

搭建对内的DNS。公司内部机器众多,通过ip相互访问太过凌乱,这时可以搭建对内的nameserver,允许内部服务器通过域名互通。公司对域名厂商提供的nameserver性能不满意。

虽然顶级域名注册商都有自己的nameserver,但注册商提供的nameserver并不专业,在性能和稳定性上无法满足企业需求,这时就需要企业搭建自己的高性能nameserver,比如增加智能解析功能,让不同地域的用户访问最近的IP,以此来提高服务质量。

概括一下DNS的分布式管理,当把一个域委派给一个nameserver后,这个域下的管理权都交由此nameserver处理。这种设计一方面解决了存储压力,另一方面提高了域名管理的灵活性。

顶级域名像这样的顶级域名,由ICANN严格控制,是不允许随便创建的。顶级域名分两类:通用顶级域名,国家顶级域名。

通用顶级域名常见的如、org、edu等,国家顶级域名如我国的cn,美国的us。一般公司申请公网域名时,如果是跨国产品,应该选择通用顶级域名。

如果没有跨国业务,看自己喜好(可以对比各家顶级域的服务、稳定性等再做选择)。这里说一下几个比较热的顶级域,完整的顶级域参见维基百科。

meme顶级域其实是国家域名,是黑山共和国的国家域名,只不过它对个人开发申请,所以很多个人博主就用它作为自己的博客域名。

io很多开源项目常用io做顶级域名,它也是国家域名。因为io与计算机中的input/output缩写相同,和计算机的二机制10也很像,给人一种geek的感觉。相较于域名,io下的资源很多,更多选择。

DNS解析流程:

聊完了DNS的基本概念,我们再来聊一聊DNS的解析流程。当我们通过浏览器或者应用程序访问互联网时,都会先执行一遍DNS解析流程。

标准glibc提供了libresolvso2动态库,我们的应用程序就是用它进行域名解析(也叫resolving)的,它还提供了一个配置文件/etc/nsswitchconf来控制resolving行为,配置文件中最关键的是这行:

hosts:files dns myhostname。

它决定了resolving的顺序,默认是先查找hosts文件,如果没有匹配到,再进行DNS解析。默认的解析流程如下图:

上图主要描述了client端的解析流程,我们可以看到最主要的是第四步请求本地DNS服务器去执行resolving,它会根据本地DNS服务器配置,发送解析请求到递归解析服务器(稍后介绍什么是递归解析服务器),本地DNS服务器在/etc/resolvconf中配置。下面我们再来看看服务端的resolving流程:

我们分析一下解析流程:

客户端向本地DNS服务器(递归解析服务器)发出解析//toolchinaz域名的请求,本地dns服务器查看缓存,是否有缓存过//toolchinaz域名,如果有直接返回给客户端;如果没有执行下一步。

本地dns服务器向根域名服务器发送请求,查询顶级域的nameserver地址,拿到域名的IP后,再向 nameserver发送请求,获取chinaz域名的nameserver地址。

继续请求chinaz的nameserver,获取tool域名的地址,最终得到了//toolchinaz的IP,本地dns服务器把这个结果缓存起来,以供下次查询快速返回。

本地dns服务器把把结果返回给客户端,递归解析服务器vs权威域名服务器,我们在解析流程中发现两类DNS服务器,客户端直接访问的是递归解析服务器,它在整个解析过程中也最忙。它的查询步骤是递归的,从根域名服务器开始,一直询问到目标域名。

递归解析服务器通过请求一级一级的权威域名服务器,获得下一目标的地址,直到找到目标域名的权威域名服务器,简单来说:递归解析服务器是负责解析域名的,权威域名服务器,是负责存储域名记录的。

递归解析服务器一般由ISP提供,除此之外也有一些比较出名的公共递归解析服务器,如谷歌的8888,联通的114,BAT也都有推出公共递归解析服务器,但性能最好的应该还是你的ISP提供的,只是可能会有DNS劫持的问题。

缓存,由于整个解析过程非常复杂,所以DNS通过缓存技术来实现服务的鲁棒性。当递归nameserver解析过//toolchianaz域名后,再次收到//toolchinaz查询时,它不会再走一遍递归解析流程,而是把上一次解析结果的缓存直接返回。

并且它是分级缓存的,也就是说,当下次收到的是//wwwchinaz的查询时,由于这台递归解析服务器已经知道//chinaz的权威nameserver,所以它只需要再向//chinaz nameserver发送一个查询www的请求就可以了。

根域名服务器的地址是固定的,目前全球有13个根域名解析服务器,这13条记录持久化在递归解析服务器中:

为什么只有13个根域名服务器呢,不是应该越多越好来做负载均衡吗?之前说过DNS协议使用了UDP查询,由于UDP查询中能保证性能的最大长度是512字节,要让所有根域名服务器数据能包含在512字节的UDP包中,根服务器只能限制在13个,而且每个服务器要使用字母表中单字母名。

智能解析,就是当一个域名对应多个IP时,当你查询这个域名的IP,会返回离你最近的IP。由于国内不同运营商之间的带宽很低,所以电信用户访问联通的IP就是一个灾难,而智能DNS解析就能解决这个问题。

智能解析依赖EDNS协议,这是google起草的DNS扩展协议,修改比较简单,就是在DNS包里面添加origin client IP,这样nameserver就能根据client IP返回距离client比较近的server IP了。

国内最新支持EDNS的就是DNSPod了,DNSPod是国内比较流行的域名解析厂商,很多公司会把域名利用DNSPod加速。

一般我们要注册域名,都要需要找域名注册商,比如说我想注册//hello,那么我需要找域名注册商注册hello域名。的域名注册商不止一家,这些域名注册商也是从ICANN拿到的注册权,参见如何申请成为域名注册商。

域名注册商都会自建权威域名解析服务器,比如你在狗爹上申请一个下的二级域名,你并不需要搭建nameserver,直接在godaddy控制中心里管理你的域名指向就可以了,原因就是你新域名的权威域名服务器默认由域名注册商提供。

当然你也可以更换,比如从godaddy申请的境外域名,把权威域名服务器改成DNSPod,一方面加快国内解析速度,另一方面还能享受DNSPod提供的智能解析功能。

用bind搭建域名解析服务器,由于网上介绍bind搭建的文章实在太多了,我就不再赘述了,喜欢动手的朋友可以网上搜一搜搭建教程,一步步搭建一个本地的nameserver玩一玩。这里主要介绍一下bind的配置文件吧。

bind的配置文件分两部分,bind配置文件和zone配置文件,bind配置文件位于/etc/namedconf,它主要负责bind功能配置,如zone路径、日志、安全、主从等配置其中最主要的是添加zone的配置以及指定zone配置文件。

开启递归解析功能,这个如果是no,那么此bind服务只能做权威解析服务,当你的bind服务对外时,打开它会有安全风险,如何防御不当,会让你的nameserver被hacker用来做肉鸡zone的配置文件在bind配置文件中指定,下图是一份简单的zone配置:

zone的配置是nameserver的核心配置,它指定了DNS资源记录,如SOA、A、CNAME、AAAA等记录,各种记录的概念网上资料太多,我这里就不重复了。其中主要讲一下SOA和CNAME的作用。

SOA记录表示此域名的权威解析服务器地址。上文讲了权威解析服务器和递归解析服务器的差别,当所有递归解析服务器中有没你域名解析的缓存时,它们就会回源来请求此域名的SOA记录,也叫权威解析记录。

CNAME的概念很像别名,它的处理逻辑也如此。一个server执行resloving时,发现name是一个CNAME,它会转而查询这个CNAME的A记录。一般来说,能使用CNAME的地方都可以用A记录代替,它是让多个域名指向同一个IP的一种快捷手段。

这样当最低层的CNAME对应的IP换了之后,上层的CNAME不用做任何改动。就像我们代码中的硬编码,我们总会去掉这些硬编码,用一个变量来表示,这样当这个变量变化时,我们只需要修改一处。

配置完之后可以用named-checkconf和named-checkzone。两个命令来check我们的配置文件有没有问题,之后就可以启动bind服务了:$>service named start,Redirecting to/bin/systemctl restart namedservice。

我们用netstat-ntlp,来检查一下服务是否启动,53端口已启动,那么我们测试一下效果,用dig解析一下域名,使用127001作为递归解析服务器。

我们看到dig的结果跟我们配置文件中配置的一样是1234,DNS完成了它的使命,根据域名获取到IP。用DNS实现负载均衡,一个域名添加多条A记录,解析时使用轮询的方式返回随机一条,流量将会均匀分类到多个A记录。www IN A1234,www IN A1235。

其实每次DNS解析请求时,nameserver都会返回全部IP,如上面配置,它会把1234和1235都返回给client端。那么它是怎么实现RR的呢?nameserver只是每次返回的IP排序不同,客户端会把response里的第一个IP用来发请求。DNS负载均衡vs LVS专业负载均衡。

和LVS这种专业负载均衡工具相比,在DNS层做负载均衡有以下特点:实现非常简单,默认只能通过RR方式调度,DNS对后端服务不具备健康检查。

DNS故障恢复时间比较长(DNS服务之间有缓存),可负载的rs数量有限(受DNS response包大小限制),真实场景中,还需要根据需求选择相应的负载均衡策略子域授权。

我们从域下申请一个二级域名http://hello后,发展到某一天我们的公司扩大了,需要拆分两个事业部A和B,并且公司给他们都分配了三级域名ahello和bhello,域名结构如下图:

再发展一段时间,A部门和B部门内部业务太多,需要频繁的为新产品申请域名,这个时候他们就想搭建自己的namserver,并且需要上一级把相应的域名管理权交给自己,他们期望的结构如下:

注意第一阶段和第二阶段的区别:第一阶段,A部门想申请//ahello下的子域名,需要向上级申请,整个//ahello域的管理都在总公司;第二阶段,A部门先自己搭建nameserver,然后总公司把http://ahello域管理权转交给自建的nameserver。

A部门自建nameserver,并且在zone配置文件中指定//ahello的权威解析服务器为自己的nameserver地址,总公司在nameserver上增加一条NS记录,把//ahello域授权给A部门的nameserver。

我们在用bind搭建域名解析服务器里讲过,只要在zone配置文件里指定SOA记录就好:@IN SOA nsahello adminahello(……)。

在http://hello域的nameserver上添加一条NS记录:ahello IN NS nsahellonsahello IN A xxxxxxxx(自建nameserver的IP)。

这样当解析http://xxahello域名时,//hello nameserver发现配置中有NS记录,就会继续递归向下解析,DNS调试工具,OPS常用的DNS调试工具有:host,nslookup,dig。

这三个命令都属于bind-utils包,也就是bind工具集,它们的使用复杂度、功能依次递增。关于它们的使用,man手册和网上有太多教程。DNS放大攻击属于DoS攻击的一种,是通过大量流量占满目标机带宽,使得目标机对正常用户的请求拒绝连接从而挂掉。

思路正常的流量攻击,hack机向目标机建立大量request-response,但这样存在的问题是需要大量的hack机器。因为服务器一般的带宽远大于家用网络,如果我们自己的家用机用来做hack机器,还没等目标机的带宽占满,我们的带宽早超载了。

原理DNS递归解析的流程比较特殊,我们可以通过几个字节的query请求,换来几百甚至几千字节的resolving应答(流量放大),并且大部分服务器不会对DNS服务器做防御。

那么hacker们只要可以伪装DNS query包的source IP,从而让DNS服务器发送大量的response到目标机,就可以实现DoS攻击。

但一般常用的DNS服务器都会对攻击请求做过滤,所以找DNS服务器漏洞也是一个问题。详细的放大攻击方法自行google。

搜狗高速浏览器是一款集高效、稳定于一身的现代化网络浏览工具。利用先进的渲染引擎和优化算法,搜狗高速浏览器确保了卓越的页面加载速度和流畅的多媒体体验。具备全方位的安全防护特性,能有效防御各类网络威胁,同时支持HTML5和CSS3,确保了与最新网络技术标准的完美兼容。欲了解更多或立即下载,请访问https://sogou37moyucom/

  Linux是一款区别于Windows和macOS操的操作系统,它的界面非常简洁,而且各个操作也很简单,但是这个系统对于绝大多数的用户来说是不熟悉的,很多人都不会使用到这个系统。但程序员和很多喜欢钻研计算机的朋友就非常熟悉了。Linux操作系统的操作逻辑和Windows有很大区别,为此DNS域名也有较大的区别。那么我们在使用Linux访问网络的时候如何进行LinuxDNS的设置和修改呢下面我们就为大家介绍一个简单的方法。

  Linux系统简介

  Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

  Linux操作系统诞生于1991 年10 月5 日(这是第一次正式向外公布时间)。Linux存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、 平板电脑 、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。

  修改设置Linux DNS域名的方法

  用windos系统大家都知道,本地连接里面有一个DNS设置。 那么这个选项对应Linux系统的话就是在网卡配置文件,通过编辑vi /etc/sysconfig/network-scripts 网卡下面的ifcfg-eth0 配置文件添加DNS服务器地址。

  查看DNS服务器地址网卡配置,输入 ifconfig -a 可以查看所有设备配置。

  在终端输入 setup命令即可调出图形界面设置(配置信息会写入/etc/resolvconf文件里面)。

  在Linux下面,有一个默认的DNS服务器地址配置文件的设置,存放在 /etc/resolvconf。设置方法很简单,通过编辑 vi /etc/resolvconf 设置首选DNS和次要DNS。排在前面的就是首选DNS,后面一行就是次要的DNS服务器DNS。

  跟Windows系统一样,Linux系统也有主机表文件。同样可以通过设置主机表地址进行特定主机的解析,优先DNS服务器地址。配置文件,在/etc/hosts。

  Linux下设置DNS的位置主要是:

  1网卡设置配置文件里面DNS服务器地址设置,

  2系统默认DNS服务器地址设置,

  33,hosts文件指定。

  生效顺序是:1 hosts文件 - 2 网卡配置文件DNS服务地址 -3 /etc/resolvconf。

  通过上述的方法和操作我们就能够对Linux环境下的DNS域名服务器进行修改和设置。Linux系统作为一款操作简单,界面简洁的操作系统来说,修改DNS域名服务器能够更好地帮助我们使用电脑的网络功能,使得网络办公的效率能够得到提高。为此,很多程序员都很喜欢Linux操作系统,并经常在Linux系统的环境下完成自己的编程工作和开发工作。

总结而言,搜狗高速浏览器是一款为满足现代网络需求而精心打造的浏览器。其专业的开发团队不仅注重提供一流的用户体验,还致力于不断优化网页执行速度,增强安全性,以及支持各类扩展插件,从而实现高度个性化的浏览体验。如果您在寻找一款可靠、高效和技术先进的浏览器,搜狗高速浏览器将是您的理想选择。请访问官方网站https://sogou37moyucom/ 下载并体验搜狗高速浏览器,感受由先进技术所驱动的非凡浏览体验。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » DNS服务器的安装和配置

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情