Linux Bind DNS 搭建
- bind 单机服务部署、配置
- dns 客户端命令使用
- dns 主从同步、子域授权、转发模式
1.0 BIND DNS 理论
1.1 dns 域结构
1 | // 完整 FQDN: www.ink8s.com. |
1.2 dns 功能等
1 | // dns 功能 |
1.3 bind 域名服务
1 | // 官方网站: https://www.isc.org |
2.0 单机部署环境
系统版本 | 主机名 | IP地址 | 备注 |
---|---|---|---|
centos 7.9 | bind-dns01 | 10.10.10.115 | 域名: ink8s.com |
2.1 单机部署
2.1.1 安装
1 | # yum -y install bind bind-chroot bind-utils |
2.1.2 主配置文件
1 | // 语法格式非常严格 |
1 | # cat /etc/named.conf |
2.1.3 地址库文件
1 | // 严格注意语法书写,其格式非常严格 |
1 | # cp -p /var/named/named.localhost /var/named/ink8s.com.zone |
2.2 bind dns 解析场景
2.2.1 A 记录解析
1 | # cat /var/named/ink8s.com.zone |
1 | # nslookup web.ink8s.com |
2.2.2 CNAME 解析
1 | # cat /etc/named.conf |
1 | # cat /var/named/cname.com.zone |
1 | # nslookup web.cname.com |
2.2.3 PTR 反向解析
1 | // 配置反向解析 PTR: IP ---> FQDN |
1 | # cat /var/named/10.10.10.zone |
1 | # nslookup 10.10.10.100 |
2.2.4 MX 解析
1 | # cat /var/named/ink8s.com.zone |
1 | # dig ink8s.com MX +short |
3.0 DNS 客户端命令
命令 | 通用性 | 使用难易度 |
---|---|---|
nslookup | 支持多平台 | 使用简单、易懂 |
dig | 常用Linux系统 | 比较专业 |
host | 较多 | 简单、明了 |
3.1 nslookup 命令
1 | # nslookup web.ink8s.com # 解析域名对应的 IP |
3.2 dig 命令
1 | # dig @10.10.10.115 web.ink8s.com # 通过哪个 DNS 来解析域名 - 正向解析 |
3.2 host 命令
1 | # host -t soa ink8s.com # 查询 SOA 记录 |
4.0 递归查询
1 | // recurison 参数默认为启用 |
1 | // 如果 recursion no; 关闭,则会打印 WARNING |
4.1 递归查询访问控制范围
1 | # cat /etc/named.conf |
5.0 DNS 主从同步
系统版本 | 主机名 | IP地址 | 备注 |
---|---|---|---|
centos 7.9 | bind-dns01 | 10.10.10.115 | 域名(master): ink8s.com |
centos 7.9 | bind-dns02 | 10.10.10.116 | 域名(slave): ink8s.com |
1 | // 当主 DNS 故障时,辅 DNS 可以继续提供域名解析服务 |
5.1 master 服务器配置
1 | // named.conf 配置文件添加: |
1 | # cat /var/named/ink8s.com.zone |
1 | # cat /var/named/cname.com.zone |
1 | # cat /var/named/10.10.10.zone |
1 | # echo -e "nameserver 10.10.10.115\nnameserver 10.10.10.116" > /etc/resolv.conf |
5.2 slave 服务器配置
1 | # cat /etc/named.conf |
5.3 验证主从解析
1 | # dig web.ink8s.com @10.10.10.115 |
5.4 添加 A 记录
1 | // master 地址库文件有变更时,更新"serial"后。从 dns 立刻同步 master 的配置 |
1 | [root@bind-dns01 ~]# dig dev.ink8s.com @10.10.10.115 +short |
6.0 DNS 子域授权
系统版本 | 主机名 | IP地址 | 备注 |
---|---|---|---|
centos 7.9 | bind-dns01 | 10.10.10.115 | 父域(master): ink8s.com |
centos 7.9 | bind-dns02 | 10.10.10.116 | 父域(slave): ink8s.com |
centos 7.9 | bind-son01 | 10.10.10.117 | 子域: ops.ink8s.com |
6.1 父域配置
1 | [root@bind-dns01 ~]# cat /etc/named.conf |
1 | [root@bind-dns01 ~]# cat /var/named/ink8s.com.zone |
6.2 子域配置
1 | [root@bind-son01 ~]# cat /etc/named.conf |
1 | [root@bind-son01 ~]# cat /var/named/ops.ink8s.com.zone |
1 | [root@bind-son01 ~]# named-checkconf /etc/named.conf |
6.3 验证子域解析
1 | [root@bind-son01 ~]# dig app.ops.ink8s.com @10.10.10.115 +short |
7.0 DNS 转发模式
1 | // 转发指的是将域名查询请求,转至某一台服务器解析 (被转发的服务器必须允许为当前服务器做递归) |
1 | options { |
1 | zone "ZONE_NAME" IN { |
7.1 DNS 区域转发实践
1 | [root@bind-son01 ~]# cat /etc/named.conf |
7.1 验证转发解析
1 | [root@bind-son01 ~]# dig dev.ink8s.com @10.10.10.117 +short |
- 本文作者: [email protected]
- 本文链接: https://www.ink8s.com/2023/01/06/dns-bind-9/
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!