一. 关闭Selinux(全部机子都要操作)
1.1 查看selinux是否开启
getenforce
如果返回disabled则表示selinux已经关闭,跳过本步骤.
如果返回 Enforcing ,表示Selinux正在运行,可采用以下方法临时关闭或永久关闭
##设置SELinux 成为permissive模式
##setenforce 1 设置SELinux 成为enforcing模式
setenforce 0
##永久关闭
vi /etc/selinux/config
##将SELINUX=enforcing改为SELINUX=disabled
##设置后需要重启才能生效
修改并重启之后可使用 getenforce 或者 /usr/sbin/sestatus -v 查看状态
二. 关闭防火墙(全部机子都要操作)
systemctl stop firewalld
三. 安装yum epel源(全部机子都要操作)
yum install epel-release -y
四. 安装一些必要的工具(全部机子都要操作)
yum install wget net-tools telnet tree nmap sysstat lrzsz dos2unix bind-utils -y
五. 安装bind9(我只安装到了192.168.5.140)
只需要安装到其中一台即可
yum install bind -y
5.1 配置named.conf
vim /etc/named.conf
配置文件中要修改的地方有:listen-on port 53 { 192.168.5.140; };
#将里面的IP地址修改为本机IP,我这里是 192.168.5.140allow-query { any; };
#将里面的参数修改为anyforwarders { 192.168.5.2; };
#这行是增加的配置,如果通过本机找不到域名解析,向上层继续查找dnssec-enable no;
#将yes修改为nodnssec-validation no;
#将yes修改为no
保存之后,运行 named-checkconf
检查配置文件是否有语法问题,如果没有任何提示,则表示OK。
5.2 配置named.rfc1912.zones
vim /etc/named.rfc1912.zones
在配置文件的最后添加如下配置(host.com作为主机域, od.com作为业务域)
zone "host.com" IN {
type master;
file "host.com.zone";
allow-update { 192.168.5.140; };
}
zone "od.com" IN {
type master;
file "od.com.zone";
allow-update { 192.168.5.140; };
}
5.3 编辑区域配置文件
5.3.1 编辑host.com的域配置文件
vim /var/named/host.com.zone
复制如下代码到文件内并保存退出即可
$ORIGIN host.com.
$TTL 600 ; 10 minutes # 过期时间十分钟 这里的分号是注释
@ IN SOA dns.host.com. dnsadmin.host.com. (
2021031601 ; serial
10800 ; refresh (3 hours) # soa参数
900 ; retry (15 minutes)
604800 ; expire (1 week)
86400 ; minimum (1 day)
)
NS dns.host.com.
$TTL 60 ; 1 minute
dns A 192.168.5.140
k8s-5-137 A 192.168.5.137
k8s-5-138 A 192.168.5.138
k8s-5-139 A 192.168.5.139
k8s-5-140 A 192.168.5.140
k8s-5-141 A 192.168.5.141
5.3.2 编辑od.com.zone 域配置文件
vim /var/named/od.com.zone
复制一下代码并保存退出即可
$ORIGIN od.com.
$TTL 600 ; 10 minutes
@ IN SOA dns.od.com. dnsadmin.od.com. (
2021031601 ; serial
10800 ; refresh (3 hours)
900 ; retry (15 minutes)
604800 ; expire (1 week)
86400 ; minimum (1 day)
)
NS dns.od.com.
$TTL 60 ; 1 minute
dns A 192.168.5.140
以上步骤完成后, 使用 named-checkconf
检查配置文件是否存在语法问题
若一切正常,启动namedsystemctl 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(这个请根据实际情况修改,别照搬)