DNS:快速搭建公司内网DNS解析服务器

您所在的位置:网站首页 ip地址服务器搭建 DNS:快速搭建公司内网DNS解析服务器

DNS:快速搭建公司内网DNS解析服务器

#DNS:快速搭建公司内网DNS解析服务器| 来源: 网络整理| 查看: 265

背景

是这样的,公司办公室有小机房,研发测试开发环境在这,但是CTO吧,觉得测试环境通过ip访问太复杂,难记,通过黄页打开觉得太low,虽然办公室出口也有公网ip,直接可以解析进来,但是又觉得公网访问测试开发环境觉得不可以,烦死了,然后就说弄个dns转发吧,提供内网解析,最后将这个dns服务器内网Ip配置在交换机的dhcp pool里面,这样研发组同事也不用一个个去改这个dns,直接运维就搞完(我弄得单机)。概念性东西来源网络。

DNS 概念性东西

FQDN:完全限定域名,即每个域在全球唯一,域不是域名,google.com 是域,www.google.com 是域名。 域可以分为根域(.)和顶级域(TLD) 顶级域又可以分为三类:

通用顶级域(.com 商业机构,.org 非营利性组织,.net 网络服务机构等)

国家顶级域(.cn 中国,.uk 英国,.us 美国,.jp 日本)

反向域(基础建设顶级域,.arpa)

DNS 查询方式包含递归和迭代:

递归是客户端发起一次请求给 DNS 服务器,通过多次查找返回正确解析。迭代是发出多次请求查询不同的 DNS 服务器。

解析方式包含正向解析和反向解析:正向解析指代将 FQDN 转换成 IP,反向则相反。 一般 DNS 的服务器类型包含:主从 DNS 服务器,缓存服务器,转发服务器。 主从好理解,就是从自动更新同步主的配置,作为 backup 存在。 缓存的服务器作用在于使用递归查询,将查询到的结果返回客户端,并缓存查询的结果。 转发服务器作用在于当发现查询不是本机的时候则将请求转发出去。

DNS 监听 TCP 和 UDP 都是 53 端口。 以下是一次完整的请求大致过程:

从客户机到服务器之前采用得是递归查询,而服务器之间则是采用迭代查询。

DNS 记录类型:DNS 域名数据库由资源记录和区文件指令组成。 SOA 记录:起始授权机构记录,SOA 备注说明了众多 NS(name server)记录中谁是主名称服务器,不参与功能,但是不能缺少。 NS 记录:域授权记录,当请求到达根域的时候,通过 NS 记录找到对应的域。 A 记录:当通过 NS 记录到达域以后,比如访问 www.baidu.com,通过 NS 我们找到了 baidu.com,此时就需要通过 A 记录找到 www。 MX:将该域下的所有邮件服务器地址指向邮件服务器。 AAAA 记录:A 记录处理 IPV4,AAAA 处理 IPV6。 PTR 记录:反向解析,将 IP 解析成域名。 CNAME:别名记录,允许多个名字映射到另外一个域名。比如我们 ping 百度的时候可以发现返回其实是 www.a.shifen.com 这个域名返回。所有 www.baidu.com 其实是个别名。

部署单机DNS (我弄得这个)

我是直接将dns服务器的firewalld关闭了,反正内网局域网专用网络了。例外端口也Ok 准备了三台虚拟机: IP 系统 说明 在这里插入图片描述

DNS 服务器安装 bind 服务:

yum -y install bind-utils bind bind-devel bind-libs 配置主配置文件:/etc/named.conf options { listen-on port 53 { any; }; listen-on-v6 port 53 { ::1; }; directory "/var/named"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; memstatistics-file "/var/named/data/named_mem_stats.txt"; recursing-file "/var/named/data/named.recursing"; secroots-file "/var/named/data/named.secroots"; allow-query { any; }; recursion yes; dnssec-enable yes; dnssec-validation yes; bindkeys-file "/etc/named.iscdlv.key"; managed-keys-directory "/var/named/dynamic"; pid-file "/run/named/named.pid"; session-keyfile "/run/named/session.key"; forwarders { 202.96.128.166;8.8.8.8; }; }; ​ logging { channel default_debug { file "data/named.run"; severity dynamic; }; }; ​ zone "." IN { type hint; file "named.ca"; }; ​ include "/etc/named.rfc1912.zones"; include "/etc/named.root.key";

