测试dns的工具--rndc,dig命令----DNS排错,在线修改bind(nsupdate)

测试dns的工具

1.测试命令dig

dig [-t type] name [@SERVER] [query options]

-t后面跟类型

-t ptr反向解析 最后ip必须反着写
-x 反向解析 最后ip可以正着写

dig只用于测试dns系统,不会查询hosts文件进行解析
查询选项:
+[no]trace:跟踪解析过程 : dig +trace magedu.com
+[no]recurse:进行递归解析
测试反向解析:
dig -x IP = dig –t ptr reverseip.in-addr.arpa

axfr直接解析某个区域
ns查询是哪个域的服务器


模拟区域传送:

抓取所有记录
dig -t axfr ZONE_NAME @SERVER  
dig -t axfr magedu.com @10.10.10.11
反向解析    @ip向谁请求
dig –t axfr 100.1.10.in-addr.arpa @172.16.1.1


谁是   DNS服务器
dig -t ns . @114.114.114.114
dig -t ns . @a.root-servers.net
dig  -t mx 查看的是右键服务器 @114.114.114.114

@表示,指向互联网中的dns


dig @172.20.47.133 qcq.yyuap.com +short

在这里插入图片描述

在这里插入图片描述

2.host

-t反向解析

host [-t type] name [SERVER]
host –t NS magedu.com 172.16.0.1
host –t soa magedu.com
host –t mx magedu.com
host –t axfr magedu.com
host 1.2.3.4

向指定的dns查
在这里插入图片描述

3.nslookup命令(windows也支持)

 nslookup [-option] [name | -] [server]

交互式模式

nslookup>
server IP: 指明使用哪个DNS server进行查询
set q=RR_TYPE: 指明查询的资源记录类型
NAME: 要查询的名称

在这里插入图片描述

4.rndc命令

rndc:
rndc --> rndc (953/tcp)
rndc COMMAND
COMMAND:

reload: 重载主配置文件和区域解析库文件

reload zonename: 重载区域解析库文件

retransfer zonename: 手动启动区域传送,而不管序列号是否增加

notify zonename: 重新对区域传送发通知

reconfig: 重载主配置文件

querylog: 开启或关闭查询日志文件/var/log/message

trace: 递增debug一个级别
trace LEVEL: 指定使用的级别
notrace:将调试级别设置为 0

flush:清空DNS服务器的所有缓存记录

status 查看信息

querylog: 开启或关闭查询日志文件/var/log/message

***DNS排错

#dig A example.com
; <<>> DiG 9.9.4-RedHat-9.9.4-14.el7 <<>> A example.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 30523

SERVFAIL安全相关(将那两项改为no):The nameserver encountered a problem while processing the query.
可使用dig +trace排错,可能是网络和防火墙导致

dnssec-enable no;
dnssec-validation no;

NXDOMAIN(域不存在):The queried name does not exist in the zone.可能是CNAME对应的A记录不存在导致

REFUSED拒绝:The nameserver refused the client’s DNS request due to policy restrictions.可能是DNS策略导致

NOERROR不代表没有问题,也可以是过时的记录

查看是否为权威记录,flags:aa标记判断

被删除的记录仍能返回结果,可能是因为*记录存在
如:*.example.com. IN A 172.25.254.254

注意.”的使用

别名避免CNAME指向CNAME记录,可能产生回环

test.example.com. IN CNAME lab.example.com. lab.example.com. IN CNAME test.example.com. 

正确配置PTR记录,许多服务依赖PTR,如sshd,MTA

正确配置轮询round-robin记录

5.whois查看域名信息

得安装包whois
whois baidu.com

nsupdate

在线修改bind配置

yum install bind-utils
nsupdate 增删改查
server 192.168.0.49 53
删除
    删除NS记录
        update delete huiselantian.com  IN NS ns2.huiselantian.com.
        update delete huiselantian.com  IN NS ns3.huiselantian.com.
        update delete huiselantian.com  IN NS ns4.huiselantian.com.
        update delete huiselantian.com  IN NS ns5.huiselantian.com.
    删除A记录
        update delete ns2.huiselantian.com  A
        update delete ns3.huiselantian.com  A
        update delete ns4.huiselantian.com  A
        update delete ns5.huiselantian.com  A
