html tool

显示标签为“dns”的博文。显示所有博文
显示标签为“dns”的博文。显示所有博文

2021年8月5日星期四

nslook ip地址反查

 参考:https://serverfault.com/questions/41064/whats-the-command-line-utility-in-windows-to-do-a-reverse-dns-look-up

nslookup -type=ptr 14.251.177.38 8.8.8.8

服务器:  dns.google

Address:  8.8.8.8


非权威应答:

38.177.251.14.in-addr.arpa      name = static.vnpt.vn

2021年2月25日星期四

转:dns后缀搜索列表

 https://blog.51cto.com/91xueit/1130610


实战目的:

ü 在内网,用户习惯使用计算机名而不是计算机全名访问资源,你需要配置客户端,解析计算机名时在计算机名称后添加一个DNS后缀构造一个域名,然后通过DNS服务器解析该计算机的IP地址。

企业环境:

在微软河北企业护航中心网络有一个内部网络,通过ADSL连接到Internet。在内网有一个域环境。Win2k3计算机是工作组中的计算机。使用内网的计算机用户访问内网服务器时,习惯使用服务器名,而不习惯使用服务器全名,网络管理员希望配置客户机能够通过DNS服务器解析服务器名。

在工作组中的计算机win2k3上进行名称解析测试。将IP地址设置成自动获得,在命令提示符下输入ipconfig /renew重新刷新地址租约,在输入ipconfig /all可以看到由DHCP服务器配置DNS后缀搜索列表。

配置:

ping Research服务器的计算机名称,注意看解析到的结果是research.ess.com域名对应的IP地址。该解析结果是DNS服务器返回的。

2020年12月23日星期三

转:一个域名如果对应多个IP,那么实际访问这个域名会访问到哪个IP

 https://www.zhihu.com/question/36891472

一个域名可以解析出几个IP地址,例如在访问www.163.com时,抓包得到的DNS响应包中有2个IP地址:221.229.167.47和58.220.39.91,


虽然DNS解析得到了多个IP,但是大多数软件只会使用第一个IP地址,这是什么原因?

TCP/IP网络通信是基于IP地址的,当要访问的服务器地址是域名时,就需要先把域名解析成IP地址。在TCP/IP API中有一个叫gethostbyname的函数,负责把域名解析成IP地址。 函数的原型定义如下,参数name就是要解析的域名。
struct hostent *gethostbyname(const char *name);
函数的返回值为一个结构体指针,这个结构体的定义为:
struct hostent {
    char  *h_name;            /* official name of host */
    char **h_aliases;         /* alias list */
    int    h_addrtype;        /* host address type */
    int    h_length;          /* length of address */
    char **h_addr_list;       /* list of addresses */
}
#define h_addr h_addr_list[0] /* for backward compatibility */

结构体中的h_addr_list是一个数组,用于存放解析出的多个IP地址,但很少有程序员会去考虑多个IP地址的问题,通常直接使用宏h_addr来获取IP地址,也就是第一个IP地址。

[popexizhi: 这样看推断是客户端完成的,但记得好像操作系统也可以设置,但没有找到对应介绍,mark一下]

2019年6月11日星期二

wireshare 过滤dns的domain条件


dns.qry.name contains "thrbaidu.cn"

过滤指定的dns回包的包含domain名称

2019年4月18日星期四

解决ping空域名对追加地址的dns请求问题


问题:

ping a.com

看到有对 a.com.51osos.com  的dns查询,why???

解决:


1. 修改/etc/resolv.conf
2. 修改主机的hostname 


原因分析:
popexizhi:  自己的问题是,这个有内容注释了之后还是dns请求返回空地址后,依然再次请求 a.com.51osos.com  在strace ping a.com.51osos.com 中过滤 sendto 可以看到,最后发现是因为主机的hostname 设置为 test.51osos.com的原因 修改主机名称后就ok了。



https://blog.csdn.net/mybelief321/article/details/10049429
resolv.conf的关键字主要有四个,分别是:
nameserver    //定义DNS服务器的IP地址
domain       //定义本地域名
search        //定义域名的搜索列表
sortlist        //对返回的域名进行排序

下面我们给出一个/etc/resolv.conf的示例:
domain  51osos.com
search  www.51osos.com  51osos.com
nameserver 202.102.192.68
nameserver 202.102.192.69


