位置: 编程技术 - 正文

在Linux系统上安装配置DNS服务器的教程(linux中安装软件可使用哪些方式)

编辑:rootadmin

推荐整理分享在Linux系统上安装配置DNS服务器的教程(linux中安装软件可使用哪些方式),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:linux中安装软件可使用哪些方式,linux安装有哪几种方式,linux几种安装方式,linux中安装软件可使用哪些方式,linux操作系统如何安装,在安装linux的过程中的第五步,在linux系统中安装软件,在linux系统中安装软件,内容如对您有帮助,希望把文章链接给更多的朋友!

简介DNS 是计算机域名系统 (Domain Name System 或Domain Name Service) 的缩写,它是由解析器和域名服务器组成的。域名服务器是指保存有该网络中所有主机的域名和对应IP地址,并具有将域名转换为IP地址功能的服务器。其中域名必须对应一个IP地址,而IP地址不一定有域名。域名系统采用类似目录树的等级结构。域名服务器为客户机/服务器模式中的服务器方,它主要有两种形式:主服务器和转发服务器。将域名映射为IP地址的过程就称为“域名解析”。在Internet上域名与IP地址之间是一对一(或者多对一)的,也可采用DNS轮循实现一对多,域名虽然便于人们记忆,但机器之间只认IP地址,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,DNS就是进行域名解析的服务器。DNS 命名用于 Internet等 TCP/IP网络中,通过用户友好的名称查找计算机和服务。当用户在应用程序中输入 DNS 名称时,DNS 服务可以将此名称解析为与之相关的其他信息,如 IP 地址。因为,你在上网时输入的网址,是通过域名解析系统解析找到了相对应的IP地址,这样才能上网。其实,域名的最终指向是IP。 [1]

DNS分为Client和Server,Client扮演发问的角色,也就是问Server一个Domain Name,而Server必须要回答此Domain Name的真正IP地址。而当地的DNS先会查自己的资料库。如果自己的资料库没有,则会往该DNS上所设的DNS服务器询问,依此得到答案之后,将收到的答案存起来,并回答客户。DNS服务器会根据不同的授权区(Zone),记录所属该网域下的各名称资料,这个资料包括网域下的次网域名称及主机名称。在每一个名称服务器中都有一个快取缓存区(Cache),这个快取缓存区的主要目的是将该名称服务器所查询出来的名称及相对的IP地址记录快取缓存区中,这样当下一次还有另外一个客户端到此服务器上去查询相同的名称 时,服务器就不用在到别台主机上去寻找,而直接可以从缓存区中找到该笔名称记录资料,传回给客户端,加速客户端对名称查询的速度。例如:

当DNS客户端向指定的DNS服务器查询网际网路上的某一台主机名称 DNS服务器会在该资料库中找寻用户所指定的名称 如果没有,该服务器会先在自己的快取缓存区中查询有无该笔纪录,如果找到该笔名称记录后,会从DNS服务器直接将所对应到的IP地址传回给客户端 ,如果名称服务器在资料记录查不到且快取缓存区中也没有时,会向最接近的名称服务器去要求帮忙找寻该名称的IP地址 ,在另一台服务器上也有相同的动作的查询,当查询到后会回复原本要求查询的服务器,该DNS服务器在接收到另一台DNS服务器查询的结果后,先将所查询到的主机名称及对应IP地址记录到快取缓存区中 ,最后在将所查询到的结果回复给客户端。

任何运作中的域名至少有两台DNS服务器,一台称为主域名服务器(比如叫做ns1),而另一台称为从域名服务器(比如叫做ns2)。这些服务器通常用于故障转移:如果一台宕机,另外一台就激活成为DNS服务器(译注:此处译者有不同意见,事实上两个或更多的DNS服务器是共同工作的,并不是第一台停止服务后,第二台才接替工作。解析器是随机选择一个DNS服务器进行询问,如果超时则会询问下一个,这是多个DNS的故障容错机制)。也可以实现包括负载均衡、防火墙和集群在内的更为复杂的故障转移机制。

一个域的所有DNS条目都会被添加到主域名服务器,从服务器只会根据主服务器上的SOA记录的序列号参数从主服务器同步所有信息。

此教程将会讲述如何创建一台在CentOS上运行的主DNS服务器。请注意,本教程中提到的DNS服务器将会是一台开放DNS服务器,这也就是说该服务器将会回应来自任何IP地址的查询。对于DNS服务器的访问控制将在此教程中讨论。

