实验一:DNS正向解析
1.1下载bind 软件
[root@localhost ~]# dnf install bind -y
[root@localhost ~]# mount /dev/sr0 /mnt
[root@localhost ~]# dnf install bind -y
下载软件前需要先挂载
1.2 修改配置文件
[root@localhost ~]# vim /etc/named.conf
只保留下图的内容,其他的删掉。ESC普通模式按d键,按两次可以实现一行一行的删除。u 撤销上一步命令。
1.3 重启服务
[root@localhost named]# systemctl restart named
[root@localhost named]# systemctl status named
1.4在/var/named目录下写区域文件
[root@localhost named]# pwd
/var/named
[root@localhost named]# vim named.haha
$TTL 1D
@ IN SOA @ admin#haha.com. (
0
1D
1D
1D
1D )
IN NS ns.haha.com.
IN MX 10 mail.haha.com.
ns IN A 192.168.24.129
mail IN A 192.168.24.129
web IN A 192.168.24.129
ftp IN CNAME web
ftp IN CNAME web CNAME别名,主机名到主机名,当前主机名到别的主机名。当请求ftp.haha.com的时候会帮转发为web.haha.com
1.5重启服务
[root@localhost named]# systemctl restart named
1.6测试
[root@localhost named]# dig -t A ftp.haha.com @192.168.24.129
查找的类型是A记录,从192.168.24.129这个服务器上查ftp.haha.com 对应的IP地址
由ns.haha.com.提供权威答案
[root@localhost named]# dig -t CNAME ftp.haha.com @192.168.24.129 查看CNAME记录的
[root@localhost named]# dig -t MX haha.com @192.168.24.129
查看mail 记录的
[root@localhost named]# dig -t NS haha.com @192.168.24.129
查看NS 记录的
实验二:DNS反向解析
2.1修改配置文件
[root@localhost named]# vim /etc/named.conf
zone "24.168.192.in-addr.arpa" IN {
type master;
file "named.fangxiang";
};
2.2在/var/named目录下写区域文件
[root@localhost named]# cd /var/named
[root@localhost named]# cp named.haha named.fangxiang (cp 复制)
[root@localhost named]# vim named.fangxiang
将就实验一的文件内容进行修改
$TTL 1D
@ IN SOA @ admin#haha.com. (
0
1D
1D
1D
1D )
IN NS ns.haha.com.
129 IN PTR ns.haha.com.
129 IN PTR mail.haha.com.
129 IN PTR web.haha.com.
129 IN PTR ftp.haha.com.
PTR 反向解析
2.3 重启服务
[root@localhost named]# systemctl restart named
2.4测试
[root@localhost named]# dig -x 192.168.24.129 @192.168.24.129
查看192.168.24.129这个IP所对应的主机名有哪些,由192.168.24.129做解析
2.5补充:
nslookup查询
为linux配置DNS服务器
[root@localhost named]# nmcli connection modify ens160 ipv4.dns 192.168.24.129
[root@localhost named]# nmcli connection up ens160
[root@localhost named]# nmcli device show | grep DNS 过滤
去图形界面改为只有一个DNS
dig 命令查询就不用加@192.168.24.129
实验三:转发服务器实验
3.1开启三个虚拟机,模拟身份
3.2对真正的dns服务器,也就是左边那个虚拟机进行配置。(IP:192.138.24.138)
[root@www ~]# rpm -qa | grep bind
要保证有bind软件
[root@www ~]# vim /etc/named.conf
进入配置文件后修改成下图这样。
options {
listen-on port 53 { 192.168.24.138; };
directory "/var/named";
};
zone "haha.com" IN {
type master;
file "named.haha";
};
去到/var/named这个目录下,写文件
[root@www ~]# cd /var/named
[root@www named]# vim named.haha
文件内容如下:
$TTL 1D
@ IN SOA @ admin#haha.com. (
0
1D
1D
1D
1D )
IN NS ns.haha.com.
IN MX 10 mail.haha.com.
ns IN A 192.168.24.138
mail IN A 192.168.24.139
www IN A 192.168.24.140
重启服务:
[root@www named]# systemctl restart named
测试:
[root@www named]# dig -t A www.haha.com @192.168.24.138
关闭防火墙,保证别人可以访问到:
[root@www named]# systemctl stop firewalld
3.3 转发服务器的配置,也就是中间那个虚拟机的配置(IP:192.168.24.129)
修改配置文件,修改成如下图所示的样子:
[root@localhost ~]# vim /etc/named.conf
options {
listen-on port 53 { 192.168.24.129; };
forward only;
forwarders {192.168.24.138;};
};
重启服务:
[root@localhost ~]# systemctl restart named
测试:
[root@localhost ~]# dig -t A www.haha.com @192.168.24.128
修改DNS为真正的DNS服务器,也就是左边那个虚拟机的IP地址,这样用dig命令查询的时候就不用指定IP地址了。
[root@localhost ~]# nmcli device show | grep DNS
测试:
[root@localhost ~]# dig -t A www.haha.com
3.4对客户机进行配置,就是右边的虚拟机进行配置(IP:192.168.24.139)
只需要把dns修改为中间虚拟机的IP地址就可以了。
测试:
[root@localhost ~]# ping www.haha.com
实验四:解析web服务器实验
4.1在左边的虚拟机上进行配置
在左边的虚拟机上添加一个web服务,该服务不是加密的。
定义一个文件并且写入内容:
[root@www ~]# echo welcome www.haha.com > /var/www/html/index.html
重启服务:
[root@www ~]# systemctl restart httpd
修改文件:
[root@www ~]# vim /etc/httpd/conf/httpd.conf
重启服务:
[root@www ~]# systemctl restart httpd
测试:
[root@www ~]# curl localhost
修改配置文件:
[root@www ~]# vim /var/named/named.haha
$TTL 1D
@ IN SOA @ admin#haha.com. (
0
1D
1D
1D
1D )
IN NS ns.haha.com.
IN MX 10 mail.haha.com.
ns IN A 192.168.24.138
mail IN A 192.168.24.139
www IN A 192.168.24.138
重启服务:
[root@www ~]# systemctl restart named
4.2在右边的虚拟机上进行测试
[root@localhost ~]# ping www.haha.com
[root@localhost ~]# curl www.haha.com
如果右边的虚拟机测试不成功的话,可能有缓存,输入以下命令,在重启试试
[root@localhost ~]# nmcli connection up ens33
[root@localhost ~]reboot
注意:
1.如果这四个实验是连起来做的,那么有些步骤可能是重复的有些步骤是省略的,每个实验之间可能会有一些影响,注意排错,如果不是连起来做的,就要注意相应的软件有没有下载。
2.修改了一个服务的配置文件之后都需要重启相应的服务。
3.防火墙的关闭问题,httpd,named服务是是否开启的问题。