配置dns服务器

Posted natural-baby

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了配置dns服务器相关的知识,希望对你有一定的参考价值。

配置一个简单的dns服务

先下载一个需要用到的软件 bind

`yum -y install bind`

编辑配置文件 named.conf

`vim /etc/named.conf

在配置文件里面修改两个部分,就是图中的 any 位置(之前不是any给修改成any的)

``
  options {
     #DNS默认的监听端口   53  {花括号里面便是该服务器监听来自于谁的解析请求}
     #改为any表示退任意主机的请求进行监听,要注意一定不要丢了分号;
    listen-on port 53 { any; };
    listen-on-v6 port 53 { ::1; };
    directory       "/var/named";
    dump-file       "/var/named/data/cache_dump.db";
    statistics-file "/var/named/data/named_stats.txt";
    memstatistics-file "/var/named/data/named_mem_stats.txt";
    recursing-file  "/var/named/data/named.recursing";
    secroots-file   "/var/named/data/named.secroots";
    #allow- query 叫做允许那些主机向我们的服务器发起解析请求;
    allow-query     { localhost; };
``

开始配置第二个配置文件 在同一目录下的 named.rfc1912.zone

`vim /etc/named.rfc1912.zones`

在配置文件的最下面添加

``
  #正向区域的zone配置,他是通过域名来找对应的IP地址的,在这里我设置了域名为call.com
  zone "call.com" IN {
    type master;   #这是call.com 为主域,这个是必须写的
    file "call.com.zone";  #设置了这个域名对应的数据文件名称
    allow-update { none; };   #指定某个从域服务器是否允许更新改区域的解析记录
    allow-transfer { 192.168.2.19; } #指定某个从域服务器是否允许下载该区域的解析记录
  };

  #反方向区域的zone配置,是通过ip地址来找对应的域名,这里我们将IP地址写为我们当前这台计算机的ip网段
  zone "2.168.192.in-addr.arpa" IN {
    type master;  #设置为主域
    file "192.168.2.arpa";  #设置这个ip地址对应的数据文件名称
  };
``

上面指点了两个数据文件,现在对这两个数据文件进行创建编辑
这两个数据文件是在 /var/named/ 目录当中的

`cd /var/named`

这个目录里面有个named.localhost文件 , 将它复制并改名

`cp -p named.localhost 192.168.2.arpa`
`cp -p named.localhost call.com.zone`

先编辑call.com.zone

`vim call.com.zone`

进入文件后修改

``
  $TTL 1D
  @       IN SOA  call.com. root.call.com (
                                          202006211       ; serial
                                          1D      ; refresh
                                          1H      ; retry
                                          1W      ; expire
                                          3H )    ; minimum
          NS      @
          A       127.0.0.1
          AAAA    ::1
  www     A       192.168.2.16
  ace     CNAME   www
`` 

$TTL 1D      #设置了有效地址的缓存记录时间为1天 , 1D=1 day
@            #表示本机
SOA          #start authority  开始授权信息
call.com.    #是dns要解析的域名
call.com. root.call.com     #这个是dns的管理员邮箱地址
202006211; serial    #序列号,9位数字组成的
1D      ; refresh      #刷新时间
1H      ; retry        #重试时间
1W      ; expire       #失效时间
3H )    ; minimum      #无效地址 记录的缓存时间
NS      #name server
@       #本机
A      127.0.0.1      #A表示address,只在正向解析区域的数据文件当中使用,设置了域名的A记录,一个大写的A表示了ipv4的地址
AAAA    ::1      #四个大写的A表示的是ipv6的地址
www     A       192.168.2.16      #我们域名www.call.com对应的的ip地址为192.168.2.16
ace     CNAME   www      #CNAME 叫做 canonical name别名记录,可以用它来设置另一个不同的名称,比如ace.call.com

编辑好后保存退出 在去编辑 192.168.2.arpa

`vim 192.168.2.arpa`

修改文件内容

``
  $TTL 1D
  @       IN SOA  call.com. root.call.com (
                                          202006211       ; serial
                                          1D      ; refresh
                                          1H      ; retry
                                          1W      ; expire
                                          3H )    ; minimum
          NS      @
          A       127.0.0.1
          AAAA    ::1
  16      PTR      www.call.com
``
202006211       ; serial   #这个序列号要和上一个配置文件里面的相同
16      PTR      www.call.com   #16代表的是IP地址最后面的数字,PTR 指针记录设置(可以理解为192.168.2.16 这个IP地址对应的域名信息为www.call.com)

现在我们一共编辑了4个文件现在去检测一下是否有语法错误

  `named-checkconf /etc/named.conf`
  `named-checkconf /etc/named.rfc1912.zones`

这个如果有问题它会报错 , 没有问题就什么都不反馈

  `named-checkzone call.com /var/named/call.com.zone`
  `named-checkzone call.com /var/named/192.168.2.arpa`

同样有问题它会报错 , 没有问题就什么都不反馈, 如果没有什么问题可以重启服务了

  `systemctl restart named`

如果要其他机器也可以使用dns解析的话需要 编辑配置文件 /etc/resolv.conf 在里面添加(注意其他机器也需要天添加这个的)

  ` nameserver 192.168.2.16`

还需要防火墙放行dns

  `firewall-cmd --add-service=dns`

测试正向

  `nslookup call.com`

测试反向

  `nslookup 192.168.2.16`

出现内容反馈域名信息表示成功!


以上是关于配置dns服务器的主要内容,如果未能解决你的问题,请参考以下文章

从浏览器输入一个地址到渲染出网页这个过程发生了什么???

linux配置dns服务器配置命令

DNS服务器的配置步骤是啥

linux (二十五)编写自动化脚本安装DNS单机服务主从服务和卸载服务,以及网卡配置

VSCode自定义代码片段11——vue路由的配置

VSCode自定义代码片段11——vue路由的配置