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

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 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,如需转载请自行联系原作者




相关文章
|
3天前
|
缓存 资源调度 安全
深入探索Linux操作系统的心脏——内核配置与优化####
本文作为一篇技术性深度解析文章,旨在引领读者踏上一场揭秘Linux内核配置与优化的奇妙之旅。不同于传统的摘要概述,本文将以实战为导向,直接跳入核心内容,探讨如何通过精细调整内核参数来提升系统性能、增强安全性及实现资源高效利用。从基础概念到高级技巧,逐步揭示那些隐藏在命令行背后的强大功能,为系统管理员和高级用户打开一扇通往极致性能与定制化体验的大门。 --- ###
19 9
|
20天前
|
监控 Linux Shell
|
23天前
|
监控 Java Linux
Linux系统之安装Ward服务器监控工具
【10月更文挑战第17天】Linux系统之安装Ward服务器监控工具
48 5
Linux系统之安装Ward服务器监控工具
|
5天前
|
安全 算法 Linux
Linux 服务器还有漏洞?建议使用 OpenVAS 日常检查!
在数字化时代,Linux 服务器的安全至关重要。OpenVAS 是一款优秀的开源漏洞扫描工具,可以帮助及时发现并修复服务器中的安全隐患。本文将介绍 OpenVAS 的主要功能、使用方法及应对漏洞的措施,帮助用户加强服务器安全管理,确保企业数字化安全。
18 7
|
5天前
|
存储 安全 数据管理
如何在 Rocky Linux 8 上安装和配置 Elasticsearch
本文详细介绍了在 Rocky Linux 8 上安装和配置 Elasticsearch 的步骤,包括添加仓库、安装 Elasticsearch、配置文件修改、设置内存和文件描述符、启动和验证 Elasticsearch,以及常见问题的解决方法。通过这些步骤,你可以快速搭建起这个强大的分布式搜索和分析引擎。
12 5
|
8天前
|
监控 Ubuntu Linux
使用VSCode通过SSH远程登录阿里云Linux服务器异常崩溃
通过 VSCode 的 Remote - SSH 插件远程连接阿里云 Ubuntu 22 服务器时,会因高 CPU 使用率导致连接断开。经排查发现,VSCode 连接根目录 ".." 时会频繁调用"rg"(ripgrep)进行文件搜索,导致 CPU 负载过高。解决方法是将连接目录改为"root"(或其他具体的路径),避免不必要的文件检索,从而恢复正常连接。
|
10天前
|
算法 Linux 定位技术
Linux内核中的进程调度算法解析####
【10月更文挑战第29天】 本文深入剖析了Linux操作系统的心脏——内核中至关重要的组成部分之一,即进程调度机制。不同于传统的摘要概述,我们将通过一段引人入胜的故事线来揭开进程调度算法的神秘面纱,展现其背后的精妙设计与复杂逻辑,让读者仿佛跟随一位虚拟的“进程侦探”,一步步探索Linux如何高效、公平地管理众多进程,确保系统资源的最优分配与利用。 ####
38 4
|
11天前
|
缓存 负载均衡 算法
Linux内核中的进程调度算法解析####
本文深入探讨了Linux操作系统核心组件之一——进程调度器,着重分析了其采用的CFS(完全公平调度器)算法。不同于传统摘要对研究背景、方法、结果和结论的概述,本文摘要将直接揭示CFS算法的核心优势及其在现代多核处理器环境下如何实现高效、公平的资源分配,同时简要提及该算法如何优化系统响应时间和吞吐量,为读者快速构建对Linux进程调度机制的认知框架。 ####
|
11天前
|
缓存 Unix Linux
服务器linux!!!
本文介绍了计算机的演变历史、硬件基础知识及服务器相关知识。从电子管时代的ENIAC到冯-诺伊曼架构,再到现代计算机系统组成,详细讲解了计算机的发展历程。此外,文章还介绍了服务器的分类、品牌、硬件组成以及IDC机房的上架流程,为读者提供了全面的技术背景知识。
30 0
服务器linux!!!
|
13天前
|
人工智能 安全 Linux

相关产品

  • 云解析DNS