内网DNS服务安装使用系列教程(二)常用命令

1. dig命令


dig用于测试dns系统,因此不会查询hosts文件进行解析

  • 用于询问 DNS 域名服务器的灵活的工具
  • 除非被告知请求特定域名服务器,dig将尝试 /etc/resolv.conf中列举的任何服务器
  • 当未指定任何命令行参数或选项时,dig将对.(根)执行NS查询

格式

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

语法

  • 类型查询
dig -t NS code404.icu @140.205.41.23
dig -t MS code404.icu @140.205.41.23
dig -t A www.code404.icu
  • 查询选项
+[no]trace:跟踪解析过程
+[no]recurse:进行递归解析
  • 测试反向解析:
dig -x IP @SERVER
dig -x 172.16.100.11 @172.16.242.178
  • 模拟区域传送:
dig -t axfr ZONE_NAME @SERVER
dig -t axfr code404.icu @106.11.141.113

2. host命令


host命令用于查询DNS的工具

  • 它通过常转换指定主机名称的主机名称为 IP 地址
  • 当不指定参数时,它显示host命令的帮助信息

格式

host [-t type] name [SERVER]

语法

  • -a 等同于-v -t
  • -C 在需要认证的域名服务器上查找 SOA 记录
  • -l 列出一个域内所有的主机
  • -i 反向查找
  • -r 不使用递归处理
  • -v 运行时显示详细的处理信息
  • -4 用于 IPv4 的查询
  • -6 用于 IPv6 的查询
  • -t <类型> 指定类型,包括a、all、mx、ns等

实例展示

[root@localhost ~]# host -t A www.code404.icu 114.114.114.114
Using domain server:
Name: 114.114.114.114
Address: 114.114.114.114#53
Aliases: 

www.code404.icu has address 182.92.75.185
[root@localhost ~]# host --help
host: illegal option -- -
Usage: host [-aCdlriTwv] [-c class] [-N ndots] [-t type] [-W time]
            [-R number] [-m flag] hostname [server]
       -a is equivalent to -v -t ANY
       -c specifies query class for non-IN data
       -C compares SOA records on authoritative nameservers
       -d is equivalent to -v
       -l lists all hosts in a domain, using AXFR
       -i IP6.INT reverse lookups
       -N changes the number of dots allowed before root lookup is done
       -r disables recursive processing
       -R specifies number of retries for UDP packets
       -s a SERVFAIL response should stop query
       -t specifies the query type
       -T enables TCP/IP mode
       -v enables verbose output
       -w specifies to wait forever for a reply
       -W specifies how long to wait for a reply
       -4 use IPv4 query transport only
       -6 use IPv6 query transport only
       -m set memory debugging flag (trace|record|usage)

3. nslookup命令


nslookup 命令用于查找域名服务器的程序,有两种模式为互交和非互交

格式

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

语法

  • 非交互模式
  • 直接查询即可
  • 交互式模式
nslookup>
server IP: 指明使用哪个DNS server进行查询;
set q=RR_TYPE: 指明查询的资源记录类型;
NAME: 要查询的名称;

实例展示

[root@k8s-master01 ~]# nslookup 
> server 114.114.114.114
Default server: 114.114.114.114
Address: 114.114.114.114#53
> set q=A
> www.code404.icu
Server:		114.114.114.114
Address:	114.114.114.114#53

Non-authoritative answer:
Name:	www.code404.icu
Address: 182.92.75.185
> set q=NS
> code404.icu
Server:		114.114.114.114
Address:	114.114.114.114#53

Non-authoritative answer:
code404.icu	nameserver = dns2.hichina.com.
code404.icu	nameserver = dns1.hichina.com.

Authoritative answers can be found from:
# 非交互模式查询
[root@k8s-master01 ~]# nslookup code404.icu
Server:		172.17.0.14
Address:	172.17.0.14#53

Non-authoritative answer:
Name:	code404.icu
Address: 182.92.75.185
# 非交互模式查询
[root@k8s-master01 ~]# nslookup 
> www.code404.icu
Server:		172.17.0.14
Address:	172.17.0.14#53

Non-authoritative answer:     #非权威答案,表明是在缓存中读取的
Name:	www.code404.icu
Address: 182.92.75.185       #返回第一个IP地址
> server 8.8.8.8              #设置域名服务器为 8.8.8.8
Default server: 8.8.8.8
Address: 8.8.8.8#53
> www.baidu.com
> www.code404.icu               #再次请求码404的IP地址
Server:		8.8.8.8
Address:	8.8.8.8#53

Non-authoritative answer:
Name:	www.code404.icu
Address: 182.92.75.185      #不同的DNS获取的IP地址是不同的。

4. rndc命令


rndc客户端是通过建立套接字连接服务端,监听在TCP的953端口,来对服务端的named进行修改操作,但由于安全考虑,所以rndc的客户端和服务端安装在同一台主机之上。

语法 1

  • -b source-address 使用 source-address 作为连接服务器的源地址允许多个实例设置 IPv4 和 IPv6 源地址
  • -c config-file 使用config-file 作为缺省的配置文件/etc/rndc.conf 的替代
  • -k key-file 使用 key-file 作为缺省的密钥文件/etc/rndc.key 的替代 如果config-file 不存在,/etc/rndc.key 中的密钥将用于认证发向服务器的命令
  • -s server server 是与rndc的配置文件中server语句匹配的服务器的名字或地址 如果命令行没有提供服务器,会使用rndc配置文件中options语句中的default-server子句所命名的主机
  • -p port 发送命令到TCP端口port,以取代BIND 9的缺省控制通道端口 953
  • -V 打开冗余日志
  • -y key_id 使用配置文件中的密钥key_id

语法 2

  • reload 重载主配置文件和区域解析库文件
  • reload zone 重载区域解析库文件
  • refresh zone 安排区域的立即维护
  • retransfer zone 手动启动区域传送过程,而不管序列号是否增加
  • notify zone 重新对区域传送发通知
  • reconfig 重载主配置文件
  • status 将服务器统计信息写入统计文件中
  • querylog 开启或关闭查询日志
    建议调试的时候开启,否则日志消耗太多性能
  • dumpdb 将高速缓存转储到转储文件 (named_dump.db)
  • stop 将暂挂更新保存到主文件并停止服务器
  • halt 停止服务器,但不保存暂挂更新
  • trace 将调试级别增加一级
    建议调试的时候开启,否则日志消耗太多性能
  • trace level 更改调试级别
  • notrace 将调试级别设置为0
  • flush 刷新服务器的所有高速缓存
  • status 显示服务器的状态
  • restart 重新启动服务器

实例展示

# rndc工具能够帮助我们输出系统信息
[root@localhost ~]# rndc status
version: 9.8.2rc1-RedHat-9.8.2-0.47.rc1.el6
CPUs found: 1
worker threads: 1
number of zones: 20
debug level: 0
xfers running: 0
xfers deferred: 0
soa queries in progress: 0
query logging is OFF
recursive clients: 0/0/1000
tcp clients: 0/100
server is up and running

# rndc不重启加载区域文件
[root@localhost ~]# rndc reload

版权声明:本文为作者原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原创文章,作者:老C,如若转载,请注明出处:https://www.code404.icu/1162.html

发表评论

登录后才能评论