Linux下配置DNS服务

Linux下配置DNS服务一 DNS 服务简介 DNS 服务器 也称为域名解析服务器 是用来将互联网上的域名解析为 IP 地址的一类服务器 在世界上有成百上千台 DNS 服务器 对于有些公司来说 对于同一个域名可能有多个 DNS 服务器 这样可以降低主域名服务器的负载 例如 baidu com 可能会存在多个 DNS 服务器 因为在同一时刻可能有成百上千台主机同时请求 baidu com 这个域名 如果只有一台 DNS

一、DNS服务简介

       DNS服务器,也称为域名解析服务器,是用来将互联网上的域名解析为IP地址的一类服务器,在世界上有成百上千台DNS服务器。对于有些公司来说,对于同一个域名可能有多个DNS服务器,这样可以降低主域名服务器的负载。例如www.baidu.com,可能会存在多个DNS服务器,因为在同一时刻可能有成百上千台主机同时请求www.baidu.com这个域名,如果只有一台DNS服务器,可能在某一时刻会拒绝服务。因此会建多个DNS服务器,分布于世界各地,这样也可以避免由于自然灾害而对域名服务器造成损坏。

二、实验环境

  本次实验需要三台Linux主机,一台作为主DNS服务器,一台作为从属DNS服务器,还要一台作为DNS客户端。并且三个Linux主机必须处于同一网段,可以互相ping通。主DNS服务器的IP地址为192.168.100.1,从属DNS服务器的IP地址为192.168.100.2,客户机的DNS服务器的IP地址为192.168.100.3。三个必须都是静态的。

三、实验步骤

1.配置IP地址

(1):修改ifcfg-eth1文件

Linux下配置DNS服务

 修改内容如下

Linux下配置DNS服务

       按照如上方法,将主DNS服务器的IP地址设为192.168.100.1,从属DNS服务器的IP地址设为192.168.100.2,客户机的DNS服务器的IP地址设为192.168.100.3

(2)分别重启三个主机的网络服务

Linux下配置DNS服务

(3)测试三台主机的连通性

三台主机互相ping另外两台主机,一定要ping通,否则做下去没有意义。

Linux下配置DNS服务

2.配置主域名服务器

(1):安装bind包(可以使用rpm安装bind包,不过要解决依赖问题,因此可以使用yum安装,不用去管依赖问题。yum本地源的配置请看本文后面的附录)

Linux下配置DNS服务

如下显示则安装成功

Linux下配置DNS服务

(2):修改主配置文件

Linux下配置DNS服务

             修改后的内容如下(将options中没有用的删除,再添加两个zone)

Linux下配置DNS服务

注:options中53为默认端口号(不要修改),192.168.100.1指明主域名的IP地址,allow-query {  0.0.0.0/0;  }表面允许所有用户查询。zone “topsec.com”指明了正向区域配置名, zone “100.168.192.in-addr.arpa”指明了反向区域配置名,type  master表面这是主域名服务器。注意,在后面所有的配置文件中,类似于{ 0.0.0.0/0 }这种类型的写法,大括号两边一定要各有一个空格,否则会报错。

注意:从理论上来说,在一台DNS服务器上可以解析多个不同的域名,只需要将其正向和反向的区域配置写在上面文件中,然后再配置相应的文件就可以了,但是,一般企业并不会这样做,因为这样会增加DNS服务器的负载,容易造成服务器崩溃。

(3):检测修改后的主配置文件是否正确

Linux下配置DNS服务

 没有报错,说明修改后的配置文件并没有错误。

(4):新建一个正向区域配置文件topsec.com.zone(注意改配置文件的名字与上面第二步指定的正向配置文件要一致) 

Linux下配置DNS服务

文件内容如下

Linux下配置DNS服务

$TTL——生存时间(86400秒=1天)   SOA表明授权信息开始记录

(5):检测修改后的正向区域配置文件是否正确

Linux下配置DNS服务

OK表明正向区域配置文件没有错误

(6):新建反向区域配置文件100.168.192.in-addr-arpa,为了方便,可以将正向区域配置文件拷贝然后进行修改

Linux下配置DNS服务

文件内容如下

Linux下配置DNS服务

(7):检测修改后的反向配置文件是否正确

Linux下配置DNS服务

Ok表明文件并没有错误

(8)重启DNS服务,使刚才的配置文件生效

Linux下配置DNS服务

(9)修改eth1配置文件(修改DNS1和DNS2的值)

Linux下配置DNS服务

修改后的文件内容如下

Linux下配置DNS服务

DNS1的IP地址为主域名服务器的IP地址(192.168.100.1)                        DNS2的IP地址为从属域名服务器的IP地址(192.168.100.2)

(10):重启网络服务,使刚才的修改生效

Linux下配置DNS服务

(11):查看DNS的IP地址

Linux下配置DNS服务

可以看到此时的DNS服务器分别为192.168.100.1和192.168.100.2,说明刚才的配置已经生效。

  做到这一步,先不要着急着往下做,先在客户机上查看DNS解析是否正确,如果正确,再配置从属DNS服务器,如果不成功,则检查之前的错误

3.配置DNS客户端

(1):修改eth1配置文件(修改DNS1和DNS2的值)

Linux下配置DNS服务

DNS1的IP地址为主域名服务器的IP地址(192.168.100.1)                        DNS2的IP地址为从属域名服务器的IP地址(192.168.100.2)

(2):重启网络服务,使刚才的修改生效

Linux下配置DNS服务

 (3):查看DNS的IP地址

Linux下配置DNS服务

