DNS服务器搭建与正反解析配置

DNS服务介绍

DNS(Domain Name System–域名系统),是因特网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。是一个应用层的协议DNS使用TCP和UDP端口53。

DNS是一个分布式数据库,命名系统采用层次的逻辑结构,如同一颗倒置的树,这个逻辑的树形结构称为域名空间,由于DNS划分了域名空间,所以各机构可以使用自己的域名空间创建DNS信息.

注:DNS域名空间中,树的最大深度不得超过127层,树中每个节点最长可以存储63个字符.

Linux centos7.9 下DNS服务器安装

安装bind服务和启动步骤:

[root@localhost ~]# yum install -y bind*
#安装bind组件
[root@localhost ~]# systemctl start named
#启动dns服务
[root@localhost ~]# systemctl enable named
#设置dns服务开机启动

防火墙配置和selinux关闭

sed -i 's/SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config
setenforce 0
firewall-cmd --zone=public --add-port=53/tcp --permanent
firewall-cmd --zone=public --add-port=953/tcp --permanent
firewall-cmd --zone=public --add-port=53/udp --permanent
firewall-cmd --zone=public --add-port=953/udp --permanent
firewall-cmd --reload

DNS配置的主要文件组:

/etc/hosts  主机的一个文件列表(强制解析)   添加记录如:111.13.100.92 www.baidu.com
对于简单的主机名解析(点分表示法),默认在请求DNS或NIS网络域名服务器前,/etc/named.conf 通常会告诉程序先查看此文件。

/etc/resolv.conf  DNS配置文件,在配置程序请求BIND域名查询服务查询主机名时,必须告诉程序使用哪个域名服务器和IP地址来完成这个任务

/etc/named.conf  BIND主文件,设置一般的name参数,指向该服务器使用的域数据库的信息源

/var/named/named.ca  根域名配置服务器指向文件,指向根域名配置服务器,用于告诉缓存服务器初始化

/var/named/localhost.zone  localhost区正向域名解析文件,用于将本地IP地址(127.0.0.1)转换为本地回送IP地址(127.0.0.1)

/var/named/name.local  localhost区反向域名解析文件,用于将localhost名字转换为本地回送IP地址(127.0.0.1)

/etc/named.rfc1912.zones  区块设置文件

DNS服务器配置实验,配置DNS正向解析:

第一步:修改主配置文件/etc/named.conf。将监听地址和运行查询的地址都改为 any,分别表示服务器上的所有IP地址均可提供DNS域名解析服务,以及允许所有人对本服务器发送DNS查询请求。

DNS服务器搭建与正反解析配置

第二步:修改区域配置文件(/etc/named.rfc1912.zones)。用来保存域名和IP地址对应关系的所在位置。在这个文件中,定义了域名与IP地址解析规则保存的文件位置以及服务类型等内容,而没有包含具体的域名、IP地址对应关系等信息。服务类型有三种,分别为hint(根区域)、master(主区域)、slave(辅助区域),其中常用的master和slave指的就是主服务器和从服务器。

zone "example.com" IN {
        type master;
        file "example.com.zone";
        allow-update { none; };
};

DNS默认端口是53的TCP和UPD,UDP是供用户查询的,主从复制用TCP和UDP的53端口都用。

BIND的ACL:bind有四个内置的acl:

   none: 没有一个主机

   any: 任意主机

   localhost: 本机

   localnet: 本机的IP同掩码运算后得到的网络地址段

   注意:只能先定义,后使用;因此一般定义在配置文件中, 处于options的前面,当然也可自定义如下

   acl lan{

​   192.168.25.0/24

   } ;

访问控制:

  访问控制的指令: allow-query {}: 允许查询的主机;白名单

           allow-transfer {}:允许区域传送的主机;(白名单,一般用于主从)

           allow-recursion {}: 允许递归的主机,建议全局使用

           allow-update {}: 允许更新区域数据库中的内容

第三步:编辑数据配置文件。从/var/named目录中复制一份正向解析的模板文件(named.localhost),然后把域名和IP地址的对应数据填写数据配置文件中并保存。在复制时记得加上-a参数,这可以保留原始文件的所有者、所属组、权限属性等信息,以便让bind服务程序顺利读取文件内容:

[root@localhost named]# cp -a named.localhost example.com
[root@localhost named]# vim example.com.zone 
$TTL 1D
@       IN SOA  @ example.com.   (
	 #授权信息开始:   #DNS区域的地址,在域地址后面还可以加管理员邮箱,不能加@,用.代替。
              20181001        ; serial  #更新序列号
                      1D      ; refresh #更新时间
                      1H      ; retry   #重试时间
                      1W      ; expire   #失效时间
                      3H )    ; minimum  #无效解析记录的缓存时间
        NS      ns.example.com.  #DNS区域的地址
ns      A       192.168.245.128  #地址记录
www     A       192.168.245.128  #www站点记录
mail    A       192.168.245.129  #地址记录
        MX 10   mail.example.com. #邮箱交换记录
example.com.    A 192.168.245.200
# 即使不写主机名,DNS也能解析到另外一个指定的地址
$GENERATE 1-245 server$ A 1.1.1.$
#如果服务器过多,对应主机名也很多,则可以这样写.例如:
#server1.example.com对应地址为:1.1.1.1
#server100.exmaple.com对应地址为:1.1.1.50
bbs     CNAME   www           #别名记录
*       A       192.168.245.128
#“*”代表所有,即便主机www写错,DNS也能正确解析出来。这就是泛域名解析
DNS服务器搭建与正反解析配置