增加
    增加NS记录
        update add huiselantian.com 600 IN NS ns2.huiselantian.com.
        update add huiselantian.com 600 IN NS ns3.huiselantian.com.
        update add huiselantian.com 600 IN NS ns4.huiselantian.com.    
    增加A记录
        update add ns3.huiselantian.com 600 IN A 192.168.0.236
        update add ns4.huiselantian.com 600 IN A 192.168.0.237
        update add ns5.huiselantian.com 600 IN A 192.168.1.125    
查询:
    查询NS记录
         dig NS @192.168.0.49 huiselantian.com 
    查询A记录
        dig A @192.168.0.49 ns1.huiselantian.com
    查询SOA记录
        dig SOA @192.168.0.49 huiselantian.com
改:
    先删除后新增
send
quit





nsupdate处理ns的时候(如不规范,会报错)
    添加:
        先添加A 再添加NS记录 
    删除
        先删除ns 再删除A记录

例如:更新一个内容,先删除,后加入

vim dns.txt
server 主dns地址
update delete 域名 600 IN A 对应ip
update add 域名 600 IN A 对应ip
send#如果本来有以上 的A 记录,则不会改请求被忽略
quit

执行方式

nsupdate -d 文件
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要配置Linux-1为主DNS服务器,需要进行以下步骤: 1. 安装 BIND DNS 服务器 在Linux-1上安装BIND DNS服务器,可以使用以下命令: ``` sudo apt-get update sudo apt-get install bind9 ``` 2. 配置BIND DNS服务器 打开BIND DNS服务器的配置文件`/etc/bind/named.conf.options`,将其中的`forwarders`设置为你想要的上游DNS服务器,比如Google的公共DNS服务器`8.8.8.8`和`8.8.4.4`: ``` forwarders { 8.8.8.8; 8.8.4.4; }; ``` 然后打开`/etc/bind/named.conf.local`文件,添加以下内容: ``` zone "example.com" { type master; file "/etc/bind/db.example.com"; }; ``` 其中`example.com`是你的域名,`/etc/bind/db.example.com`是该域名的DNS记录文件。 3. 创建DNS记录文件 打开`/etc/bind/db.example.com`文件,添加以下内容: ``` $TTL 604800 @ IN SOA ns1.example.com. admin.example.com. ( 1 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; @ IN NS ns1.example.com. ns1 IN A 192.168.1.100 www IN A 192.168.1.101 ``` 其中`ns1.example.com`是主DNS服务器的域名,`admin.example.com`是管理员的邮箱地址,`ns1`是主DNS服务器的别名,`www`是你的网站的别名,`192.168.1.100`是主DNS服务器的IP地址,`192.168.1.101`是网站的IP地址。 4. 启动BIND DNS服务器 启动BIND DNS服务器,并设置为开机自启动: ``` sudo systemctl start bind9 sudo systemctl enable bind9 ``` 5. 配置rndc rndcBIND DNS服务器的管理工具,可以用来启动、停止、重启和重新加载DNS服务。要配置rndc,需要进行以下步骤: 打开`/etc/bind/named.conf`文件,添加以下内容: ``` include "/etc/bind/rndc.key"; controls { inet 127.0.0.1 port 953 allow { 127.0.0.1; } keys { "rndc-key"; }; }; ``` 其中`/etc/bind/rndc.key`是rndc的密钥文件。 然后打开`/etc/bind/named.conf.options`文件,将其中的`listen-on`和`allow-query`设置为你的服务器IP地址和允许查询的IP地址段,例如: ``` listen-on port 53 { 192.168.1.100; }; allow-query { 127.0.0.1; 192.168.1.0/24; }; ``` 最后,重启BIND DNS服务器: ``` sudo systemctl restart bind9 ``` 现在,你的Linux-1服务器就已经被配置为主DNS服务器,并且采用rndc技术提供不间断的DNS服务了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值