在网络服务器中, () 组织成域层次结构计算机和网络服务命名系统,负责IP地址和域名之间转换。
答案:D
DNS(Domain Name System,域名系统)负责把域名解析成IP地址,DNS后台是有一个分布数据库,这个数据库里面有域名和IP地址对应关系。常用DNS服务器有Windows下DNS服务器和Linux下Bind服务器。DNS服务器默认使用UDP和TCP53号端口服务。
运行环境redhat 90 ,IP地址1721812135,实现的域名为
1安装DNS所要的软件包
查看是否安装bind软件,在终端中输入
代码如下:
[root@localhost root]# rpm -qa|grep bind
redhat-config-bind-190-13
bind-921-16
bind-utils-921-16
ypbind-111-4
若出现以上的文字则表示安装成功,若没有出现以上东西插入正确的光盘,进行安装或者通过下载源代码进行安装。
2设定好IP地址与DNS
在终端中输入netconfig,回车,在第一行中输入IP,1721812135第二行输入子网掩码2552552550第三行输入网关地址:172181211,最后一行输入DNS 1721812135再确定再在终端中输入下面的命令
代码如下:
[root@localhost root]#service network reload
[root@localhost root]#service network restart
通过ifconfig查看IP信息
3配置DNS
配置DNS正向搜索,配置文件如下:
代码如下:
[root@localhost root]#cp /var/named/localhostzone /var/named/
先复制本机DNS的一个配置模板文件,进行修改
代码如下:
[root@localhost root]# vi /var/named/
$TTL 86400
$ORIGIN
@ 1D IN SOA root (
42 ; serial (d adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
1D IN NS @
1D IN MX 5 mail
www 1D IN A 1721812135
mail 1D IN A 1721812135
ftp 1D IN A 1721812135
pop3 IN CNAME mail
smtp IN CNAME mail
保存退出,先按ESC ,再:wq
配置DNS正向搜索,配置文件如下:
代码如下:
[root@localhost root]#cp /var/named/namedlocal /var/named/17218121rev
先复制本机DNS的一个配置模板文件,进行修改
代码如下:
[root@localhost root]# vi /var/named/17218121rev
$TTL 86400
@ IN SOA root (
1997022700 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS
p35 IN PTR www
35 IN PTR mail
35 IN PTR ftp
配置本机DNS的一个主文件,安装好后它有一个模板,修改它,修改的部分是粗线表示
代码如下:
[root@localhost root]# vi /etc/namedconf
// generated by named-bootconfpl
options {
directory "/var/named";
/
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 81 uses an unprivileged
port by default
/
// query-source address port 53;
};
//
// a caching only nameserver config
//
controls {
inet 127001 allow { localhost; } keys { rndckey; };
};
zone "" IN {
type hint;
file "namedca";
};
zone "localhost" IN {
type master;
file "localhostzone";
allow-update { none; };
};
zone "00127in-addrarpa" IN {
type master;
file "namedlocal";
allow-update { none; };
};
zone ""IN{
type master;
file "";
};
zone "12118172in-addrarpa"IN{
type master;
file "17218121rev";
};
include "/etc/rndckey";
"/etc/namedconf" [已转换] 45L, 894C
配置本机的域名转换程序的顺序
代码如下:
[root@localhost root]# vi /etc/hostconf
order bind,hosts
multi off
trim
[root@localhost root]# vi /etc/resolvconf
nameserver 1721812135
nameserver 218196422
namedsever 218196422
domain
search www
option nochecknames rotate
4启动named服务
代码如下:
[root@localhost root]#service named start
5检查配置是否成功
代码如下:
[root@localhost root]# nslookup
Note: nslookup is deprecated and may be removed from future releases
Consider using the `dig' or `host' programs instead Run nslookup with
the `-sil[ent]' option to prevent this message from appearing
www
Server: 1721812135
Address: 1721812135#53
Name: www
Address: 1721812135
1721812135
Server: 1721812135
Address: 1721812135#53
3512118172in-addrarpa name = ftp
3512118172in-addrarpa name = www
3512118172in-addrarpa name = mail
ctrl +D退出
若出现上面的情况的文字表示已经配置成功
6其实在配置的过程中,查看自己是否配置正确可以通过named –g 进行查看你的配置文件到底错在那个地方,再进行修改
PS:DNS相关配置文件说明
/etc/hostconf
当系统中同时存在DNS域名解析和/etc/hosts主机表机制时,由该/etc/hostconf确定主机名解释顺序。示例:
order hosts,bind #名称解释顺序
multi on #允许主机拥有多个IP地址
nospoof on #禁止IP地址欺骗
order是关键字,定义先用本机hosts主机表进行名称解释,如果不能解释,再搜索bind名称服务器(DNS)。
/etc/resolvconf
该文件是DNS域名解析的配置文件,它的格式很简单,每行以一个关键字开头,后接配置参数。resolvconf的关键字主要有四个,分别是:
nameserver #定义DNS服务器的IP地址
domain #定义本地域名
search #定义域名的搜索列表
sortlist #对返回的域名进行排序
/etc/resolvconf的一个示例:
domain ringkeecom
search wwwringkeecom ringkeecom
nameserver 2029612886
nameserver 20296128166
最主要是nameserver关键字,如果没指定nameserver就找不到DNS服务器,其它关键字是可选的。
/etc/hosts
设置IP地址与主机名对应表,可用该文件来进行主机名称解释。如:
#格式:IP地址 主机名 别名
代码如下:
127001 localhost localhostlocaldomain
19216811 debian debian
19216802 t02 t02tiger
19216804 t04 t04tiger
/etc/nameconf
// generated by named-bootconfpl
poptions {
directory "/var/named";
/
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 81 uses an unprivileged
port by default
/
// query-source address port 53;
};
p//
// a caching only nameserver config
//
pzone "" IN {
type hint;
file "namedca";
};
pzone "00127in-addrarpa" IN {
type master;
file "namedlocal";
allow-update { none; };
};
这一部分是你安装了bind软件后系统自动产生的namedconf文件的原始内容。“directory”指定了dns记录文件的存放目录是/var/named。“//”开头的文字是说明文字,不用管它。接着的两个“zone”语句定义了dns服务器的根和对应的反向查询域,并指出根的记录文件是“nameca”,根的反向查询域的记录文件是“namedlocal”。这两个记录文件也是系统自带的,不用去改动它。namedconf文件的这一部分内容,我们不必去改动它。
但我们可以在“diretory”下添加一行:forwarders {20296134133;}。20296134133是我这里电信的dns服务器的地址,forwarders参数指明了其后的ip所在的服务器作为备选的dns服务器。也就是说,把本机的dns不能解析的主机发送到这个备选的dns服务器上,让它来进行解析。
代码如下:
zone "" IN {
type master;
file "named";
allow-update { none; };
};
zone "0010in-addrarpa" IN {
type master;
file "namedrev";
allow-update { none; };
};
这一部分是手工添加的。定义了“”这个域和对应的反向查询域。“type master”说明本机是“”和“0010in-addrarpa”这两个域的主dns服务器(primary name server)。“named”和“namedrev”是域的记录文件。这两个文件也是自己创建的,下面我们就来看看这两个文件。
/var/named/naemdcom
资源记录文件,位于/var/named目录下。这个目录是namedconf中定义的。
1、named文件内容如下:
代码如下:
@ IN SOA netfinity rootnetfinity (
1997022700 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS netfinity
IN MX 10 netfinity
pnetfinity IN A 1000211
lily IN A 1000139
www IN CNAME netfinity
pop3 IN CNAME netfinity
smtp IN CNAME netfinity
在这个记录文件中,出现了5种类型的记录。SOA 是授权起始(Start Of Authority)的缩写,后面接着写你的dns服务器的主机名,这里是“netfinity”。(注意,主机名称后面的小圆点。凡是出现在记录文件了的主机名,记得都要加上这各小圆点。)NS 是名称服务器资源记录,指明域中的名称服务器,这里就是dns服务器。MX是邮件交换者资源记录,指明这个域的邮件服务器。你可以写多个MX记录,指明多个邮件服务器,优先级别由MX后的数字决定,数字越小,邮件服务器优先权越高。A是主机记录,把主机和ip地址对应起来。CNAME是别名记录,它赋予一个主机不同的名称,如www、pop3其实都是指向同一台主机netfinity。
/var/named/naemdcomrev
namedrev文件内容:
代码如下:
@ IN SOA netfinity rootnetfinity (
1997022700 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS netfinity
211 IN PTR netfinity
139 IN PTR lily
这是“”的反向域记录文件,它让dns服务器提供由ip地址查找主机名的服务。PTR记录把ip和主机名对应起来。由于一些程序会要求反向查询,所以反向查询域的记录文件最好不要省略。
到此为止,你已经成功配置了一个dns服务器,它能够解析“”这个域了。
Centos58
bind-936-25P1el5_1112
3配置zone文件
vi /var/named/aacomzone内容如下:
4启动bind服务
5查看dns解析结果
验证结果
nginx配置:
步骤:
1启动上述配置的bind服务器和nginx
2curl -v -x 1271:8080 http://aaaaacom/indexhtml ,响应内容为"::1"
对方所在的区域信号弱。
bind手机状态未知可能代表对方没有连接网络,无法进行数据更新。对方所在的区域信号弱,也无法更新位置。对方把GPS功能关闭了,看不见位置移动信息。对方就一直待在原地没有移动,也会出现位置不更新。
Bind是一款开放源码的DNS服务器软件,Bind由美国加州大学Berkeley分校开发和维护的,全名为BerkeleyInternetNameDomain,它是目前世界上使用最为广泛的DNS服务器软件,支持各种unix平台和windows平台
在配置DNS主从服务器同步的时候,bind服务默认是允许任何人进行同步的,但是这样容易造成安全隐患。bind服务支持通过限制IP和key认证两种方式来对同步的来源Ip进行限制,限制IP的方法已经在此前的文章中演示多次,因此本文着重描述如何使用key认证来限制从服务器的来源。
本次实验我使用了两台虚拟机进行测试,分别是:
相关的主从服务器的配置此处不多细说,可参考我此前的文章; https://wwwjianshucom/p/e8b5866802d1
在DNS主服务器上生成认证key:
编辑/etc/namedconf文件:
编辑/etc/namedrfc1912zones文件:
随后分别创建/var/named/handwellcomzone和/var/named/1888888zone文件:
随后检查相关的配置文件,如无报错后,重新加载named服务即可:
此时没通过key认证的服务器尝试来同步相关的区域数据时,通过systemctl status named 或查看 /var/log/messages日志可看到以下的拒绝报错:
或者如果从服务器的认证key不正确,也会出现以下报错:
编辑从服务器的/etc/namedconf 文件:
编辑/etc/namedrfc1912zones文件:
配置完成后,验证检查相应的配置文件后重启服务即可:
此时查看对应的日志文件应能看到相应的同步信息如:
域名服务(DNS)是一种Internet服务,可将IP地址和标准域名(FQDN)相互映射。这样,DNS减轻了记住IP地址的需要。运行DNS的计算机称为名称服务器。Ubuntu附带了BIND (Berkley Internet Naming Daemon),BIND是用于在Linux上维护名称服务器的最常用程序。
在终端提示符下,输入以下命令安装 dns:
dnsutils 软件包是测试和解决 DNS 问题非常有用的。 这些工具通常已经安装,但是要检查或安装 dnsutils,请输入以下内容:
有许多方法可以配置BIND9。一些最常见的配置是缓存名称服务器,主服务器和辅助服务器。
DNS配置文件存储在 /etc/bind 目录中。主要配置文件是 /etc/bind/namedconf ,在软件包提供的布局中仅包括这些文件。
可以将同一服务器配置为缓存名称服务器,主要和辅助名称服务器:这都取决于它所服务的区域。服务器可以是一个区域的授权开始(SOA),同时为另一区域提供辅助服务。同时为本地LAN上的主机提供缓存服务。
默认配置充当缓存服务器。只需取消注释并编辑 /etc/bind/namedconfoptions 即可设置ISP的DNS服务器的IP地址:
要启用新配置,请重新启动DNS服务器。在终端提示下:
在本节中,将BIND9配置为域的主服务器 examplecom 。只需 examplecom 用您的FQDN(完全合格的域名)替换即可。
要将DNS区域添加到BIND9,将BIND9变成主服务器,请首先编辑 /etc/bind/namedconflocal :
现在,使用现有的区域文件作为模板来创建 /etc/bind/dbexamplecom 文件:
编辑新的区域文件, /etc/bind/dbexamplecom 然后更改 localhost为服务器的FQDN,在末尾保留其他文件。更改 127001 为名称服务器的IP地址和 rootlocalhost 有效的电子邮件地址,但用 代替通常的 @ 符号,并再次在末尾保留。更改注释以指示此文件所针对的域。
为基本域创建 A 记录 examplecom 。此外,创建一个 A 记录的 nsexamplecom ,在这个例子中,域名服务器:
每次更改区域文件时,都必须增加序列号(Serial)。如果在重新启动BIND9之前进行了多次更改,只需增加一次串行。
现在,您可以将DNS记录添加到区域文件的底部。有关详细信息,请 参阅公共记录类型 。
对区域文件进行了更改之后,需要重新启动BIND9以使更改生效
现在已经设置了区域并将名称解析为IP地址,现在需要添加反向区域以允许DNS将地址解析为名称。
编辑 /etc/bind/namedconflocal 并添加以下内容:
现在创建 /etc/bind/db192 文件:
接下来编辑 /etc/bind/db192 ,更改与 /etc/bind/dbexamplecom 相同的选项:
每次更改时,“反向”区域中的序列号也需要增加。 对于您在 /etc/bind/dbexamplecom 中配置的每个A记录(即针对另一个地址),您需要在 /etc/bind/db192 中创建一个PTR记录。
创建反向区域文件后,重新启动BIND9
一旦配置了主服务器,强烈建议使用辅助服务器,以在主服务器不可用时维持域的可用性。
首先,在主服务器上,需要允许区域传输。将 allow-transfer 选项添加到示例正向和反向区域定义中 /etc/bind/namedconflocal :
在主服务器上重新启动BIND9:
接下来,在辅助服务器上,以与主服务器相同的方式安装bind9软件包。然后编辑, /etc/bind/namedconflocal 并为正向和反向区域添加以下声明:
在辅助服务器上重新启动BIND9:
在其中, /var/log/syslog 您应该看到类似以下内容的内容(为了适应本文档的格式,对某些行进行了拆分):
测试BIND9的第一步是将名称服务器的IP地址添加到主机解析器。应该配置主要名称服务器以及另一个主机,以仔细检查。有关将名称服务器地址添加到网络客户端的详细信息,请参阅DNS客户端配置。最后,您的 nameserver 一行 /etc/resolvconf 应指向, 1270053 并且您应该 search 为您的域指定一个参数。像这样:
要检查您的本地解析器正在使用哪个DNS服务器,请运行:
如果安装了dnsutils软件包,则可以使用DNS查找实用程序dig测试设置:
安装完BIND9之后,请对环回接口使用dig来确保它正在侦听端口53。从终端提示符下:
您应该在命令输出中看到类似于以下内容的行:
如果您已将BIND9配置为缓存名称服务器,则“挖掘”外部域以检查查询时间:
注意查询时间接近命令输出的末尾:
经过第二次挖掘后,应该有所改进:
现在演示应用程序如何使用DNS解析主机名,使用ping实用程序发送ICMP回显请求:
这测试名称服务器是否可以将名称解析为 nsexamplecom IP 地址。 命令输出应类似于:
测试区域文件的一种好方法是使用 named-checkzone 与bind9软件包一起安装的实用程序。使用此实用程序,可以在重新启动BIND9并使更改生效之前确保配置正确。
要测试我们的示例正向区域文件,请从命令提示符处输入以下内容:
如果一切配置正确,您应该会看到类似以下的输出:
同样,要测试反向区域文件,请输入以下内容:
输出应类似于:
BIND9有多种可用的日志记录配置选项,但是两个主要的选项是 channel 和 category ,它们分别配置日志的去向和要记录的信息。
如果未配置任何日志记录选项,则默认配置为:
让我们将BIND9配置为将与DNS查询相关的调试消息发送到单独的文件。
我们需要配置一个通道以指定要将消息发送到的文件,以及一个category。在此示例中,类别将记录所有查询。编辑 /etc/bind/namedconflocal 并添加以下内容:
由于命名守护程序以绑定用户身份运行,因此 /var/log/named 必须创建目录并更改所有权:
现在重新启动BIND9,以使更改生效:
您应该看到文件中 /var/log/named/querylog 填充了查询信息。这是BIND9日志记录选项的简单示例。
0条评论