第四步:检查配置,重启服务和测试

[root@localhost ~]# named-checkconf   #检查主配置文件语法
[root@localhost ~]# named-checkzone eample.com /var/named/example.com.zone 
#检查区域配置文件语法
/var/named/example.com.zone:13: ignoring out-of-zone data (example.com)
zone eample.com/IN: loaded serial 20181001
[root@localhost ~]# vi /etc/resolv.conf
#进入该配置文件,指定使用的域名解析服务器。
	# Generated by NetworkManager
	nameserver 192.168.245.128
	search 192.168.245.128
[root@localhost ~]# systemctl restart named  #重启服务

测试:

DNS服务器搭建与正反解析配置

配置DNS反向解析:

在DNS域名解析服务中,反向解析的作用是将用户提交的IP地址解析为对应的域名信息,它一般用于对某个IP地址上绑定的所有域名进行整体屏蔽,屏蔽由某些域名发送的垃圾邮件。它也可以针对某个IP地址进行反向解析,大致判断出有多少个网站运行在上面。当购买虚拟主机时,可以使用这一功能验证虚拟主机提供商是否有严重的超售问题。

第一步:配置区域文件。

反向解析是把IP地址解析成域名格式,因此在定义zone(区域)时应该要把IP地址反写,比如原来是192.168.10.0,反写后应该就是10.168.192,而且只需写出IP地址的网络位即可。

[root@localhost ~]# vim /etc/named.rfc1912.zones
#在中添加反向数据文件的记录
zone "245.168.192.in-addr.arpa" IN {
        type master;
        file "245.168.192.arpa";
};

第二步:编辑数据配置文件。

[root@localhost ~]# cp -a /var/named/named.loopback /var/named/245.168.192.arpa 
[root@localhost ~]# vi /var/named/245.168.192.arpa
#编辑反正配置文件即可,和正向解析格式类似
#PTR为指针记录,仅用于反向解析中。
DNS服务器搭建与正反解析配置

第三步:检查配置文件,重启服务,测试。

[root@localhost ~]# named-checkconf 
[root@localhost ~]# named-checkzone 245.168.192 /var/named/245.168.192.arpa 
zone 245.168.192/IN: loaded serial 20181001
OK
[root@localhost ~]# systemctl restart named
DNS服务器搭建与正反解析配置

文章来源:https://www.cnaaa.net,转载请注明出处:https://www.cnaaa.net/archives/11720

(0)
凯影的头像凯影
上一篇 2024年5月15日 下午1:28
下一篇 2024年5月16日 下午3:21

相关推荐

  • 通过远程桌面连接Windows实例提示“远程桌面用户组没有该权限”错误怎么办?

    本文介绍通过远程桌面连接Windows实例提示“远程桌面用户组没有该权限”错误的解决方案。 问题描述 本地客户端通过远程桌面连接Windows实例时提示“远程桌面用户组没有该权限”错误 解决方案 根据实际情况,选择对应方案进行解决。本文以Windows Server 2012操作系统为例。 方案一:修改本地安全策略。 右键单击开始,然后单击运行。在运行对话框…

    2023年3月2日
    1.4K00
  • Linux忘记文件具体位置,怎么快速找到

    要查找目录或者文件,可以使用ls、find和locate命令;要查找指定的源文件、二进制文件和manual文件等,可以使用whereis命令;要查询命令或者别名的位置,可以使用which命令。 ls命令 ls(list)命令是Linux和Unix系统中一个非常基本和常用的命令,用于列出指定目录中的文件和子目录。ls命令的主要功能是显示目录内容,包括文件名、权…

    2023年12月8日
    89000
  • Windows挂载虚拟磁盘VHD/VHDX文件

    挂载VHD/VHDX 打开磁盘工具 WIN+R弹出运行窗口,输入:diskmgmt.msc命令,回车确认弹出磁盘管理工具 附加VHD/VHDX文件 可以看到已经添加到系统中,接下来就可以进行初始化操作 在系统中操作 打开我的电脑,可以发现多了一块磁盘 这个就是我们附加的vhdx文件。此时,已经可以对改vhdx文件进行操作了 分离vhdx

    2022年7月14日
    2.1K00
  • linux 文件挂载配置错误解决办法

    linux中挂载命令经常能够用到,特别是配置开机自动挂载的时候,一不留神就配置错误了,这样造成的后果就是重启过后就会发现系统起不来了!!! 首先进行模拟测试 格式化磁盘 mkfs.ext4 /dev/sdb1 挂载磁盘 mount /dev/sdb1 /mnt 修改配置文件并进行破环 vi /etc/fstab 重启验证后发现不能远程登录,系统进入救援模式!…

    2023年9月27日
    1.2K00
  • nmcli命令详解

    以下是nmcli命令的一些常用选项和用法: 1)修改网卡名称 2)添加网卡 3)启动或停止网卡 4)设置网卡获取IP模式 使用 nmcli 来设置网卡为静态IP ,可以使用以下命令: 使用nmcli命令将网卡eth0模式设置为dhcp

    2023年10月10日
    1.5K00

发表回复

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

在线咨询: QQ交谈

邮件:712342017@qq.com

工作时间:周一至周五,8:30-17:30,节假日休息

关注微信