最终内容如上。

追加域名解析入口配置:/etc/named.rfc1912.zones zone "fengliuxiaosan.com" IN { # 测试用的域是 fengliuxiaosan.com type master; file "fengliuxiaosan.com.zone"; # 配置文件为 fengliuxiaosan.com.zone,该文件目录为 /var/named/ 下 }; 配置单独的解析文件: cd /var/named/ cp named.localhost fengliuxiaosan.com.zone chown named.named fengliuxiaosan.com.zone

修改配置:fengliuxiaosan.com.zone

$TTL 1D ;TTL 修改配置生效时间,默认为一天 @ IN SOA @ rname.invalid. ( 0 ; serial,配置编号,每次改完配置 +1,这样从服务器就知道更新配置 1D ; refresh,从服务器刷新时间,默认一天刷新一次 1H ; retry,如果刷新失败,默认1小时重试一次 1W ; expire,缓存过期时间,一周 3H ) ; minimum NS @ A 127.0.0.1 AAAA ::1 www IN A 192.168.3.212

我们新加了个 www.fengliuxiaosan.com 的 A 记录。

启动服务测试: systemctl start named systemctl enable named

查看端口:

netstat -tlunp | grep 53

结果如图: 在这里插入图片描述

可以看到除了服务本身的 53 端口外,也监听了 953,这是 dns 服务的一个插件,现在我们先不理这个 本机测试解析:

dig @127.0.0.1 www.fengliuxiaosan.com

在这里插入图片描述

另外介绍两种检查配置的方法:

# 检查主配置 named-checkconf /etc/named.conf ​ # 检查 zone 配置 named-checkzone fengliuxiaosan.com /var/named/fengliuxiaosan.com.zone

结果如下: 在这里插入图片描述 我们在客户端修改 DNS 配置测试,修改网卡 DNS 配置重启网卡: 在这里插入图片描述

主从 DNS 服务部署 主从 DNS 的搭建开始的时候其实是和单机搭建一样的,我们修改主服务器192.168.3.253的配置文件:/etc/named.rfc1912.zones

将我们之前的配置进行修改:

zone "fengliuxiaosan.com" IN { # 测试用的域是 fengliuxiaosan.com type master; file "fengliuxiaosan.com.zone"; # 配置文件为 fengliuxiaosan.com.zone,该文件目录为 /var/named/ 下 allow-update { 192.168.3.80; }; allow-transfer { 192.168.3.80; }; # 允许同步DNS的辅助服务器IP also-notify { 192.168.3.80; }; notify yes; # 启用变更通告,当主文件变更,通知从进行比较同步 };

指定了从的地址,重启服务

systemctl restart named 2. 从服务器192.168.3.80也安装 bind 并将 /etc/named.conf 配置拷贝过来。 接着也是配置:/etc/named.rfc1912.zones,此时就能体现主从的不同:

zone "fengliuxiaosan.com" IN { type slave; file "slaves/fengliuxiaosan.com.zone"; masters { 192.168.3.253; }; # 指定主服务器的 IP masterfile-format text; # 指定区域文件的格式为text,不指定有可能会为乱码 };

这时候不需要再去配置 fengliuxiaosan.com.zone 文件,因为需要去主服务器192.168.3.253同步。所以直接启动从的 dns 服务。

systemctl start named systemctl enable named 修改主配置测试同步情况: 我们修改主服务器的 fengliuxiaosan.com.zone,新加解析的同时,修改配置编号,让从能够探测到变化。 现在我们重启主服务器,会发现从服务器就能够同步成功。 还有就是我这里使用 reload named 服务并没有使配置生效。 总结

在域名解析过程中,还会遇到某些特殊情况:

@ 可以引用当区域名字,比如直接访问 baidu.com 就是这样的解析同一名字通过不同的名字定义多条记录,此时 DNS 会轮询响应。同一值可以多个名字。星号* 泛域名解析,比如配置 *.baidu.com 指向某个 IP,那么如果你访问 a.baidu.com 这种没有配置的会默认走这个配置。

最后,在核心交换机DHCP pool地址池配置dns地址的时候记得多加几个,内网这个dns服务器配置上去即可,为啥呢,因为通过这个dns内网服务器转发慢啊,打开网页都慢,dhcp client多配置个公网dns解析快。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3