前言

我想在物理主机(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

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