根服务器文件named.root

本文深入探讨了DNS解析的工作机制,重点介绍了如何在主配置文件中定义根域及使用named.root文件进行逐级查询的过程。同时强调了更新根服务器列表的重要性,并提供了下载最新根服务器列表的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在主配置文件/etc/named.conf中,定义了一个根域,区文件是/var/named目录下的named.root文件。它是一个非常重要的文件,包含了Internet根服务器的名字和IP地址。当Bind接到客户端的查询请求时,如果本地不能解释,也不能在Cache中找到相应的数据,就会通过根服务器进行逐级查询。

例如,当服务器收到DNS客户机的一个查询请求,要求查询一个不在本域的www.example.com域名时,如果Cache里没有相应的数据,DNS服务器就会向named.root文件中列出的Internet根服务器请求,然后根服务器将查询交给负责域.com的授权名称服务器,域.com授权名称服务器再将请求交给负责域example.com的授权名称服务器进行查询,最后再把结果返回给客户机。

由于Internet根服务器的地址经常会发生变化,因此named.root也应该要随之更新。最新的根服务器列表可以从ftp://ftp.rs.internic.net/domain/下载,文件名也是named.root,它包含了国际互联网络信息中心(InterNIC)提供的最新数据。另外,也可以用Bind提供的命令dig列出最新的根服务器。

转载于:https://www.cnblogs.com/google4y/archive/2012/10/11/2719974.html

下面这个脚本有问题吗? #!/bin/bash #function: 搭建主域名服务器脚本,包含反向解析 #author: 20250325 IT小旋风 # 判断是否是root用户 if [ "$USER" != "root" ]; then echo "不是root用户,无法进行安装操作" exit 1 fi # 关闭防火墙 systemctl stop firewalld && systemctl disable firewalld && echo "防火墙已经关闭" sed -i 's/SELINUX=*/SELINUX=disabled/g' /etc/selinux/config && setenforce 0 && echo "关闭selinux" # 安装bind服务 yum install bind bind-utils -y # 测试是否安装成功 if [ $? -eq 0 ]; then echo "bind安装成功" else echo "bind安装失败,即将退出" exit 0 fi # 配置主域名服务器 read -ep "请输入主域名(如 example.com): " domain read -ep "请输入主服务器IP地址: " master_ip read -ep "请输入从服务器IP地址: " slave_ip # 获取主服务器IP的反向区域 reverse_domain=$(echo $master_ip | awk -F. '{print $3"."$2"."$1".in-addr.arpa"}') # 备份主配置文件 cp /etc/named.conf /etc/named.conf.backup # 修改主配置文件 cat > /etc/named.conf <<EOF options { listen-on port 53 { any; }; listen-on-v6 port 53 { ::1; }; directory "/var/named"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; memstatistics-file "/var/named/data/named_mem_stats.txt"; recursing-file "/var/named/data/named.recursing"; secroots-file "/var/named/data/named.secroots"; allow-query { any; }; recursion no; dnssec-enable yes; dnssec-validation yes; bindkeys-file "/etc/named.iscdlv.key"; managed-keys-directory "/var/named/dynamic"; pid-file "/run/named/named.pid"; session-keyfile "/run/named/session.key"; }; logging { channel default_debug { file "data/named.run"; severity dynamic; }; }; zone "." IN { type hint; file "named.ca"; }; zone "$domain" IN { type master; file "$domain.zone"; allow-transfer { $slave_ip; }; }; zone "$reverse_domain" IN { type master; file "$reverse_domain.zone"; allow-transfer { $slave_ip; }; }; include "/etc/named.rfc1912.zones"; include "/etc/named.root.key"; EOF # 创建正向区域文件 cat > /var/named/$domain.zone <<EOF \$TTL 86400 @ IN SOA ns1.$domain. admin.$domain. ( 2025032501 ; Serial 3600 ; Refresh 1800 ; Retry 604800 ; Expire 86400 ; Minimum TTL ) IN NS ns1.$domain. IN NS ns2.$domain. ns1 IN A $master_ip ns2 IN A $slave_ip www IN A $master_ip EOF # 创建反向区域文件 cat > /var/named/$reverse_domain.zone <<EOF \$TTL 86400 @ IN SOA ns1.$domain. admin.$domain. ( 2025032501 ; Serial 3600 ; Refresh 1800 ; Retry 604800 ; Expire 86400 ; Minimum TTL ) IN NS ns1.$domain. IN NS ns2.$domain. $(echo $master_ip | awk -F. '{print $4}') IN PTR ns1.$domain. EOF # 修改文件权限 chown named:named /var/named/$domain.zone chown named:named /var/named/$reverse_domain.zone # 启动主服务器服务 systemctl start named && systemctl enable named if [ $? -eq 0 ]; then echo "主域名服务器已启动并设置为开机自启" else echo "主域名服务器启动失败,即将退出" exit 0 fi
03-27
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值