前言
我想在物理主机(windows11)、虚拟机(CentOS7)、虚拟机上部署的k8s集群所在的局域网内实现自定义域名的访问,通过Nginx Proxy Manager反向代理。
最终效果:在Nginx Proxy Manager的页面配置的域名能准确解析到代理的目标主机的指定端口上去。
一、CentOS7安装BIND9(DNS服务器软件)
sudo yum install bind bind-utils
二、编辑主配置文件
在安装完成后,需要编辑BIND的配置文件/etc/named.conf
vim /etc/named.conf
修改内容如下:
三、编辑区域文件
vim /etc/named.rfc1912.zones
# 文件末尾增加以下内容
zone "felix666.com" IN {
type master;
file "felix666.com.zone";
};
zone "6.168.192.in-addr.arpa" IN {
type master;
file "6.168.192.zone";
};
这两个分别是正向与反向解析,felix666.com是我自己的域名后缀,192.168.6是我虚拟机的NAT网络所在网段。这里反向解析倒过来便是6.168.192
四、配置正向解析文件
# 复制文件重命名为上面区域文件里指向的名字
cp -p /var/named/named.localhost /var/named/felix666.com.zone
# 在这个文件模板的基础上进行编辑
vim /var/named/felix666.com.zone
编辑后的内容如下:
$TTL 1D
@ IN SOA felix666.com root.felix666.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.felix666.com.
dns A 192.168.6.11 # 这个是dns服务运行所在的ip
test1 A 192.168.6.1 # 这个意思是把test1.felix666.com这个域名解析到192.168.6.1
testc CNAME test1 # 这个意思是把testc.felix666.com这个域名解析到192.168.6.1
*.dev A 192.168.6.11 # 这个意思是把*.dev.felix666.com这种格式的所有域名都解析到192.168.6.11这个ip
五、配置反向解析文件
# 复制文件重命名为上面区域文件里指向的名字
cp -p /var/named/named.localhost /var/named/6.168.192.zone
# 在这个文件模板的基础上进行编辑
vim /var/named/6.168.192.zone
编辑后的内容如下:
$TTL 3H
@ IN SOA felix666.com root.felix666.com. (
1 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.felix666.com.
11 PTR dns.felix666.com.
1 PTR test1.felix666.com.
1 PTR testc.felix666.com.
六、放行端口
firewall-cmd --permanent --add-port=53/tcp --zone=public
firewall-cmd --permanent --add-port=53/udp --zone=public
七、修改本机dns进行测试
修改本机dns
vim /etc/resolv.conf
# 设置dns服务器地址
nameServer 192.168.6.11
启动dns服务进行测试:
# 启动dns服务
systemctl start named
# 测试命令:
nslookup
(这里用一下别人的运行截图)
八、在物理主机网络适配器配置DNS主机IP地址
注意:后面在ngixn proxy manager中配置对对物理主机(我的是win11)上的端口访问时,需要配置入站规则
九、在Nginx Proxy Manager上配置自定义域名
最后
常用的dns配置修改后的命令:
# 检查dns服务配置
named-checkconf
# 重启dns服务
systemctl restart named
# 重新加载dns服务
systemctl reload named
参考视频:https://www.bilibili.com/video/BV1PG4y1t7nk/?spm_id_from=333.337.search-card.all.click&vd_source=e33c2f1ce7bc388da0b5eb5b2ecdf40f