最主要是nameserver关键字,如果没指定nameserver就找不到DNS服务器,其它关键字是可选的。
nameserver表示解析域名时使用该地址指定的主机为域名服务器。其中域名服务器是按照文件中出现的顺序来查询的,且只有当第一个nameserver没有反应时才查询下面的nameserver。
domain   声明主机的域名。很多程序用到它,如邮件系统;当为没有域名的主机进行DNS查询时,也要用到。如果没有域名,主机名将被使用,删除所有在第一个点( .)前面的内容。
search   它的多个参数指明域名查询顺序。当要查询没有域名的主机,主机将在由search声明的域中分别查找。   【popexizhi:  自己的问题是,这个有内容注释了之后还是dns请求返回空地址后,依然再次请求 a.com.51osos.com  在strace ping a.com.51osos.com 中过滤 sendto 可以看到,最后发现是因为主机的hostname 设置为 test.51osos.com的原因 修改主机名称后就ok了。
domain和search不能共存;如果同时存在,后面出现的将会被使用。
sortlist  允许将得到域名结果进行特定的排序。它的参数为网络/掩码对,允许任意的排列顺序

2019年3月1日星期五

转: dns server log的定制和权限


原文地址:
https://blog.xuite.net/tolarku/blog/161082737-DNS+Server+%E9%96%8B%E5%95%9F+Log+%E8%A8%98%E9%8C%84%E6%AA%94+-+BIND


配置修改

[popexizhi: 这个配置的分级很全了,具体的细节参见 
https://blog.csdn.net/zhu_tianwei/article/details/45103455
一、logging语法定义 说的很清楚:) 
]
當你需要查詢 DNS 的 Query 紀錄時,你就必須增加 log 的設定片段,當然底下的四個項目,你不要全用當然也可以

logging
{
     channel default-log {
         file "/var/log/named_default.log" versions 10 size 200m;
         severity info;
         print-time yes;
     };
     channel lamer-log {
         file"/var/log/named_lamer.log" versions 3 size 100m;
         severity info;
         print-severity yes; 
        print-time yes;
         print-category yes;
     };
    channel query-log {
         file "/var/log/named_query.log" versions 10 size 1000m;
         severity info;
         print-time yes;
     };
    channel security-log {
         file"/var/log/named_security.log" versions 3 size 100m;
        severity info;
        print-severity yes;
        print-time yes;
        print-category yes;
    };
     category lame-servers { lamer-log; };
    category security{ security-log;};     category queries { query-log;};
    category default { default-log;};
};

當中的 log 種類為
lamer 是用來記錄在本DNS上查不到的記錄
18-Nov-2013 09:53:04.277 lame-servers: info: FORMERR resolving 'ib.sin1.geoadnxs.com/AAAA/IN': 64.208.141.11#53 
security 用來記錄拒絕存取之類
18-Nov-2013 09:53:35.097 security: info: client 1.160.178.176#63736: query (cache) 'imgcdn.ptvcdn.net/A/IN' denied 
default  用來記錄BIND啟動記錄及 zone transfer 的狀態
18-Nov-2013 13:05:31.862 client 140.156.116.37#49152: update 'ntu.edu.tw/IN' denied 
query 用來記錄 client 透過此  DNS 的所有紀錄
18-Nov-2013 09:52:59.137 client 140.156.16.199#61234: query: bbcore.cloudapp.net IN A + 

設定的屬性說明
>> size 一個檔案的大小>> severity 所擷取的Log 等級>> print-severity 是否顯示 Log 的等級>> print-category 是否顯示 Log 的等級>> print-time 是否顯示Log的日期及時間

設定完 /etc/named.conf 只要重新載入設定檔就OK了,你可以使用
sudo /etc/init.d/named restart

权限问题

[popexizhi:
原文中说的权限问题selinux 引起的自己没有注意,太坑人了,之后还是让自己遇到了
]
如果你在執行「chcon」時發生,即使給了 chmod 777 還是一樣無法寫入「DNS named[1864]: unable to rename log file '/var/log/named/query-log' to '/var/log/named/query-log.0': permission denied」
# sudo chcon -R system_u:object_r:named_cache_t /var/named/chroot/var/log/named/
chcon: failed to change context of ‘default-log’ to ‘system_u:object_r:named_cache_t’: 不適用的引數
chcon: failed to change context of ‘security-log’ to ‘system_u:object_r:named_cache_t’: 不適用的引數

