Linux全攻略--DNS服务器配置与管理(一)

本文涉及的产品
云解析 DNS,旗舰版 1个月
云解析DNS,个人版 1个月
全局流量管理 GTM,标准版 1个月
简介:
      在LINUX中,域名服务是由BIND (Berkeley Internet Name Domain,柏克莱网间域名)软件实现的.BIND是一个C/S系统,其客户端称为转换程序(resolver),它负责产生域名信息的查询,将这类信息发送给服务器端.BIND的服务器端是一个称为named的守护进程.它负责回答转换程序的查询.作为DNS客户端,第一步是在用户的计算机上配置客户端程序(转换程序).即向域名服务器获得域名解析/反解析服务.
一.DNS的组成.
1)域名或资源记录(Domain Name and Resource Records):用来指定结构化的域名空间和相应的数据.
2)域名服务器.(Name Server):它是一个服务器端的程序,包括域名空间树结构的部分信息.
3)解析器(Resolves):它是客户端向域名服务器提交解析请求的程序.
二.DNS的分类
1.Master Server(主服务器)
2.Slave Server(辅助服务器)
3.Caching only Server(缓存服务器)
4.Forwarder Server(转发服务器)
三.BIND的安装
通过下面的命令
这里是安装好了.
2.DNS的启动
有两种
1)使用图形化方式启动:选择"应用程序|系统设置|服务器设置|服务.
选中named可以执行关闭,启动和重新启动等操作.
2)在终端窗口用命令进行启动
3.BIND常用的测试命令
有3种:
nslookup:DNS查询命令
dig:DNS信息收集命令
host:域名检索命令
 
四.配置文件和相关概念
DNS主要的配置文件有4个:
1)主配置文件:named.conf,路径为/etc/named.conf.它用来设置全局参数.调配正向解析数据库文件和逆向数据库文件.
2)正向解析数据库文件:localhost.zone,路径为/var/named/localhost.zone.该文件用来将域名转换成IP地址,是区域文件的一部分.
3)逆向解析数据库文件:named.local,路径为/var/named/named/local.该文件用来将IP地址转换成域名,也是区域文件的一部分.
4)根域名服务器指向文件:named.ca,路径为/var/named/named.ca.它用于缓存服务器的初始配置.
 
下面首先来看转换程序控制文件---host.conf
文件/etc/host.conf是用来控制本地转换程序设置的文件.该文件夹告诉转换程序使用哪些服务和按照什么顺序进行查询.
看文件:
#/etc/host.conf
order bind hosts :还有一个是nis
multi off 与host查询一起用,用来确定一台主机是否在/etc/hosts文件中.
nospoof on:若在反向解析找出与指定的地址匹配的主机名,则对返回的地址进行解析以确认它确实与你查询的地址相匹配.为了防止骗取IP地址,通过指定nospoof on来允许此功能
alert on:开启则任何试图骗取IP地址的行为都通过syslog工具进行记录.
trim jamond.net:以域名为参数,在查找名字前先删除此域名,再从文件/etc/hosts查找匹配的主机名.
下面看转换程序配置文件--resolv.conf
当配置转换程序使用BIND域名服务器查询主机时,必须告诉转换程序使用哪一个域名服务器.用来完成这项任务的工具就是/etc/resolv.conf文件.
看配置文件例子:
#/etc/resolv.conf
nameserver 192.168.1.1  列出域名服务器的IP地址,最多可以出现三个
nameserver 192.168.1.2
domain dongguan.com  定义默认的域名
search haida.dongguan.com donggaun.com 指定域名搜索表,最多六个域名参数
options nochecknames rotate 常用的选项有:rotate:打开客户端轮询查询选项.当nameserver中定义多个域名服务器时,进行轮询查询;nochecknames:禁止检测被查询的域名是否符合RFC952,当需要使用带有下划线"_"的域名时,需要该项.;inet6:可以使解析器查询ipv6.
 
