当前位置: 首页 > ai >正文

14-域名解析DNS 自我总结

接上一部分 14-域名解析DNS 自我总结_linux 查看dns-CSDN博客   

1.DNS自解析

1.在DNS SERVER 上实域名解析

vim /etc/bind/named.conf.default-zones
......
复制内容再进行相应的修改
设置具体解析规则
修改权限,修改属主属组
chmod 644 /etc/bind/db.baidu.com
chown root:root /etc/bind/db.baidu.com
语法检查
named-checkzone baidu.com /etc/bind/db.baidu.com
重载生效
rndc reload

2.后端web(10.0.0.13)

apt update;apt install -y nginx   #部署nginx
echo "this page from 10.0.0.13" > /var/www/html/index.html  #更改首页内容

curl127.1 #测试页面内容

3.客户端主机测试(10.0.0.12)

修改客户端主机的 DNS 服务器地址
vim /etc/resolv.conf   
# Generated by NetworkManager
search localdomain
nameserver 10.0.0.13
测试结果如下(第二个是泛域名解析): 

4.DNS自解析脚本实现

#!/bin/bash# 提示用户输入相关信息
read -p "请输入DNS客户端IP(如10.0.0.12): " dns_client_ip
read -p "请输入DNS服务器IP(如10.0.0.13): " dns_server_ip
read -p "请输入要解析的域名(如baidu.com): " domain_name
read -p "请输入WEB服务对应的解析IP(这里同DNS服务器IP): " web_resolve_ip
read -p "请输入泛域名的ip,同一网段不与dns服务器或web服务的ip相同: " web_broad_ip# BIND主配置文件路径,Ubuntu下默认,其他系统如CentOS可能是/etc/named.conf等,需调整
named_conf_path="/etc/bind/named.conf.default-zones"
# 正向解析区域文件路径 /etc/bind/db.baidu.com 自己创建
zone_file_path="/etc/bind/db.${domain_name}"# 添加正向解析区域到named.conf.default-zones
cat << EOF >> ${named_conf_path}
zone "${domain_name}" {type master;file "${zone_file_path}";
};
EOF# 创建正向解析区域文件并写入内容
cat << EOF > ${zone_file_path}
\$TTL 86400
@   IN  SOA     ${dns_server_ip}. admin.${domain_name}. (2025061301  ; Serial3600        ; Refresh1800        ; Retry604800      ; Expire86400 )     ; Minimum TTL
@    IN  NS      dns1
dns1   IN  A       ${web_resolve_ip}
www IN  A       ${web_resolve_ip}
*   IN  A       ${web_broad_ip}
EOF# 调整区域文件权限,让BIND可以读取
chown root:root ${zone_file_path}
chmod 640 ${zone_file_path}# 重启BIND服务使配置生效
rndc reload
echo "DNS 自解析配置完成!"
echo "接下来在客户端("$dns_client_ip",Rocky9系统)配置DNS:"
echo "编辑 /etc/resolv.conf 文件,添加或修改 nameserver 为 ${dns_server_ip}"
echo "之后就可以通过解析的域名(如 ${domain_name}、www.${domain_name} )访问WEB服务啦"

2.DNS主从复制

前提条件和要求 

1.主DNS服务器配置(10.0.0.13)

(1)  vim /etc/bind/named.conf.default-zones   (增加下面的内容)

zone "baidu.com" {type master;file "/etc/bind/db.baidu.com";allow-transfer { 10.0.0.15; };allow-update { none; };
};

(2)  vim /etc/bind/db.baidu.com

;
; BIND reverse data file for broadcast zone
;
$TTL    604800
@       IN      SOA     baidu-dns. admin.baidu.com. (81         ; Serial604800         ; Refresh86400         ; Retry2419200         ; Expire604800 )       ; Negative Cache TTL
;
@       IN      NS      dns1NS      dns2
dns1    IN      A       10.0.0.13
dns2    IN      A       10.0.0.15
www     IN      A       10.0.0.18

rndc reload      #重载配置 此命令只能用在ubuntu

2.从DNS服务器配置(10.0.0.15)

mkdir -p /var/named/slaves #创建目录

(1)  vim /etc/named.rfc1912.zones   (增加下面的内容)

zone "baidu.com" IN {type slave;masters {10.0.0.13;};file "slaves/db.baidu.com";
};

(2) vim /etc/named.conf

...
listen-on port 53 { 10.0.0.15; };   # 开放本地IP地址入口
allow-query     { any; };  # 允许其他主机正常访问
...

systemctl restart named  重启服务
检测效果:
解析文件己经同步了     ll /var/named/slaves/
且该文件是个数据文件   file /var/named/slaves/db.baidu.com

3.web服务器配置(10.0.0.18)