在开始之前,我想要提一下的是,DNS可以在chroot环境中配置,也可以在非chroot环境中配置。chroot环境将DNS服务器限制在系统中某个特定目录中,以避免让服务器具有系统级的访问权限。在此环境中,任何DNS服务器的安全漏洞不会导致整个系统的破坏。将DNS服务器置于chroot环境中,对于部署测试也很有用。

目标

我们将在基于域名example.tst的测试环境中配置一台DNS服务器,这个域名是虚假的(并不真实存在的)。这样,我们就不会意外干扰到其它真实的域名。

在该域中,有以下三台服务器。

我们将会配置一台主域名服务器,并添加上表中必要的域和DNS记录。

过程设置主机名

所有的主机名必须以完全限定域名的方式正确定义,可以通过以下方法完成设置。复制代码代码如下:# vim /etc/sysconfig/network HOSTNAME=ns1.example.tst 注:该文件中指定的主机名参数在服务器启动后才会启用(译注:或者网络服务重启后),因此,该设置不会马上生效。下面的命令可以立刻临时性地修改主机名。复制代码代码如下:# hostname ns1.example.tst 一旦设置,主机名可以通过以下命令验证。复制代码代码如下:# hostname ns1.example.tst 在进入下一步之前,请确保上述三台服务器上的主机名已经设置正确。

安装软件包

我们将使用bind来配置DNS服务,该软件可以很方便地通过yum来安装。

不使用chroot环境的:复制代码代码如下:# yum install bind bind-chroot 使用chroot环境的:复制代码代码如下:# yum install bind bind-chroot 准备配置文件

正如前面提到的,bind可以在chroot环境下配置,或者在非chroot环境下配置,配置文件的路径会因为是否安装chroot包而不同。

可以使用默认提供的named.conf配置文件,但是为了更方便使用,我们将使用另外一个简单的配置文件模板。

非chroot环境:复制代码代码如下:# cp /usr/share/doc/bind-9.8.2/sample/etc/named.rfc.zones /etc/named.conf chroot环境:复制代码代码如下:# cp /usr/share/doc/bind-9.8.2/sample/etc/named.rfc.zones /var/named/chroot/etc/named.conf 现在来备份并修改配置文件。

非chroot环境:复制代码代码如下:# vim /etc/named.conf chroot环境:复制代码代码如下:# vim /var/named/chroot/etc/named.conf 添加/修改以下行:复制代码代码如下:options { ## 区域文件存放目录 ## directory "/var/named"; ## 对于非本地权威域的请求转发到 Google 的公开 DNS 服务器 ## forwarders { 8.8.8.8; }; }; ## 申明一个本地域 example.tst ## zone "example.tst" IN { type master; file "example-fz"; ## 存储文件名,放在 /var/named ## allow-update { none; }; }; ## 为IP段 ..1.0 提供反向解析 ## zone "1...in-addr.arpa" IN { type master; file "rz---1"; ## 存储文件名,放在 /var/named ## allow-update { none; }; }; 准备区域文件

那些默认的区域文件会自动创建到/var/named 或者/var/named/chroot/var/named (chroot环境)。如果在这些地方找不到这些文件,/usr/share/doc/bind目录中提供了模板文件,可以从这里拷贝。

假设默认区域文件没有提供,我们可以从/usr拷贝模板文件。

非chroot环境:复制代码代码如下:# cp /usr/share/doc/bind-9.8.2/sample/var/named/named.* /var/named/ chroot环境:复制代码代码如下:# cp /usr/share/doc/bind-9.8.2/sample/var/named/named.* /var/named/chroot/var/named 很好!由于现在默认的区域文件已经准备好,我们可以为example.tst和..1.0网络创建区域文件了,以下要点必须时刻谨记。

区域文件中的特殊字符‘@’意味着空。(译注:意即代表本域。)

所有的完全限定域名必须以点‘.’结束。如:example.tst.如果没有这个点,你会发生问题。(译注:即会被当做当前@所代表的域的子域。)

1. 转发区域(本地权威域)

转发区域包含了名称到IP地址的映射。对于公开的域,域名托管提供商的DNS服务器存储了转发区域文件。(译注:转发区域即本地的权威域,由这个服务器自身提供权威的解析数据)

非chroot环境:复制代码代码如下:# vim /var/named/example-fz chroot环境:复制代码代码如下:# vim /var/named/chroot/var/named/example-fz $TTL 1D @ IN SOA ns1.example.tst. sarmed.example.tst. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum IN NS ns1.example.tst. IN A ..1.3 mail IN A ..1.1 IN MX mail.example.tst. www IN A ..1.2 ns1 IN A ..1.3 ftp IN CNAME www.example.tst. 说明:在区域文件中,SOA是开始授权(Start Of Authority)的意思。它的值的第一段是授权名称服务器的完全限定域名。完全限定域名后面跟着的是电子邮件地址。由于不能在sarmed@example.tst这样的格式中使用‘@’符号(译注:@有特定意义,代表本域。),我们将电子邮件地址重写成sarmed.example.tst.这样的格式。

