1.DNS(Domain Name System)域名系统.
2.DNS 的作用, 就是将主机名解析为 IP 以及将 IP 解析为主机名.
3. 为什么要 DNS, 网络传输数据需要 IP, 但我们对纯数字的 IP 记性很差, 为了方便出现了通过主机名来取得 IP 的办法, 早期是 / etc/hosts 这个文件, 后来出现了 BIND(阶层式管理主机名对应 IP 的系统)这也是全世界使用最广泛的域名系统. 通过这个办法我们不需要知道主机的 IP, 只要知道该主机的名称, 就能轻易的访问该主机了.
4./etc/hosts 的文件格式如下:
IP 主机名 主机别名
5.www.baidu.com 这是个主机名, 它是 baidu.com 域下面的主机
www.baidu.com. 类似, 张全蛋. 京州. 汉东省. 中国 从左到右范围越来越大, 这就是标准的主机名(FQDN), 注意 com. 后面有一个点, 只不过平时我们不写而已
6. 名词: 子域 顶级域 递归查询 迭代查询
7. 每个公网 IP 都会被人为的划分掉, 你可以百度搜索这个 IP, 可以查出他属于哪个省的哪个市的, 是移动的还是联通电信的
8.DNS 有自己的管辖范围, 它只负责自己管控的 IP 并做递归查询, 其他地儿的 IP 不负责, 比如: 你在北京上网用的是徐州电信的 IP, 那你除了可以访问徐州电信下面的主机, 其他互联网上的主机你是不能访问的.
9. 谷歌的有些 DNS 对全球做递归查询, 比如: 8.8.8.8 4.4.4.4 114.114.114.114
弊端就是你要访问这些 DNS 需要穿过很多层, 会导致访问互联网时响应时间会比较慢.
10.DNS 软件有 bind,unbound
11. 安装 unbound yum -y install unbound 启动并开启自启 unbound 使用端口 tcp/udp 53 要记得防火墙, 以服务或端口的方式开放都行, 主从 DNS 同步用的是 TCP53, 客户端同步 DNS 用的是 UDP53
12.unbound 的主配置文件 /etc/unbound/unbound.conf
13. 安装虚拟机以后虚拟机用的网络接口, 默认会有一个 DNS 来维护, 如果你在宿主机上安装 DNS 软件的话, 并且 53 端口对所有接口开放, 将会导致 DNS 软件服务运行异常.
14. 主配置文件的 access-control 作用是拒绝 IP 或网段访问我的 53 端口
15.include: /etc/unbound/local.d/.conf 这句话的意思是当系统读主配置文件时, 它会把. conf 当成是主配置文件的内容来对待.
16. 域名需要合法注册才行, 比如: enkj.com 就是域名, oa.enkj.com 就是域名 enkj.com 下的主机
17. 举例说明, 在 include 中创建文件 aa.conf, 内容如下:
local-zone: "example.com." static 指定在本地主机域名, 并设置为手动修改, 要注意 com 后面有一个点
local-data: "example.com. NS ns.example.com." 指定域名下的 DNS 服务器 NS=Name Server
local-data: "example.com. MX 5 mail.example.com." 指定域名下的邮件服务器.
- local-data: "www.example.com. A 192.168.26.3"
- local-data: "ftp.example.com. A 192.1687.26.4"
NS: 就是名称服务器 (name server) 的缩写, 后面记录的数据是 DNS 服务器的意思.
A: 就是地址 (Address) 的缩写, 后面记录的是 IP 的对应.
18.unbound-checkconf 命令是用来检查主配置文件有没有语法错误.
19. 如果把自己当做 DNS 服务器的话, IP 配置文件填写 DNS 的时候一定要写监听 53 端口的 IP
20.host -t MX example.com 查询域 example.com 中的邮件服务器是什么, 其中 - t 是 type 类型的意思
21.host -t A mail.example.com 查询对应的 IP
22.DNS 域名系统也是有缓存的
23. 咱们平时用的路由器就是一个仅转发的 DNS, 客户端的 IP 请求会经过路由器转发其他机器上, 设置项如下:
forward-zone:
name: "." 或者 "example.com"
forward-addr:192.168.26.100
以上配置内容意思是客户端如果请求根域或者域 example.com 的主机 IP 时, 我就给你转发到 192.168.26.100.
24: 如果感觉 ssh 连接比较慢的话, 修改配置文件 / etc/ssh/sshd_config 中的 UseDns yes 为 no, 并取消掉该行首的注释符, 记得重启一下 sshd 服务生效一下.
25. 抓包: tcpdump -i eno16777728 port 53
26. 设置项 domain-insecure: "example.com" 当查询 example.com 里面的主机时验证, 验证就是 DNS 把请求转发到 A,A 把结果转发给 DNS, 但 DNS 会怀疑结果的真实可靠性, 该设置项的意思是不要怀疑, 不做验证, 这只是排除了域 example.com 中的验证, 如果关闭所有域的验证, 那岂不是更方便, 设置如下: module-config: "iterator"
27.dig +trace www.baidu.com 请求主机名 www.baidu.com 的 IP, 并同时显示都经过哪些 DNS
28. 清楚 DNS 缓存的办法 unbound-control flush www.example.com.
来源: http://www.bubuko.com/infodetail-2770798.html