s18.实战案例:实现DNS正向主服务器

88 阅读2分钟

本文已参与「新人创作礼」活动, 一起开启掘金创作之路。

1.实战案例:实现DNS正向主服务器

1.1 实验目的

搭建DNS正向主服务器,实现web服务器基于FQDN的访问

1.2 环境要求

需要三台主机
DNS服务端:172.31.1.8
web服务器:172.31.0.7
DNS客户端:172.31.0.17

1.3 前提准备

关闭SElinux
关闭防火墙
时间同步

1.4 实现步骤

1.4.1 在DNS服务端安装bind

[root@rocky8 ~]# dnf -y install bind

1.4.2 修改bind 配置文件

[root@rocky8 ~]# vim /etc/named.conf
#注释掉下面两行
//  listen-on port 53 { 127.0.0.1; };
//  allow-query     { localhost; };[root@rocky8 ~]# vim /etc/named.rfc1912.zones
#加上下面内容
zone "raymonds.cc" IN {
    type master;
    file "raymonds.cc.zone";                               
};

1.4.3 DNS区域数据库文件

[root@rocky8 ~]# cp -p /var/named/named.localhost /var/named/raymonds.cc.zone
#如果没有加-p选项,需要修改所有者或权限。chgrp named raymonds.cc.zone[root@rocky8 ~]# vim /var/named/raymonds.cc.zone 
$TTL 1D
@   IN SOA  master admin.raymonds.cc. (
                    20211203    ; serial
                    1D  ; refresh
                    1H  ; retry
                    1W  ; expire
                    3H )    ; minimum
        NS  master
master  A   172.31.1.8
www     A   172.31.0.7

1.4.4 检查配置文件和数据库文件格式,并启动服务

[root@rocky8 ~]# named-checkconf
[root@rocky8 ~]# named-checkzone raymonds.cc /var/named/raymonds.cc.zone
-bash: named-checkzone: command not found
#centos 8 系统没有named-checkzone工具
​
[root@rocky8 ~]# systemctl enable --now named  #第一次启动服务
Created symlink /etc/systemd/system/multi-user.target.wants/named.service → /usr/lib/systemd/system/named.service.
​
rndc reload #不是第一次启动服务

1.4.5 实现WEB服务

#安装http服务
[root@centos7 ~]# yum -y install httpd
#配置主页面
[root@centos7 ~]# echo www.raymonds.cc > /var/www/html/index.html#启动服务
[root@centos7 ~]# systemctl enable --now httpd

1.4.6 在客户端实现测试

[root@centos7-2 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
DNS1=172.31.1.8#centos7 以上版执行现下面命令生效
[root@centos7-2 ~]# nmcli con reload
[root@centos7-2 ~]# nmcli con  up eth0
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/2)
​
#centos 6 执行下面命令生效
service network restart
#有以下记录,算是成功
[root@centos7-2 ~]# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 172.31.1.8
​
#测试网页,能显示就是成功
[root@centos7-2 ~]# curl www.raymonds.cc
www.raymonds.cc
​
[root@centos7-2 ~]# dig www.raymonds.cc
-bash: dig: command not found
[root@centos7-2 ~]# yum -y install bind-utils
[root@centos7-2 ~]# dig www.raymonds.cc; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.8 <<>> www.raymonds.cc
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 3109
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
;; QUESTION SECTION:
;www.raymonds.cc.       IN  A;; ANSWER SECTION:
www.raymonds.cc.    86400   IN  A   172.31.0.7
​
;; AUTHORITY SECTION:
raymonds.cc.        86400   IN  NS  master.raymonds.cc.
​
;; ADDITIONAL SECTION:
master.raymonds.cc. 86400   IN  A   172.31.1.8
​
;; Query time: 0 msec
;; SERVER: 172.31.1.8#53(172.31.1.8)
;; WHEN: Fri Dec 03 21:20:07 CST 2021
;; MSG SIZE  rcvd: 97