以下是典型的常用DNS记录类型:

NS:域名服务器

A: 地址记录,记录主机名到IP地址的映射(译注,此处原文有误。)

MX: 邮件交换记录。这里我们只用了一个邮件交换记录,设置其优先级为。如果有多个邮件交换记录,我们可以使用多个数值优先级,数字小的优先级最高。例如,MX 0比MX 1优先级更高。

CNAME: 标准名。如果在一台单一服务器上托管了多个服务,也很可能将多个名称解析到某个单一服务器。CNAME指定了一台服务器可能有的其它名称,并且将它们指向具有实际A记录的名称。

2. 反向区域

反向区域包含了IP地址到名称的映射。这里,我们为..1.0网络创建反向区域。在正式的域中,公共IP区块的拥有者拥有的DNS服务器存储反向区域文件。(某些服务,如邮件服务,要求IP地址具备正确的反向解析才能正常工作。而IP的反向解析,通常是由IP的拥有者如接入商或IDC来负责解析。)

非chroot环境:复制代码代码如下: # vim /var/named/rz---1 chroot环境:复制代码代码如下: # vim /var/named/chroot/var/named/rz---1

$TTL 1D

@ IN SOA ns1.example.tst. sarmed.example.tst. (

0 ; serial

1D ; refresh

1H ; retry

1W ; expire

3H ) ; minimum

IN NS ns1.example.tst.

1 IN PTR mail.example.tst.

2 IN PTR www.example.tst.

3 IN PTR ns1.example.tst.说明:除了下面的参数外,反向区域文件中的大多数参数和转发区域文件中的相同。

在Linux系统上安装配置DNS服务器的教程(linux中安装软件可使用哪些方式)

PTR: IP反向解析记录,指向一个反向限定域名。

结束工作

既然区域文件已经准备好,我们接下来调整它们的权限。

非chroot环境:复制代码代码如下: # chgrp named /var/named/* chroot环境:复制代码代码如下:# chgrp named /var/named/chroot/var/named/* 现在,我们为DNS服务器设置IP地址。复制代码代码如下:# vim /etc/resolv.conf nameserver ..1.3

最后,我们可以启动DNS服务,并确保将它添加到启动服务中。复制代码代码如下:# service named restart # chkconfig named on DNS服务器起动后,建议关注一下日志文件/var/log/messages,这里头包含了后台运行的一些有用信息。如果没有发现错误,我们可以开始测试DNS服务器。

测试DNS

我们可以使用dig或者nslookup来测试DNS。首先,我们需要安装必要的软件包。复制代码代码如下:# yum install bind-utils 1. 使用dig测试转发区域

使用dig来测试时,必须时刻关注状态信息:“NOERROR”,任何其它值都表明存在问题。复制代码代码如下:# dig example.tst

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id:

;; QUESTION SECTION:

;example.com. IN A

;; ANSWER SECTION:

example.com. IN A ..1.3

;; AUTHORITY SECTION:

example.com. IN NS ns1.example.com.

;; ADDITIONAL SECTION:

ns1.example.com. IN A ..1.. 使用dig测试PTR记录

使用dig来测试时,必须时刻关注状态信息:“NOERROR”,任何其它值都表明存在问题。(译注,也可用 dig 1.1...in-addr.arpa. ptr 来测试。)复制代码代码如下:# dig -x ..1.1

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id:

;; QUESTION SECTION:

;1.1...in-addr.arpa. IN PTR

;; ANSWER SECTION:

1.1...in-addr.arpa. IN PTR mail.example.tst.

;; AUTHORITY SECTION:

1...in-addr.arpa. IN NS ns1.example.tst.

;; ADDITIONAL SECTION:

ns1.example.tst. IN A ..1.. 使用dig测试MX记录复制代码代码如下:# dig example.tst mx

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id:

;; QUESTION SECTION:

;example.tst. IN MX

;; ANSWER SECTION:

example.tst. IN MX mail.example.tst.排错提示

我已经把SELinux关闭。

保证防火墙没有阻挡UDP 端口

万一出错,可在/var/log/messages中查看到有用的信息

确保区域文件的属主为‘named’

确保DNS服务器的IP地址是/etc/resolv.conf中的第一条目

如果你使用example.tst作为实验环境,确保将服务器从互联网断开,因为example.tst是一个不存在的域。