不用懷疑,那就是 selinux 權限的問題,解決方法為:

sudo service named stop
sudo chcon -R system_u:object_r:named_cache_t /var/named/chroot/var/log/named/
sudo service named start

問題就是這些 log file 被 named 咬住了,要先停止 named 才能修改檔案的 selinux 權限

若還是不行就,就是把 selinux 關掉改完再打開

setenforce 0
sudo chcon -R system_u:object_r:named_cache_t /var/named/chroot/var/log/named/
setenforce 1

2019年2月28日星期四

dns server的域名配置ZONE文件


问题:

设置dns server的 domain配置遇到
配置后启动一直提示
"_default/gfbvy.ws/IN: unexpected end of input"

配置如下:
vim /etc/name.d
...

112 zone "gfbvy.ws" IN {

113     type master;

114     file "fwd.gfbvy.db";

115 };  
...

vim /var/fwd.gfbvy.db

  1 $TTL 86400
  2 ;@ IN SOA gfbvy.ws. 
  4 2016042112 ;Serial
  5 3600 ;Refresh
  6 1800 ;Retry
  7 604800 ;Expire
  8 43200 ;Minimum TTL
  9 )
 10  
 11 ;Name Server Information 
 12 @ 2d IN NS gfbvy.ws.
 13 ;IP address of Name Server
 14 @ 3600 IN A 220.181.119.37

解决方式

修改为:

