本次实验主机说明

一. 关闭Selinux(全部机子都要操作)

1.1 查看selinux是否开启

  1. getenforce

如果返回disabled则表示selinux已经关闭,跳过本步骤.
如果返回 Enforcing ,表示Selinux正在运行,可采用以下方法临时关闭或永久关闭

  1. ##设置SELinux 成为permissive模式
  2. ##setenforce 1 设置SELinux 成为enforcing模式
  3. setenforce 0
  1. ##永久关闭
  2. vi /etc/selinux/config
  3. ##将SELINUX=enforcing改为SELINUX=disabled
  4. ##设置后需要重启才能生效

修改并重启之后可使用 getenforce 或者 /usr/sbin/sestatus -v 查看状态

二. 关闭防火墙(全部机子都要操作)

  1. systemctl stop firewalld

三. 安装yum epel源(全部机子都要操作)

  1. yum install epel-release -y

四. 安装一些必要的工具(全部机子都要操作)

  1. yum install wget net-tools telnet tree nmap sysstat lrzsz dos2unix bind-utils -y

五. 安装bind9(我只安装到了192.168.5.140)

只需要安装到其中一台即可

  1. yum install bind -y

5.1 配置named.conf

  1. vim /etc/named.conf

配置文件中要修改的地方有:
listen-on port 53 { 192.168.5.140; }; #将里面的IP地址修改为本机IP,我这里是 192.168.5.140
allow-query { any; }; #将里面的参数修改为any
forwarders { 192.168.5.2; }; #这行是增加的配置,如果通过本机找不到域名解析,向上层继续查找
dnssec-enable no; #将yes修改为no
dnssec-validation no; #将yes修改为no

保存之后,运行 named-checkconf检查配置文件是否有语法问题,如果没有任何提示,则表示OK。

5.2 配置named.rfc1912.zones

  1. vim /etc/named.rfc1912.zones

在配置文件的最后添加如下配置(host.com作为主机域, od.com作为业务域)

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

5.3 编辑区域配置文件

5.3.1 编辑host.com的域配置文件

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. 2021031601 ; serial
  5. 10800 ; refresh (3 hours) # soa参数
  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 192.168.5.140
  13. k8s-5-137 A 192.168.5.137
  14. k8s-5-138 A 192.168.5.138
  15. k8s-5-139 A 192.168.5.139
  16. k8s-5-140 A 192.168.5.140
  17. k8s-5-141 A 192.168.5.141

5.3.2 编辑od.com.zone 域配置文件

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. 2021031601 ; 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 192.168.5.140

以上步骤完成后, 使用 named-checkconf 检查配置文件是否存在语法问题
若一切正常,启动named
systemctl start named ; systemctl enable named

5.4 检测是否可以解析到

dig -t A k8s-5-137.host.com @192.168.5.140 +shor
如果返回 192.168.5.137 则表示解析正常

5.5 修改所有主机DNS

vim /etc/sysconfig/network-scripts/ifcfg-ens33 (ens33代表网卡编号,实际使用的时候请替换为自己机子上的网卡)
将DNS修改为 192.168.5.140 (这个也请修改为实际的named服务器的IP,不要照搬我的)
修改好之后,
systemctl restart network 重启网卡
然后就可以ping 之前设置A记录的各个域名了,比如
ping k8s-5-137.host.com

注意: 由于我虚拟机的主机名后缀不是 host.com 所以不能使用直接ping短域名,如果大家把虚拟机的主机名全部设置为 xxx.host.com , 就可以使用短域名了.

5.6 修改宿主机的dns

由于我们要在宿主机上访问k8s服务,所以需要把虚拟机网卡的dns设置为 192.168.5.140(这个请根据实际情况修改,别照搬)