最后小结,该教程关注的是实验环境中配置example.tst域用作为演示。请注意,该教程中创建了一台公共DNS服务器,此服务器会回应来自任何源IP地址的查询。如果你是在配置DNS生产服务器,请确保检查与公共DNS相关的策略。其它教程涵盖了创建从DNS服务器, 限制对DNS服务器的访问以及部署DNSSEC。

监控软件Nagios的服务器端在Linux系统上的安装和配置方法 Nagios的基本思想就是nagiosserver获取被监控节点(monitoredserver)的相关信息,通过CGI(WebGUI)或者邮件等方式展示给管理员。信息的获取主要分为主动拿,被

Linux系统中uniq命令的基本使用教程 uniq[选项]文件说明:这个命令读取输入文件,并比较相邻的行。在正常情况下,第二个及以后更多个重复行将被删去,行比较是根据所用字符集的排序

Linux系统中tr命令删除和替换文本字符的基本用法 通过使用tr,您可以非常容易地实现sed的许多最基本功能。您可以将tr看作为sed的(极其)简化的变体:它可以用一个字符来替换另一个字符,或者可以

标签: linux中安装软件可使用哪些方式

本文链接地址:https://www.jiuchutong.com/biancheng/353389.html 转载请保留说明!

上一篇:Linux系统下安装Bugzilla来追踪程序开发中的bug(linux系统怎么安装)

下一篇:监控软件Nagios的服务器端在Linux系统上的安装和配置方法(监控iphone软件)

  • 现代服务是可以做什么的
  • 印花税的征税范围
  • 增值税留抵退税是什么意思
  • 民办非企业工会经费
  • 工人工资算生产总值吗
  • 2020小规模纳税人增值税税率
  • 投资子公司亏损如何入账
  • 注册公司服务费是多少
  • 子公司的财报和母公司的财报并表吗
  • 无法收回的应收账款情况说明
  • 打折销售商品会计分录
  • 小微企业银行贷款印花税
  • 自建厂房可以不办理房产证吗
  • 专票当月抵扣后当月作废会被发现吗
  • 损益调整是什么科目
  • 盈余公积可以随便用吗
  • 土地证是商业用地
  • 非征期不能抄报
  • 债券的实际发行价格为什么
  • 失业保险退保怎么返
  • 什么情况增值税专用发票不能抵扣
  • 资产评估入账的评估报告
  • 固定资产平均年限法公式
  • 进项票怎么做
  • 对外投资收益要交税吗
  • 工商年报的纳税总额怎么查询
  • 公司不给钱打那个电话
  • 缴纳社保费现金流量?
  • 增值税中非经营活动包括哪些
  • 良心推荐博主
  • 税盘可以全额抵扣是什么意思
  • 提前支付的费用记账
  • php sql 教程
  • 企业之间可以背书吗
  • php str函数
  • idea如何运行vue项目
  • 深入理解php中的数字
  • 表单验证用什么方法实现
  • php获取用户信息
  • rc远程桌面
  • 赠送的物品有价值吗
  • 进项发票是专票吗
  • 外商投资企业wofe
  • 待摊费用多久摊销一次
  • 会计自制原始凭证有哪些
  • 债务抵销的顺序
  • 新办企业小规模纳税人多久可以申请发票增量
  • 劳务报酬所得项目
  • 盈余公积的提取条件
  • 普票不能抵扣为什么有税率
  • 公司代缴社保生育津贴大概领多少
  • 参加新冠疫情防控工作总结
  • 财政补助收入属于资产类还是负债类
  • 工会经费购买的固定资产处置
  • 收到暂估跨年发票怎么办
  • 报名费无发票要补交吗
  • 进项都抵扣完了怎么做账
  • 公司向个人借款利息可以税前扣除吗
  • 留抵的进项税可以用多少年
  • 怎样计算加班工资?
  • sql server获取字段长度
  • SQLServer XML查询18句话入门教程
  • win7任务栏功能
  • ubuntu安装指南
  • 奇兔刷机可以救砖吗
  • cygwin下载教程
  • w10系统屏幕一直在闪
  • win10怎么安装java?win10系统安装java的方法
  • rhel6提供5种基本的安装方式
  • django rest framework和django区别
  • perl文件操作
  • css总结笔记
  • 安卓病毒查杀软件
  • javascript的prompt
  • 浅析2种JavaScript继承方式
  • 国际货运代理业务范围
  • 国家浙江税务局
  • 授课费800元个税要收吗
  • 财税专家刘杨简历
  • 新车交购置税的流程图
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设