北京企业网站定制,番禺响应式网站建设,电子商务与网络营销论文,小白建设论坛网站前言#xff1a;
本文是一篇关于Linux系统初学者的实验记录。
参考书籍#xff1a;《Linux就该这么学》
实验环境#xff1a;
VmwareWorkStation 17——虚拟机软件
RedHatEnterpriseLinux[RHEL]8——红帽操作系统
备注#xff1a; 为了降低用户访问网络资源的门槛
本文是一篇关于Linux系统初学者的实验记录。
参考书籍《Linux就该这么学》
实验环境
VmwareWorkStation 17——虚拟机软件
RedHatEnterpriseLinux[RHEL]8——红帽操作系统
备注 为了降低用户访问网络资源的门槛域名系统Domain Name SystemDNS技术应运而生。
这是一项用于管理和解析域名与IP地址对应关系的技术。
就是能够接受用户输入的域名或IP地址然后自动查找与之匹配的IP地址或域名
正向解析域名解析为IP地址
反向解析IP地址解析为域名 目录
前言
备注
实验1安装bind服务程序
实验2正向解析实验
Step1配置区域配置文件
Step2编辑数据配置文件。
Step3检验解析结果
实验3反向解析实验
Step1编辑区域配置文件 Step2编辑数据配置文件 Step3检验解析结果 实验4部署从服务器
Step1在主服务器上的区域配置文件中允许该从服务器更新请求
Step2在主服务器上配置防火墙放行规则
Step3在从服务器上安装bind-chroot软件包修改配置文件测试与主服务器网络连通性 Step5检测解析结果
实验5安全的加密传输
Step1在主服务器中生成密钥
Step2在主服务器中创建密钥验证文件。
Step3开启并加载bind服务的密钥验证功能。 Step4配置从服务器使其支持密钥验证。 Step5开启并加载从服务器的密钥验证功能。 Step6DNS从服务器同步域名区域数据。
实验6部署缓存服务器
Step1配置系统的双网卡参数。
Step2将新添加的网卡设置为“桥接模式”
Step3在bind服务的主配置文件中添加缓存转发参数。
Step4重启DNS服务验证成果
实验7分离解析技术
关于报错和排查 实验1安装bind服务程序
BINDBerkeley Internet Name Domain伯克利因特网名称域服务是全球范围内使用最广泛、最安全可靠且高效的域名解析服务器。
安装部署bind服务程序时加上chroot俗称牢笼机制扩展包以便有效地限制bind服务程序仅能对自身的配置文件进行操作确保整个服务器的安全。
yum install bind-chroot
在bind服务程序中有三个比较关键的文件
主配置文件/etc/named.conf用来定义bind服务程序的允许
区域配置文件/etc/named.rfc1912.zones
该目录用来保存域名和IP地址对应关系所在位置。
数据配置文件目录/var/named
该目录用来保存域名和IP地址真实对应关系的数据配置文件。
vim /etc/named.conf
在Linux系统中bind服务程序的名称为named。
在/etc目录找到主配置文件把第11行和第19行地址均修改为any
分别表示服务器上所有IP地址均可提供DNS域名解析服务、允许所有人对本服务器发起DNS查询请求 下面的实验会分别修改bind服务程序的主配置文件、区域配置文件与数据配置文件。
如果遇到bind服务程序启动失败的情况执行
named-checkconf
named-checkzone
检查参数是否写错。
实验2正向解析实验 在域名解析服务中正向解析根据域名查找到对应的IP地址
当用户输入了一个域名后bind服务程序会自动进行查找并将匹配到的IP地址返给用户。
Step1配置区域配置文件
vim /etc/named.rfc1912.zonesStep2编辑数据配置文件。
可以从/var/named 目录中复制一份正向解析的模板文件named.localhost
然后把域名和IP地址的对应数据填写数据配置文件并保存。
复制时-a参数可以保留原始文件的所有者、所属组、权限属性信息以便让bind服务程序读取。
cd /var/named/
ls -al named.localhost
cp -a named.localhost linuxprobe.com.zone
vim linuxprobe.com.zone
$TTL 1DIN SOA linuxprobe.com. root.linuxprobe.com (0 ; serial1D ; refresh1H ; retry1W ; expire3H ) ; minimumNS ns.linuxprobe.com.
ns IN A 192.168.31.128
www IN A 192.168.31.128Step3检验解析结果
要把Linux系统网卡中的DNS地址参数修改成本机IP地址这样就可以使用由本机提供的DNS查询服务了nslookup命令用于检测能否从DNS服务器中查询到域名与IP地址的解析记录进而更准确地检测DNS服务器是否已经能够为用户提供服务。 实验3反向解析实验 反向解析将用户提交的IP地址解析为对应的域名信息它一般用于对某个IP地址上绑定的所有域名进行整体屏蔽屏蔽由某些域名发送的垃圾邮件。
Step1编辑区域配置文件
在定义区域时要把IP地址反写。
vim /etc/named.rfc1912.zones
zone linuxprobe.com IN {type master;file linuxprobe.com.zone;allow-update {none;};
};
zone 31.168.192.in-addr.arpa IN {type master;file 192.168.31.arpa;allow-update {none;};
};Step2编辑数据配置文件
cd /var/named
cp -a named.loopback 192.168.31.arpa
vim 192,168.31.arpa$TTL 1DIN SOA Linuxprobe.com. Root.linuxprobe.com. (0 ; serial1D ; refresh1H ; retry1W ; expire3H ) ; minimumNS ns.linuxprobe.com.A 192.168.31.128AAAA ::1
10 PTR na.linuxprobe.com.
10 PTR www.linuxprobe.com.
20 PTR bbs.linuxprobe.com.systemctl restart named Step3检验解析结果 正向解析和反向解析实验完成。 实验4部署从服务器 在DNS域名解析服务中从服务器可以从主服务器上获取指定的数据文件从而起到备份解析记录与负载均衡的作用。因此通过部署从服务器不仅可以减轻主服务器的负载压力还可以提升用户的查询效率。
主机名称操作系统IP地址主服务器RHEL 8192.168.31.128从服务器RHEL 8192.168.31.130
Step1在主服务器上的区域配置文件中允许该从服务器更新请求
即修改allow-update参数然后重启服务器的DNS程序
vim /etc/named.rfc1912.zones zone linuxprobe.com IN {type master;file linuxprobe.com.zone;allow-update {192.168.31.130;};
};
zone 31.168.192.in-addr.arpa IN {type master;file 192.168.31.arpa;allow-update {192.168.31.130;};
};Step2在主服务器上配置防火墙放行规则
iptables -F
firewall-cmd --permanent --zonepublic --add-servicedns
firewall-cmd --reload
Step3在从服务器上安装bind-chroot软件包修改配置文件测试与主服务器网络连通性
dnf install bind-chrootvim /etc/named.confStep4在从服务器中填写主服务器的IP地址与要抓取的区域信息然后重启服务
vim /etc/named.rfc1912.zones
zone linuxprobe.com IN {type slave;masters { 192.168.31.128; };file slaves/linuxprobe.com.zone;
};
zone 31.168.192.in-addr.arpa IN {type slave;masters { 192.168.31.128; };file slaves/192.168.31.arpa;
};
systemctl restart named Step5检测解析结果
将从服务器DNS指向自身IP地址。 实验完成。
实验5安全的加密传输 互联网中绝大多数DNS服务器都是基于BIND域名解析服务搭建的而bind服务程序为了提供安全的解析服务已经对TSIG加密机制提供了支持。 TSIG主要是利用了密码编码的方式来保护区域信息的传输即TSIG加密机制保证了DNS服务器之间传输域名信息的安全性。
接上文此时从服务器可以获取到主服务器上的数据配置文件 rm -rf /var/named/slaves/*
Step1在主服务器中生成密钥 dnssec-keygen命令用于生成安全的DNS服务密钥
格式dnssec-keygen[参数]“
参数作用-a指定加密算法包括RSAMD5、RSASHA1、DSA-b密钥长度-n密钥的类型
生成一个主机名称为master-slave的128位HMAC-MD5算法的密钥文件。
需要把私钥文件中Key参数后面的值记录下来一会儿要将其写入传输配置文件中。
[rootlinuxprobe ~]# dnssec-keygen -a HMAC-MD5 -b 128 -n HOST master-slave
Kmaster-slave.15718003
[rootlinuxprobe ~]# ls -l Kmaster-slave.15718003.*
-rw-------. 1 root root 56 Feb 4 20:07 Kmaster-slave.15718003.key
-rw-------. 1 root root 165 Feb 4 20:07 Kmaster-slave.15718003.private
[rootlinuxprobe ~]# cat Kmaster-slave.15718003.private
Private-key-format: v1.3
Algorithm: 157 (HMAC_MD5)
Key: qvwiBDk12W9lczRsWhNtHQ
Bits: AAA
Created: 20240204120748
Publish: 20240204120748
Activate: 20240204120748Key: qvwiBDk12W9lczRsWhNtHQ Step2在主服务器中创建密钥验证文件。
进入bind服务程序用于保存配置文件的目录把刚刚生成的密钥名称、加密算法和私钥加密字符串按照格式写入tansfer.key传输配置文件中。
为了安全起见需要将文件的所属组修改成named并将文件权限设置小一定创建一个硬链接指向/etc目录。
cd /var/named/chroot/etc/
vim transfer.key
key master-slave {algorithm hmac-md5;secret qvwiBDk12W9lczRsWhNtHQ;
};chown root:named transfer.key
chmod 640 transfer.key
ln transfer.key /etc/transfer.key
Step3开启并加载bind服务的密钥验证功能。
首先需要在主服务器的主配置文件中加载密钥验证文件然后进行设置使得只允许带有master-slave密钥认证的DNS服务器同步数据配置文件。
vim /etc/named.conf现在DNS主服务器的TSIG密钥加密传输功能已经配置完成。
然后清空DNS从服务器同步目录中的数据配置文件重启bind服务。已经无法自动获取数据配置文件。 Step4配置从服务器使其支持密钥验证。
在bind服务程序的配置文件目录中创建密钥认证文件并设置相应的权限然后设置该文件的一个硬链接并指向/etc目录
cd /var/named/chroot/etc/
vim transfer.key
key master-slave {algorithm hmac-md5;secret qvwiBDk12W9lczRsWhNtHQ;
};chown root:named transfer.key
chmod 640 transfer.key
ln transfer.key /etc/transfer.key Step5开启并加载从服务器的密钥验证功能。
在主配置文件中加载密钥认证文件然后按照指定的格式写上主服务器的IP地址和密钥名称。
这里参数位置不宜太靠前51行处左右较为合适 Step6DNS从服务器同步域名区域数据。
现在两台服务器的bind服务程序都已经配置妥当并匹配到了相同的密钥认证文件。
systemctl restart named
ls /var/named/slaves/实验成功。
实验6部署缓存服务器 DNS缓存服务器是一种不负责域名数据维护的DNS服务器。 简单来说缓存服务器就是把用户经常使用到的域名与IP地址解析记录保存在主机本地从而提升下次解析的效率。 DNS缓存服务器一般用于经常访问某些固定站点而对这些网站的访问速度由较高要求的企业内网中但实际的应用并不广泛。 缓存服务器是否可以成功解析还与指定的上级DNS服务器的允许策略有关。 Step1配置系统的双网卡参数。
为了更加贴近真实的网络环境实现外网查询功能在缓存服务器再添加一块网卡。
主机名称操作系统IP地址缓存服务器 RHEL 8 网卡外网根据物理设备的网络参数进行配置 网卡内网192.168.31.128 客户端RHEL 8192.168.31.130 Step2将新添加的网卡设置为“桥接模式” Step3在bind服务的主配置文件中添加缓存转发参数。
在大约第二十行添加参数forwarders{上级DNS服务器地址;};
上级DNS服务器地址指的是获取数据配置文件的服务器。 iptables -F
iptables-save
firewall-cmd --permanent --zonepublic --add-servicedns
firewall-cmd --reloadStep4重启DNS服务验证成果
客户端主机的DNS服务器地址参数改为缓存服务器的IP地址。
然后重启客户端网络。 实验成功。
实验7分离解析技术 模拟情景 为分别处于北京的DNS服务器和处于美国的DNS服务器分配的IP地址让国内用户自动匹配到北京的服务器而让海外读者自动匹配到美国的服务器。这样提高了访问速度。
主机名称操作系统IP地址DNS服务器RHEL 8 北京网络122.71.115.10 美国网络106.185.25.10 北京用户Windows 7122.71.115.1海外用户Windows 7106.185.25.1 分离解析技术可以加快国内和国外用户访问DNS的速度。
关于报错和排查
如果检查配置无误未显示报错但运行结果异常
执行
cat /var/named/data/named.run
查看日志分析报错原因。
设置防火墙
iptables -F
iptables-save
firewall-cmd --permanent --zonepublic --add-servicedns
firewall-cmd --reload