一、端口
DNS监听53端口
注意:
DNS通常是以UDP协议来进行数据传输协议的,但是若没有办法查询到完整的信息是。DNS的daemon是named,它会启动TCP和UDP的53端口,所以启用DSN服务器是要注意放行TCP,UDP的port53.
三、正解
根据主机名查询IP
1.标志:
SOA:(start of authority) ===> 开始验证
NS(name server) ===> 名称服务器
A(address) ===> 后面记录的是IP的对应
四、反解
1.标志:
根据IP查询主机名
SOA:(start of authority) ===> 开始验证
NS(name server) ===> 名称服务器
PTR(pointer) ===> 后面接主机名
注意:
不管正解还是反解,每个域的记录就是一个区域(zone)。
不管正解还是反解,每一台DNS服务器都可以管理多个区域。
五、DNS数据库类型
1.Master
主DNS服务器。里面的所有主机名相关的信息都要管理员自己手动去修改与设置。这种类型的DNS服务器是DNS的核心。
2.Slave
从DNS服务器。只提供数据,但是不可以修改。内容和它对应的Master服务器的内容完全一致。当修改Master服务器后,重启bind服务,Master会通知Slave服务器数据更新。
注意:
不论Master还是Slave,都会有一个代表该数据库版本的序号。Slave更新数据库的方式有如下两种:
(1).Master在修改了数据库的内容重启bind服务后,会主动的告知Slave服务器来更新数据库。
(2).Slave会定时的通过比较Master的序号决定是否要更新数据。
六、配置文件
1.系统文件
- /etc/hosts ===> 最早的主机名与IP对应的文件
- /etc/resolv.conf ===> ISP(互联网服务提供商)的DNS服务器IP记录处
- /etc/nsswitch.conf ===> 决定前两个文件的优先使用权
2.软件配置文件
- /etc/named.conf ===> BIND配置文件(主配置文件)
注意:该软件“真正”的配置文件,可以规范zone file的完整文件名。即 zone file 由该文件指定。
- /etc/sysconfig/named ===> 是否启动 chroot 及额外的参数,就由该文件控制
- /var/named/ ===> 数据库文件默认路径
- /var/run/named ===> named这支程序执行默认放置 pid-file在此目录内
3.chroot
为了系统的安全性考虑,该软件默认设置了chroot默认路径(由/etc/sysconfig/named文件指定)。
通过上述文件我们知道该软件的根目录已经变更到 /var/named/chroot。既然如此那之前提到的四个配置文件自然也被迁移到该主目录下了。我们可以查看一下
等等,什么情况?这不是重复了吗?因为这些文件在系统根目录下就存在啊,为什么又会出现在该软件的根目录下呢?
其实这是系统通过
mount --bind /var/named/var/named/chroot/var/named
进行目录绑定了。因此你只需要放心的操作该软件根目录就行。
注意:Linux的默认主机名与IP的对应解析都以 /etc/hosts 为优先。
七、DNS正反解查询命令
host
-a ===> 列出该主机的所有相关信息
-l ===> 列出指定domain所管理的所有主机名对应数据
server ===> 查询指定主机名和IP的对应关系(由server后接的服务器提供)
nslookup
dig [options] FQDN [@server]
options相关的参数很多,主要有+trace,-t,type,-x
+trace ===> 从 . 开始追踪
-t type ===> 查询数据类型
-x ===> 查询反解信息
whois