自建DNS解析网络环境配置

重点说明

因Kubernetes环境中涉及到多个服务板块调用,为了规范和便捷性,通过自建DNS服务,将集群所有机器都添加其nameserver配置,以满足内部网络的域名解析调用需求。同时,后续所有要用到的服务对应的域名解析都通过bind9服务进行配置。

bind9所在服务器:master2 10.2.2.166

服务安装

安装epel源
[root@master2 ~]# yum install epel-release

安装需要用的软件包
[root@master2 ~]# yum install wget net-tools telnet tree nmap sysstat lrzsz dos2unix bind-utils -y

安装bind9
[root@master2 ~]# yum install bind -y

启动和自启
systemctl start named
systemctl enable named

服务配置

备份源配置
cp /etc/named.conf /etc/named.conf.bak

修改配置,自定义红框内容
vim /etc/named.conf
image.png
说明:

  • 13行 10.2.2.166 为本机ip
  • 21行 配置上游dns地址,即本bind9服务没有对应解析记录时请求的dns地址,可配置多个

配置校验,执行后无报错即为配置正常
named-checkconf

配置自定义域,在末尾加入内容,配置host.com和od.com两个域
vim /etc/named.rfc1912.zones

  1. zone "host.com" IN {
  2. type master;
  3. file "host.com.zone";
  4. allow-update { 10.2.2.166; };
  5. };
  6. zone "od.com" IN {
  7. type master;
  8. file "od.com.zone";
  9. allow-update { 10.2.2.166; };
  10. };

添加对应域解析配置
vim /var/named/host.com.zone

  1. $ORIGIN host.com.
  2. $TTL 600 ; 10 minutes
  3. @ IN SOA dns.host.com. dnsadmin.host.com. (
  4. 2020042901 ; serial
  5. 10800 ; refresh (3 hours)
  6. 900 ; retry (15 minutes)
  7. 604800 ; expire (1 week)
  8. 86400 ; minimum (1 day)
  9. )
  10. NS dns.host.com.
  11. $TTL 60 ; 1 minute
  12. dns A 10.2.2.166
  13. master1 A 10.2.2.137
  14. master2 A 10.2.2.166
  15. master3 A 10.2.2.96
  16. node1 A 10.2.3.13
  17. node2 A 10.2.2.171
  18. node3 A 10.2.2.163
  19. node4 A 10.2.2.162

vim /var/named/od.com.zone

  1. $ORIGIN od.com.
  2. $TTL 600 ; 10 minutes
  3. @ IN SOA dns.od.com. dnsadmin.od.com. (
  4. 2020042901 ; serial
  5. 10800 ; refresh (3 hours)
  6. 900 ; retry (15 minutes)
  7. 604800 ; expire (1 week)
  8. 86400 ; minimum (1 day)
  9. )
  10. NS dns.od.com.
  11. $TTL 60 ; 1 minute
  12. dns A 10.2.2.166
  13. jenkins A 10.2.2.6

重启
systemctl restart named

解析配置

集群机器指定自建dns服务地址(10.2.2.166)

  1. [root@master1 ~]# cat /etc/resolv.conf
  2. # Generated by NetworkManager
  3. search host.com
  4. nameserver 10.2.2.166
  5. nameserver 8.8.8.8

要在集群中配置域名解析,要配置对应的域文件(/var/named/od.com.zone或/var/named/host.com.zone)后执行 systemctl restart named 重启named服务。

以解析 jenkins.od.com 为示例 ,在文件/var/named/od.com.zone中添加对应的解析信息,如: jenkins.od.com 10.2.2.6

解析验证
[root@master1 ~]# dig -t A jenkins.od.com @10.2.2.166 +short
10.2.2.6