(4):在客户机上查看主DNS服务器的解析是否正确

Linux下配置DNS服务

上图表明DNS服务器的解析是正确的

接下来就可以进行从属DNS服务器的配置了

4.配置从属DNS服务器

(1):安装bind

Linux下配置DNS服务

(2)修改配置文件

Linux下配置DNS服务

下面三张图片和上图一样,只是为了说明一些内容而已

Linux下配置DNS服务

上图是全局配置部分,53为默认端口,192.168.100.2为从属DNS域名服务器,allow-query{ 0.0.0.0/0}表明允许所有的IP查询

Linux下配置DNS服务

上图是正向区域配置部分,topsec.com为域名后缀,type slave表明这是从属服务器,file指定文件存储目录,masters { 192.168.100.1 }指明了主DNS服务器的IP地址。

Linux下配置DNS服务

上图是反向区域配置部分,其含义与正向区域配置部分含义相同。

(3):检测配置文件是否正确

Linux下配置DNS服务

没有输出结果,说明配置文件没有错误

(4):查看主域名服务器同步传送过来的文件(经过实践证明不需要在住域名服务器中修改配置文件,可以自动同步传送)

Linux下配置DNS服务

此时,没有任何文件

(5):重启DNS服务

Linux下配置DNS服务

(6)再次查看主域名服务器传送过来的数据

Linux下配置DNS服务

此时,已经有文件传送过来了,分别是正向区域解析的文件和反向区域解析的文件

5.验证

由于之前测试主域名服务器解析时已经配好了客户端,现在可以直接测试。

(1):正向解析(若不指定DNS域名服务器,则默认向主域名服务器发起解析)

Linux下配置DNS服务

可以看见,第二行的Server默认使用的是主域名服务器

(2):正向解析(指定DNS域名服务器)

Linux下配置DNS服务

可以看见这次解析使用的是从属DNS域名服务器

(3):反向解析

Linux下配置DNS服务

通过IP地址解析出来域名,说明反向解析也配置成功了。

至此,DNS域名服务器的配置就成功了!

 附录:yum本地源的配置

(1):修改yum的配置文件

Linux下配置DNS服务

修改的内容如下

Linux下配置DNS服务

由于配置的是本地yum源,因此第三行为file:///mnt,同时修改enabled=1表明启用yum。

(2):挂载光盘

Linux下配置DNS服务

(3):这样yum就配置好了,就可以使用yum install -y 软件包名  来下载安装软件包了。

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/207949.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 下午12:43
下一篇 2026年3月19日 下午12:43


相关推荐

  • java常用的英语单词_有趣的英文单词

    java常用的英语单词_有趣的英文单词资源共享学习交流群号:769674658(快满)qq交流二群(296389054)(一)Java基础 public公有的 private私有的 protected保护的 …

    2022年8月10日
    7
  • SSH Config 允许使用root密码登陆 PermitRootLogin[通俗易懂]

    SSH Config 允许使用root密码登陆 PermitRootLogin[通俗易懂]问题:我用ssh连接服务器的时候,如果不设置密钥登陆,就会登陆失败,没有办法通过密码登陆解决:首先设置允许通过密码登陆,设置PasswordAuthentication为yes设置在/etc/ssh/sshd_config中设置PermitRootLogin为yes重启sshservicesudoservicesshrestart…

    2022年6月6日
    36
  • 主流图像边缘检测算法有哪些_图像识别最好的算法

    主流图像边缘检测算法有哪些_图像识别最好的算法本文内容包括:图像噪声添加与去除、几种滤波算法【高斯滤波,方框滤波,均值滤波,中值滤波,双边滤波,小波变换】、几种检测算法【Canny算子、Sobel算子、Laplace算子、Roberts算子、SusanKrischPrewitt角点检测算法】、MFC图形界面实现等。

    2025年8月7日
    6
  • pycharmpip安装_更改pip源地址

    pycharmpip安装_更改pip源地址Pycharm更换下载源更换原因在使用Pycharm的时候不免要下载许多的第三方库,特别是移植过来的项目更是一个文件的依赖包需要下载而Pycharm默认的官方源下载比较慢,我们可以通过配置来更换国内下载源靠谱的pip镜像源源清华源:https://pypi.tuna.tsinghua.edu.cn/simple豆瓣源:http://pypi.douban.com/simple/阿里源:http://mirrors.aliyun.com/pypi/simple/

    2022年8月25日
    14
  • 什么是异或_异或运算及异或运算的作用

    什么是异或_异或运算及异或运算的作用什么是异或 异或运算及异或运算的作用异或 是一个数学运算符 英文为 exclusiveOR 缩写为 xor 应用于逻辑运算 异或的数学符号为 计算机符号为 xor 其运算法则为 a b a b a b 如果 a b 两个值不相同 则异或结果为 1 如果 a b 两个值相同 异或结果为 0 异或也叫半加运算 其运算法则相当于不带进位的二进制加法 二进制下

    2026年3月20日
    2
  • UML图绘制—–时序图的画法

    UML图绘制—–时序图的画法UML图绘制—–时序图的画法1.什么是时序图时序图用于描述对象之间的传递消息的时间顺序,即用例中的行为顺序主要用来更直观的表现各个对象交互的时间顺序,将体现的重点放在以时间为参照,各个对象发送、接收消息,处理消息,返回消息的时间流程顺序,也称为时序图。又名序列图、循序图、顺序图,是一种UML交互图2.时序图的作用:确认和丰富一个使用情境的逻辑。3.时序图…

    2022年6月15日
    46

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号