首先是不存在延迟的节点pbs-node30
$ dig -x 21.106.98.16
; <<>> DiG 9.11.4-P2-RedHat-9.11.4-9.P2.el7 <<>> -x 21.106.98.16
# dig这个程序的版本号和要查询的域名,此处-x参数为反向解析,接ip
;; global options: +cmd
# 表示可以在命令后面加选项
;; Got answer:
# 以下是获取信息的内容
;; ->>HEADER<<- opcode: QUERY, status: REFUSED, id: 18981
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1
# 这个是返回信息的头部
# opcode: 操作码,QUERY,代表是查询操作
# status: 状态
# ---- NOERROR,代表没有错误
# ---- NXDOMAIN,否定回答,不存在此记录
# ---- REFUSED DNS服务器拒绝回答,记录未生效
# ---- SERVFAIL DNS服务器停机或DNSsec响应验证失败
# id: 编号,18981,16bit数字,在dns协议中,通过编号匹配返回和查询
# flags: 标志,如果出现就表示有标志,如果不出现,就表示未设置标志;
# ---- qr query,查询标志,代表是查询操作
# ---- rd recursion desired,代表希望进行递归查询操作
# ---- ra recursive available 在返回中设置,代表查询的服务器支持递归查询操作
# ---- aa Authoritative Answer 权威回复,如果查询结果由管理域名的域名服务器而不是缓存服务器提供的,则称为权威回复
# QUERY 查询数,1代表一个查询,对应下面QUESTION SECTION的记录数
# ANSWER 结果数,0代表有0个结果,对应下面的ANSWER SECTION中的记录数
# AUTHORITY 权威域名服务器记录数,0代表该域名有0个权威域名服务器,可供域名解析用。对应下面AUTHORITY SECTION
# ADDITIONAL 格外记录数,1代表有1项格外记录。对应下面 ADDITIONAL SECTION。
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
# 待查含义
;; QUESTION SECTION:
;21.106.98.16.in-addr.arpa. IN PTR
# 查询部分,从做到右部分意义如下:
# 1、要查询的域名,这里是21.106.98.16.in-addr.arpa.,'.'代表根域名,此处为反向解析,为了完成逆向域名解析,系统提供一个特别域,该特别域称为逆向解析域.in-addr.arpa,
# 2、class,要查询信息的类别,IN代表类别为IP协议,即Internet。还有其它类别,比如chaos等,由于现在都是互联网,所以其它基本不用。
# 3、type,要查询的记录类型,A记录(Address),代表要查询ipv4地址。AAAA记录,代表要查询ipv6地址。PTR反向解析类型
;; Query time: 3 msec
# 查询耗时
;; SERVER: 21.106.93.123#53(21.106.93.123)
# 查询使用的服务器地址和端口,其实就是本地DNS域名服务器
;; WHEN: Tue Feb 25 22:27:03 CST 2020
# 查询的时间
;; MSG SIZE rcvd: 54
# 回应的大小。收到(rcve, recieved)54字节。
然后是存在延迟的节点pbs-node57
$ dig -x 21.106.98.16
; <<>> DiG 9.11.4-P2-RedHat-9.11.4-9.P2.el7 <<>> -x 21.106.98.16
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 29886
# SERVFAIL DNS服务器停机或DNSsec响应验证失败
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;21.106.98.16.in-addr.arpa. IN PTR
;; Query time: 1174 msec
;; SERVER: 21.106.94.153#53(21.106.94.153)
;; WHEN: Tue Feb 25 22:26:17 CST 2020
;; MSG SIZE rcvd: 54
其中差异为查询状态差异
怀疑为因域名换过NameServer记录,但是之前的NameServer记录已经被Bind缓存,因为缓存关系,bind递归服务器一直请求到了错误的NameServer上,一直被refuse了,所以返回了ServerFail
尝试rndc清除或者重启bind服务
$ rndc flush
$
如果DNS服务器是用dnsmasq实现的,重启dnsmasq
处理计划
- 关闭ssh 的反向解析
关闭dns反向解析后,就不能阻止伪造IP登陆。
步骤如下:
(1)取消sshd服务的dns反向解析
#vi /etc/ssh/sshd_config
(2)找到选项UseDNS ,取消注释,改为
UseDNS no
(3)重启sshd服务
/etc/init.d/sshd restart 或者
service sshd restart 或者
systemctl restart sshd.service
2.把域名写入本地host