下面看主配置文件夹/etc/named.conf
//
// named.conf for Red Hat caching-nameserver 
//
options { //定义服务器区配置文件的工作目录
 directory "/var/named";
 dump-file "/var/named/data/cache_dump.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
// 定义rndc命令使用的控制通道
controls {
 inet 127.0.0.1 allow { localhost; } keys { rndckey; };
};
//定义根区声明
zone "." IN {
 type hint;
 file "named.ca";
};
zone "localdomain" IN {
 type master;
 file "localdomain.zone";
 allow-update { none; };
};
//定义正向解析区
zone "localhost" IN {
 type master;
 file "localhost.zone";
 allow-update { none; };
};
//定义反向解析区
zone "0.0.127.in-addr.arpa" IN {
 type master;
 file "named.local";
 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";
DN S BIND区域类型
master 主DNS区域
slave 从DNS区域,由主DNS区域控制
stub 与从区域类似,但只保存DNS服务器的名字
forward  将任何询问请求转发给其它服务器
hint 根DNSINTERNET服务器集
 
正向解析文件/var/named/localhost.zone
$TTL 86400  //864000秒=1天
//设置SOA RR
@  IN SOA @       root (
     42  ; serial (d. adams)
     3H  ; refresh
     15M  ; retry
     1W  ; expiry
     1D )  ; minimum
//设置NS RR
         IN NS  @
//设置A RR
   IN A  127.0.0.1
  IN AAAA  ::1
逆向解析文件/var/named/named.local
$TTL 86400
@   IN  SOA  localhost. root.localhost. (
                                                        1997022700;Serial
                                                         28800;Refresh
                                                         14400;Retry
                                                         3600000;Expire
                                                         86400);Minimum
                              IN        NS         localhost.
//设置PTR RR
1                     IN     PTR    localhost.
 
先来看区文件:
1资源记录
基本格式:[name] [ttl] IN type rdata
name是以下:"."是根域;
@:是默认域,可以在文件中使用$ORIGIN domain 来说明默认域
标准域名:或是以"."结束的域名,或是一个相对域名
空:该记录适用于最后一个带有名字的域对象.
ttl:寿命字段.它以秒为单位定义该资源记录中的信息存放在高速缓存中的时间长度.通常该字段为空,表示采用SOA中的最小TTL值.
IN:将该记录标识为一个INTERNET DNS资源记录
type:有A CNAME HINFO MX NS PTR SOA
rdata:指定与这个资源记录有关的数据.
 
最后来看DNS服务器的配置
由于本机是新安装的,先来修改下主机名
先来修改network文件.这里主机名是完整域名.
 
然后是修改下HOSTS.不然开机时会经常有提示找不到主机名对应的网络地址.
这里是主域名的配置,指定正向解析区域声明.类型为主域名服务器.定义正向解析文件.这里是默认的解析文件,可修改.反向解析区同样.
这里还设置了别名.
说明"@"符号用在SOA记录中,代表区域的域名.任何没有以点号结尾的主机名或域名会自动追加域名.如haida后面没有点号,会自动追加为haida.dongguan.com
设置反向解析.
然后重新启动.
启动后来进行测试了.
重新启动服务或
#rndc reload
#rndc status
用nslookup,反向解析成功.查询域名haida.dongguan.com.
反向查询域名xinxi.dongguan.com.
正向查询域名haida.dongguan.com
正向查询域名xinxi.dongguan.com
显示当前设置的所有数值
查看域dongguan.com域的NS资源记录配置
查看域dongguan.com域的别名资源记录配置
查看反向区的所有设置情况.
 
有关更详细的内容请看WIN2003的配置.这里相同的就不说明那么清楚了.
 


     本文转自yangming1052 51CTO博客,原文链接:http://blog.51cto.com/ming228/107382,如需转载请自行联系原作者




相关文章
|
9天前
|
安全 Linux 应用服务中间件
Linux命令show-installed的深入解析
`show-installed`是Linux中一个假设的命令,模拟显示已安装软件包的功能。它结合了`apt`、`yum`等包管理器的特性,提供跨发行版的兼容性,展示包的名称、版本、安装时间和来源。可用参数如`-n`过滤名称,`-v`显示版本,`-s`显示来源,`-t`显示时间。注意需root权限运行,大系统中可能影响性能。最佳实践包括定期审查、使用过滤、结合其他命令和备份数据。
|
4天前
|
存储 监控 Linux
stdbuf命令在Linux中的深度解析
`stdbuf`是Linux工具,用于控制命令的stdin、stdout和stderr的缓冲模式。它可以设置为无缓冲、行缓冲或块缓冲,以优化数据处理和实时性。例如,`stdbuf -o0 cmd`禁用cmd的输出缓冲,`-oL`则按行缓冲。在需要实时监控或高效处理大量数据时,选择合适的缓冲模式至关重要。注意,过度使用无缓冲可能影响性能,并非所有系统都支持`stdbuf`。
|
4天前
|
监控 安全 Linux
Linux命令ssltap的深入解析与应用实践
`ssltap`是一个假想的Linux命令,用于模拟SSL/TLS流量分析。它捕获、解密(如果有密钥)并分析加密流量,提供实时监控、协议解析和安全审计。特点包括实时性、灵活性、可扩展性和安全性。示例用法包括捕获特定端口流量和实时监控会话状态。在实际操作中应注意私钥安全、性能影响及合规性,建议定期审计和自动化监控。
|
3天前
|
存储 缓存 网络协议
如何在 Linux 上刷新 DNS 缓存?
【7月更文挑战第14天】
8 0
如何在 Linux 上刷新 DNS 缓存?
|
6天前
|
Linux
Linux 中RPM软件包管理
Linux 中RPM软件包管理
|
8天前
|
安全 算法 Linux
Linux命令signver的深入解析
`signver`非Linux标准命令,常用于APK签名版本指定,确保安全性和市场兼容性。在加固工具配置中,如`NHPProtect.jar`,它可能作为参数 `-signver` 使用,允许指定(v1, v2, v3)等签名版本。正确配置保证通过验证,增强用户数据安全。注意兼容性、正确填写配置并定期更新加固工具。测试和遵循最佳安全实践同样关键。
|
11天前
|
SQL 运维 监控
MSSQL性能调优深度解析:索引优化策略、SQL查询优化技巧与高效并发管理实践
在Microsoft SQL Server(MSSQL)的运维与优化领域,性能调优是确保数据库高效运行、满足业务需求的关键环节
|
8天前
|
Unix Linux C++
Linux命令size的深入解析
`size`命令在Linux中用于查看目标文件的内存布局,显示代码、数据和BSS段的大小,助力程序优化和资源管理。支持多种输出格式、基数和与其他命令结合使用进行递归分析。常用参数包括设置格式(-A)、基数(-m)、人类可读(-h)和总计(-t)。通过示例展示了如何查看单个或多个文件的大小,并与`find`结合遍历目录。使用时注意文件访问权限和选择合适的输出选项。
|
10天前
|
存储 数据管理 Linux
Linux命令sg的深入解析与应用
**Linux的`sg`命令用于高效管理SCSI设备,它基于DMA和Scatter-Gather技术,提供直接设备控制和高效数据传输。`sg`常通过`sg3_utils`工具集来使用,例如`sg_io`,用于执行SCSI命令。在实际应用中,需注意权限、数据安全和兼容性问题,遵循备份、详细阅读文档和逐步测试的最佳实践。**
|
10天前
|
存储 安全 算法
Linux命令sha1sum的详细解析
`sha1sum`是Linux下的命令行工具,用于计算文件的SHA-1哈希值,用于验证文件完整性和安全性。SHA-1算法将数据转化为160位的哈希值,具有唯一性、固定长度和单向性。命令支持二进制或文本模式,可检查校验文件、保存哈希值、验证文件完整性。尽管由于安全问题不推荐用于高安全场景,但在一些场景下仍用于文件校验。最佳实践包括定期验证、保存校验文件和与其他命令结合使用。

相关产品

  • 云解析DNS