CentOS7RHEL7搭建DNS服务器

    技术2023-05-17  82

    CentOS7/RHEL7搭建DNS服务器 DNS(域名系统)主要用于域名与IP地址的相互转换,将IP地址转换成对应的主机名或将主机名转换成与之相对应IP地址的一种机制。通过域名解析出IP地址的叫做正向解析,通过IP地址解析出域名的叫做反向解析。

    1.安装DNS 配置网络或者本地YUM源进行安装

    yum install -y bind bind-utils bind-chroot 1 2.修改配置 修改DNS主配置文件named.conf

    vim /etc/named.conf

    找到下面两行

    listen-on port 53 { 127.0.0.1; }; allow-query { localhost; };

    改成如下

    listen-on port 53 { any;}; allow-query { any;};

    加载解析文件

    include “/etc/named.rfc1912.zones”; include “/etc/named.root.key”; 1 2 3 4 5 6 7 8 9 10 3.配置解析 添加服务程序的区域配置文件

    vim /etc/named.rfc1912.zones

    正向解析

    zone “shan.com” IN { type master; file “shan.com.zone”; # allow-update { none; }; };

    反向解析

    zone “3.168.192.in-addr.arpa” IN { type master; file “shan.com.arpa”; # allow-update { none; }; }; 1 2 3 4 5 6 7 8 9 10 11 12 13 配置正向及反向解析域

    复制name.localhost文件,编辑正向和反向解析文件

    cd /var/named/ cp named.localhost shan.com.zone cp named.loopback shan.com.arpa 1 2 3 4 添加正向解析域

    vim shan.com.zone

    修改正向解析域

    $TTL 1D @ IN SOA @ rname.invalid. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum IN NS shan.com. @ IN A 192.168.3.177 dns IN A 192.168.3.177 www IN A 192.168.3.177

    0 ;更新序列号,用于标示数据库的变换,可以在10位以内

    1D ;刷新时间,从域名服务器更新该地址数据库文件的间隔时间,默认为1天

    1H ;重试延时,从域名服务器更新地址数据库失败以后,等待多长时间,默认为为1小时

    1W ; 失效时间,超过该时间仍无法更新地址数据库,则不再尝试,默认为一周

    3H ;设置无效地址解析记录(该数据库中不存在的地址)默认缓存时间。设置无效记录,最少缓存时间为3小时

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 检查区域文件是否正确

    named-checkzone “shan.com” /var/named/shan.com.zone

    检查结果如下:

    zone shan.com/IN: loaded serial 0 OK 1 2 3 4 添加反向解析域

    vim shan.com.arpa

    修改反向解析域

    $TTL 1D @ IN SOA @ rname.invalid. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum IN NS shan.com. 177 IN PTR @ 177 IN PTR dns.shan.com. 1 2 3 4 5 6 7 8 9 10 11 12 检查区域文件是否正确

    named-checkzone “3.168.192.in-addr.arpa” /var/named/shan.com.arpa

    检查结果如下:

    zone 3.168.192.in-addr.arpa/IN: loaded serial 0 OK 1 2 3 4 直接将/var/named/目录下的所有文件都给named用户,让其能够修改。避免权限问题报错

    chown named:named /var/named/* 1 4.修改本机DNS vim /etc/resolv.conf

    将原来的DNS修改成现在配置的DNS

    nameserver 192.168.3.177

    修改network中的dns

    vim /etc/sysconfig/network-scripts/ifcfg-eno16777736

    自己配的dns服务器的IP地址

    DNS1=192.168.3.177

    重启network和dns服务

    systemctl restart network systemctl restart named 1 2 3 4 5 6 7 8 9 10 5.测试解析 需要关闭防火墙或者开放TCP和UDP的53端口 防火墙参考文档: https://blog.csdn.net/SERE0211/article/details/106999838

    需开放53端口和dns服务

    firewall-cmd --zone=public --add-port=53/tcp --permanent firewall-cmd --zone=public --add-port=53/udp --permanent firewall-cmd --zone=public --add-service=dns --permanent firewall-cmd --reload systemctl restart firewalld 1 2 3 4 5 6 测试正向解析和反向解析

    nslookup

    正向解析:

    www.shan.com Server: 192.168.3.177 Address: 192.168.3.177#53

    Name: www.shan.com Address: 192.168.3.177

    反向解析:

    192.168.3.177 177.3.168.192.in-addr.arpa name = dns.shan.com. 177.3.168.192.in-addr.arpa name = 3.168.192.in-addr.arpa. 1 2 3 4 5 6 7 8 9 10 11 12 6.常用命令

    重启DNS

    systemctl restart named

    启动DNS

    systemctl start named

    查看DNS状态

    systemctl status named

    DNS解析测试

    nslookup www.shan.com

    Processed: 0.009, SQL: 9