yum install nginx -y     #安装软件
echo 'myself nginx web' > /usr/share/nginx/html/index.html  #定制首页
systemctl start nginx  #启动服务
curl localhost  #测试效果

4.客户机测试(10.0.0.12)

vim /etc/resolv.conf       # 修改客户端的配置
# Generated by NetworkManager
search www.baidu.com
nameserver 10.0.0.15   # 定制备用DNS服务器地址

查看域名默认的DNS    host www.baidu.com

测试主从DNS地址的分别解析效果    得出来结果和预期的不一样(大家有发现哪里有错误吗)

5.异常测试

vim /etc/resolv.conf     修改客户端(10.0.0.12)的配置 填写下面的内容配置
# Generated by NetworkManager
nameserver 10.0.0.13 # 定制主DNS服务器地址
nameserver 10.0.0.15 # 定制从DNS服务器地址
rndc stop  #关闭 主DNS(10.0.0.13)上的服务
nslookup www.magedu.com 10.0.0.13   # 客户端(10.0.0.12)主机检查效果
DNS Master 异常的情况下, SLAVE 节点 还能提供正常的dns域名解析功能

3.主从同步数据实践

systemctl start named           #主服务器(10.0.0.13)启动服务
vim /etc/bind/db.baidu.com     #在主 DNS 增加一条 db 解析记录  红框圈起来的,以及更改serial。
rndc reload   #重启服务
测试效果  得出结论:主从更改时间相同,DNS同步成功
ll /etc/bind/db.baidu.com   #主DNS进行查看
ls -lh /var/named/slaves/   #从DNS进行查看

(1)测试TCP端口异常效果

iptables -A INPUT -p tcp --dport 53 -j REJECT  # 在主DNS    从DNS  上禁用 TCP53
iptables - vnL   #查看防火墙规则
vim /etc/bind/db.baidu.com  #主DNS增加nene(10.0.0.200 )解析记录 并修改serial号
rndc reload   # 重载 dns 服务配置
同理检测得出来 禁用了 tcp 53 端口,从 DNS 上不会同步数据
异常恢复
iptables -F   #主从DNS操作此命令来 取消防火墙策略
dns没有同步,不过 dns 修改 dns 解析记录后,更改一下序列号 ,就又实现数据同步操作了

(2)强制同步数据

从节点DNS操作的命令
rm -f /var/named/slaves/db.baidu.com  #删除 dns 服务器删除旧数据
systemctl restart named  #重启服务后,ls -lh /var/named/slaves/发现数据又回来了
http://www.xdnf.cn/news/14014.html

相关文章:

  • 【浅谈】Agent 的存在具有什么意义
  • 好用的批量处理软件,免费使用!
  • 鸿蒙Next仓颉语言开发实战教程:订单详情
  • Linux系统下安装RocketMQ5.3
  • 第二十六章 26.Network Automation(CCNA)
  • 居家养老:破解老龄化困局的现实选择
  • 【C/C++】gmock vs mockcpp
  • Server 11 ,⭐通过脚本在全新 Ubuntu 系统中安装 Nginx 环境,安装到指定目录( 脚本安装Nginx )
  • Houdini GPU 云渲染:成本与时间的精准测算
  • 《TCP/IP 详解 卷1:协议》第7章:防火墙和网络地址转换
  • PCB设计教程【大师篇】stm32开发板PCB整体布局
  • LLM之RAG实战(五十五)| 阿里开源新模型,Qwen3-Embedding与Qwen3 Reranker强势来袭!
  • curl 检查重定向的命令总结
  • “窮” 字拆解分析:从字形到文化的深度解构
  • Amazon Linux 2023 配置定时任务完全指南:cronie安装与使用
  • Day53打卡 @浙大疏锦行
  • 淘宝天猫商品数据爬取方案:官方API与非官方接口对比
  • OpenLayers 图层控制
  • 《 第三章-招式初成》 C++修炼生涯笔记(基础篇)程序流程结构
  • 网络原理10 - HTTP完
  • 【Spreadsheet】香港规范结构设计电子表格库开发方案
  • postman Access denied for user‘root‘@‘XXXXXXXX(using password: YES)
  • Flotherm许可管理工具和软件
  • 【强化学习漫谈】4. 从统一视角看 LLM Post-Training
  • 透视黄金窗口:中国有机杂粮的高质量跃迁路径
  • 瑞萨RA-T系列芯片马达类工程TCM加速化设置
  • 爬虫系统异常监控并邮件通知源码
  • 202558读书笔记|《雨季不再来(轻经典)》——日子总有停住的一天,大地要再度绚丽光彩起来
  • 【Create my OS】2 开启中断
  • 魔方在线工具箱 —— 开启便捷高效的在线工具之旅