一、简介:
1、DNS的原理:
在Linux系统中,DNS(Domain Name System)是一个重要的网络服务,它负责将域名解析为IP地址以进行网络通信。 Linux DNS是通过域名服务控制器(DNS服务器)实现的,该服务器存储了域名和对应的IP地址,以及其他相关信息。
2、DNS常见的用法和作用:
当Linux系统需要访问某个域名时,它会向DNS服务器发送请求,获取对应的IP地址,然后使用该IP地址进行网络通信。在Linux系统中,常用的DNS服务器软件包括BIND(Berkeley Internet Name Domain)和NSD(Name Server Daemon)。用户可以使用dig命令来测试DNS解析和性能。
二、实验目的:
1、熟悉域名服务器的各种角色
2、学会构建主域名服务器
三、准备:
挂源:
在配置DNS之前要先安装好bind,安装要提前挂源,我们在挂源的时候可用先用
df -h
来看源的挂在路径,然后更改挂源路径
mount /dev/sr0 /XXX/XX
从此可用看出我们已经把源挂在home里面的aa文件中,我们可以再次检测一次挂源路径
df -h
四、安装:
然后我们就可以安装bind服务
yum install bind -y
五、配置:
1、配置准备:
在安装成功后,我们需要先知道我们的ip地址
ifconfig
可以用这个命令来查询我们的ip地址
我们看ens33,ens33` 是 Linux 系统下的一个网络设备标识符。它用于标识系统中的物理或虚拟网卡设备,以便系统能够识别和管理它们。
在 Linux 以及一些基于 Linux 的操作系统(如 CentOS、Ubuntu 等)中,网络设备名称通常由 udev 程序进行动态管理。系统根据硬件设备、驱动程序和网络规则等因素,为每个网络设备分配一个唯一的名称。 作用是让系统可以准确地找到网络设备并为其分配相应的 IP 地址、DNS 信息、路由规则等网络配置。当你连接到网络时,你的系统需要知道使用哪个网卡来发送和接收数据。ens33
标识即告诉系统“我是这个网卡”,这样让系统很容易地分配和管理网络配置信息。
所以ens33后面的那个IP是我们的本机ip。
2、配置DNS服务器的全局参数:
然后我们就可以在主配置文件/etc/named.conf中设置DNS服务器的全局参数
vi /etc/named.conf
listen-on port 53 { 127.0.0.1; };
allow-query { localhost; };
进来后,我们只需要修改这两个参数,port修改为我们的本机IP,allow修改为我们的网段
修改全局参数后我们可以设置主域名服务器,我们要先确认本机IP地址、主机映射、DNS服务器地址
1、hostname ns1
2、vi /etc/hosts
3、vi /etc/resolv.cof
4、在修改hosts文件时要注意要有类似192.168.168.131 ns1.zhangsan.com ns1的内容
5、在修改resolv文件时要注意要有nameserver 192.168.168.131的内容
6、在配置resolv文件时建议最好指定多个DNS服务器:可以在配置文件中指定多个DNS服务器,以提高系统的DNS解析性能和容错性。
3、 设置区域配置文件
vi /etc/named.rfc1912.zones
zone "zhangsan.com" IN {
type master;
file "zhangsan.com.zone";
allow-update { none; };
};
zone "168.168.192.in-addr.arpa" IN {
type master;
file "168.168.192.arpa";
allow-update { none; };
};
4、建立正向解析数据库文件
注意:在2022这里有长度限制的,如果超出10位数时,在开启dns服务时会报错,显示开启失败
vi /var/named/zhangsan.com.zone
$TTL 86400
@ IN SOA zhangsan.com. admin.zhangsan.com. (
2022115037
4H
30M
12H
1D
)
NS @
A 192.168.168.131
ns1 A 192.168.168.131
www A 192.168.168.10
mail A 192.168.168.20
5、建立反向解析数据库文件
注意:在2022这里有长度限制的,如果超出10位数时,在开启dns服务时会报错,显示开启失败如下图
报错内容:
vi /var/named/168.168.192.arpa
$TTL 86400
@ IN SOA zhangsan.com. admin.zhangsan.com. (
2022115037
4H
30M
12H
1D
)
NS @
A 192.168.168.128
10 PTR ns1.zhangsan.com.
10 PTR www.zhangsan.com.
20 PTR mail.zhangsan.com.
六、验证:
1、启动DNS:
当这些都配置好后就可以启动dns服务
systemctl start named
没有报错就算是成功,并且可以用
systemctl status named
命令来查看服务开启状态,开启状态如下:
2、测试DNS:
然后测试dns(或者用Windows系统在浏览器上面进行测试)
(1)、Centos 7的测试方法 :
nslookup ns1.zhangsan.com
nslookup www.zhangsan.com
nslookup 192.168.168.131
(2)、Windows10的测试方法:
七、 总结以及错误注意点:
在配置dns中,我们的文件配置很容易配置错误,当我们配置错误时,可以用
named-checkconf /etc/named.rfc1912.zones
named-checkconf /etc/named.conf
systemctl stop firewalld.service
systemctl disable firewalld.service
setenforce 0
来检测全局配置是否有语法的错误,如果有语法的错误会返回错误,还有就是正向解析和反向解析是很容易出错的,发现错误时要检查域名是否与全局配置文件相同,IP地址是否是本机IP等问题来检测全局配置是否有语法的错误,如果有语法的错误会返回错误,还有就是正向解析和反向解析是很容易出错的,发现错误时要检查域名是否与全局配置文件相同,IP地址是否是本机IP等问题,还有就是防火墙要关闭
netstat -anp | grep :53
lsof -i :53
还有一种就是53端口占用问题,可以用上面两种中的任意一种查看53端口是否被占用。
八、心得体会:
在配置DNS是提高系统性能和避免网络故障的重要步骤。最好指定多个DNS服务器,并启用本地DNS缓存。应避免DNS污染,正确配置防火墙规则以确保DNS服务器正常通信。在修改配置文件后要确认修改已生效,最好使用工具或命令来配置DNS,避免手动导致错误。正确配置DNS有助于提高系统性能,确保网络连接畅通。
版权归原作者 Sword_of_despair 所有, 如有侵权,请联系我们删除。