vim /var/fwd.gfbvy.db
 1 $TTL 86400
  2 ;@ IN SOA gfbvy.ws. ;( [err] 1 no has root. err log" _default/gfbvy.ws/IN: unexpected end of input" 
  3 @ IN SOA gfbvy.ws. root.gfbvy.ws. (
  4 2016042112 ;Serial
  5 3600 ;Refresh
  6 1800 ;Retry
  7 604800 ;Expire
  8 43200 ;Minimum TTL
  9 )
 10  
 11 ;Name Server Information ;[err] 2 must has , err log "_default/gfbvy.ws/IN: bad zone"
 12 @ 2d IN NS gfbvy.ws.
 13 ;IP address of Name Server
 14 @ 3600 IN A 220.181.119.37
~                              

结果分析

参考:此文说的zone的格式很清楚,只是排版有问题,赞内容👍,警惕格式的重要
https://blog.csdn.net/charleslei/article/details/41154015

zone的格式说明
---原文引用------------------------------
一个域名对应一个ZONE文件,现以abc.com的ZONE文件为
例展开。罗嗦一句,该ZONE存在于权威DNS上。  
$TTL 6h //第1行
$ORIGIN abc.com. //第2行
@ 3600 IN SOA ns1.ddd.com. root.ddd.com.( //第3行
929142851 ; Serial //第4行
1800 ; Refresh //第5行
600 ; Retry //第6行
2w ; Expire //第7行
300 ; Minimum //第8行
@ 2d IN NS ns1.ddd.com. //第9行
@ 2d IN NS ns2.ddd.com. //第10行
@ 2d IN NS ns3.ddd.com. //第11行
@ 3600 IN A 120.172.234.27 //第12行
a 3600 IN A 120.172.234.27 //第13行
b 3600 IN CNAME a.abc.com. //第14行
@ 3600 IN MX a.abc.com. //第15行
@ 3600 IN TXT "TXT" //第15行
第1行,这行内容给出了该域名(abc.com)各种记录的默认TTL值,这里为6小时。即如果该域名的记录没有特别定义TTL,则默认TTL为有效值。
第2行,这行内容标识出该ZONE文件是隶属那个域名的,这里为abc.com。
第3行,从这行开始到第8行为该域名的SOA记录部分,这里的@代表域名本身。ns1.ddd.com表示该域名的主权威DNS。root.ddd.com表示该主权威DNS管理员邮箱,等价于root@ddd.com。
[popexizhi: 这里注意
  1. root是必须的,如没有就是pope看到的错误 
  • @ IN SOA gfbvy.ws. ;( [err] 1 no has root. err log" _default/gfbvy.ws/IN: unexpected end of input" ]
  1. soa 记录是必须有的,否则这个zone不完整 。
]
第4行,Serial部分,这部分用来标记ZONE文件更新,如果发生更新则Serial要单增,否则MASTER不会通知SLAVE进行更新。
第5行,Refresh部分,这个标记SLAVE服务器多长时间主动(忽略MASTER的更新通知)向MASTER复核Serial是否有变,如有变则更新之。
第6行,Retry部分,如Refresh过程不能完成,重试的时间间隔。
第7行,Expire部分,如SLAVE无法与MASTER取得联系,SLAVE继续提供DNS服务的时间,这里为2W(两周时间)。Expire时间到期后SLAVE仍然无法联
系MASTER则停止工作,拒绝继续提供服务。Expire的实际意义在于它决定了MASTER服务器的最长下线时间(如MASTER迁移,DOWN机等)。
第8行,Minimum部分,这个部分定义了DNS对否定回答(NXDOMAIN即访问的记录在权威DNS上不存在)的缓存时间。
第9-11行,定义了该域名的3个权威DNS服务器。通常NS记录的TTL大些为宜,这里为2天。设置过小只会增加服务器无谓的负担,同时解析稳定性会受影响。
[popexizhi: 这里也是必须的,否则提示  err log "_default/gfbvy.ws/IN: bad zone"]
第12-15行,比较简单,是两个A,CNAME,MX记录,不再讨论了。
名词解释:
SOA记录:权威记录从这里开始,它定义了3-8行这些重要的参数。
A记录:记录域名到IP之间的关联。
CAME记录:让张三住到李四家里,这时张三李四是同一个地址。
MX记录:定义了发往XXX@ABC.COM邮箱的邮件服务器地址。
TXT记录:这个记录的内容是文本格式如126.COM的TXT为"v=spf1 include:spf.163.com -all",TXT通常用于邮件服务器来标识自己的身份避免被认
为是垃圾邮件服务器。这里不再深入讨论。
其他不常用记录类型没有列出!

2018年10月14日星期日

dns ipv6查询

https://www.cnblogs.com/wanhl/p/3498777.html


:~/test/install_1/install$ nslookup -q=AAAA google.com 8.8.8.8
Server:  8.8.8.8
Address: 8.8.8.8#53

Non-authoritative answer:
Name: google.com
Address: 2404:6800:4005:801::200e



dig:

$ dig google.com AAAA  8.8.8.8

; <<>> DiG 9.11.3-1ubuntu1.2-Ubuntu <<>> google.com AAAA 8.8.8.8
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- 48090="" font="" id:="" noerror="" opcode:="" query="" status:="">
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;google.com. IN AAAA

;; ANSWER SECTION:
google.com. 145 IN AAAA 2404:6800:4005:807::200e

;; Query time: 17 msec
;; SERVER: 127.0.0.53#53(127.0.0.53)
;; WHEN: Mon Oct 15 14:57:23 CST 2018
;; MSG SIZE  rcvd: 67

;; Got answer:
;; ->>HEADER<<- 58716="" font="" id:="" nxdomain="" opcode:="" query="" status:="">
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;8.8.8.8. IN A

;; Query time: 1043 msec
;; SERVER: 127.0.0.53#53(127.0.0.53)
;; WHEN: Mon Oct 15 14:57:24 CST 2018

;; MSG SIZE  rcvd: 36

2018年9月3日星期一

dnc tcp查询

https://www.jianshu.com/p/4c2f1ea07866

dig +tcp www.baidu.com  www.souhu.com @8.8.8.8

dig 安装 yum install bind-utils


[popexizhi: dig很好用啊:) ]


# dig +x www.baidu.com  www.souhu.com @192.168.100.121
Invalid option: +x
Usage:  dig [@global-server] [domain] [q-type] [q-class] {q-opt}
            {global-d-opt} host [@local-server] {local-d-opt}
            [ host [@local-server] {local-d-opt} [...]]

Use "dig -h" (or "dig -h | more") for complete list of options
[root@lijie-120 ~]# dig www.baidu.com  www.souhu.com @192.168.100.121

; <<>> DiG 9.9.4-RedHat-9.9.4-61.el7_5.1 <<>> www.baidu.com www.souhu.com @192.168.100.121
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- 54268="" div="" id:="" noerror="" opcode:="" query="" status:="">
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 13, ADDITIONAL: 14

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.baidu.com. IN A

;; ANSWER SECTION:
www.baidu.com. 286 IN CNAME www.a.shifen.com.
www.a.shifen.com. 32 IN A 61.135.169.125
www.a.shifen.com. 32 IN A 61.135.169.121

;; AUTHORITY SECTION:
com. 145709 IN NS k.gtld-servers.net.
com. 145709 IN NS j.gtld-servers.net.
com. 145709 IN NS f.gtld-servers.net.
com. 145709 IN NS c.gtld-servers.net.
com. 145709 IN NS b.gtld-servers.net.
com. 145709 IN NS h.gtld-servers.net.
com. 145709 IN NS a.gtld-servers.net.
com. 145709 IN NS l.gtld-servers.net.
com. 145709 IN NS m.gtld-servers.net.
com. 145709 IN NS g.gtld-servers.net.
com. 145709 IN NS d.gtld-servers.net.
com. 145709 IN NS i.gtld-servers.net.
com. 145709 IN NS e.gtld-servers.net.

;; ADDITIONAL SECTION:
a.gtld-servers.net. 181 IN A 192.5.6.30
b.gtld-servers.net. 181 IN A 192.33.14.30
c.gtld-servers.net. 181 IN A 192.26.92.30
d.gtld-servers.net. 181 IN A 192.31.80.30
e.gtld-servers.net. 181 IN A 192.12.94.30
f.gtld-servers.net. 181 IN A 192.35.51.30
g.gtld-servers.net. 181 IN A 192.42.93.30
h.gtld-servers.net. 181 IN A 192.54.112.30
i.gtld-servers.net. 181 IN A 192.43.172.30
j.gtld-servers.net. 181 IN A 192.48.79.30
k.gtld-servers.net. 181 IN A 192.52.178.30
l.gtld-servers.net. 181 IN A 192.41.162.30
m.gtld-servers.net. 181 IN A 192.55.83.30

;; Query time: 12 msec
;; SERVER: 192.168.100.252#53(192.168.100.252)
;; WHEN: 一 9月 03 19:59:26 CST 2018
;; MSG SIZE  rcvd: 533

;; Got answer:
;; ->>HEADER<<- 27059="" div="" id:="" noerror="" opcode:="" query="" status:="">
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 2, ADDITIONAL: 3

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.souhu.com. IN A

;; ANSWER SECTION:
www.souhu.com. 3517 IN CNAME cndm.com.
cndm.com. 3517 IN A 103.232.215.131

;; AUTHORITY SECTION:
cndm.com. 172717 IN NS ns1.dnbiz.com.
cndm.com. 172717 IN NS ns2.dnbiz.com.

;; ADDITIONAL SECTION:
ns1.dnbiz.com. 172717 IN A 112.17.38.146
ns2.dnbiz.com. 172717 IN A 112.17.38.148

;; Query time: 0 msec
;; SERVER: 192.168.100.121#53(192.168.100.121)
;; WHEN: 一 9月 03 19:59:26 CST 2018
;; MSG SIZE  rcvd: 151

dns server 服务器搭建


http://blog.topspeedsnail.com/archives/4539


Bind是一款开放源码的DNS服务器软件,Bind由美国加州大学Berkeley分校开发和维护的,全名为Berkeley Internet Name Domain它是目前世界上使用最为广泛的DNS服务器软件。
我要在CentOS 7上架设主域名服务器。

安装BIND9

安装之前更新:
安装BIND软件包:
启动bind服务:
查看服务状态:
查看bind版本:

配置BIND

BIND的默认配置文件位于/etc/named.conf,编辑这个文件
注释掉下面两行(不止监听localhost):
添加客户端,允许执行DNS查询:
如果有辅助域名服务器,添加:
创建BIND zone,添加Forward和Reverse区:
Forward
  • linux.local是域名
  • master是主DNS
  • fwd.linux.local.db是Forward查找文件
Reverse
创建BIND Zone文件:
zone文件默认位于/var/named/目录。
创建一个叫fwd.linux.local.db和10.168.192.db的文件:
Zone使用的配置:
更改这两个文件的权限:
重启BIND服务:

测试设置的Bind Zone

登录任意一个客户端计算机,编辑/etc/resolv.conf,添加:
Forward查询(查域名对应的IP):
Reverse查询(查IP对应的域名):