Linux搭建DNS服务器
一、部署bind
dnf update
dnf install bind bind-utils
二、编辑/etc/named.conf
vim /etc/named.conf
listen-on port 53改成listen-on port 53 { any; };# 允许所有IP访问
allow-query改成 allow-query { any; }; # 允许查询最后一行加入
zone "yangcong.xyz" IN {
type master;
file "example.com.db";
};解析
yangcong.xyz为域名后缀,请记得改成自己要的
file "example.com.db";为区域文件名称
三、创建区域文件
touch /var/named/example.com.db
vim /var/named/example.com.db
$TTL 86400
@ IN SOA ns.example.com. admin.example.com. (
2023091801 ; Serial
3600 ; Refresh
1800 ; Retry
604800 ; Expire
86400) ; Negative Cache TTL
;
@ IN NS ns.example.com.
ns IN A 192.168.1.103
@ IN A 192.168.1.220
jenkins IN A 192.168.1.220
gitlab IN A 192.168.1.220
harbor IN A 192.168.1.220解析
192.168.1.103为DNS服务器地址
192.168.1.220为绑定域名的IP地址
jenkins,gitlab ,harbor 为域名前缀
四、启动
sudo named-checkconf
sudo named-checkzone example.com /var/named/example.com.db
sudo systemctl restart named
systemctl enable named
五、测试
在别的服务器配置上DNS域名服务器
我的系统是rocky,下面是rocky的添加DNS方法
nmcli connection modify ens33 ipv4.addresses 192.168.1.103/24 ipv4.gateway 192.168.1.1 ipv4.dns "192.168.1.103,8.8.8.8" connection.autoconnect yes ipv4.method manual
nmcli connection up ens33
然后安装bind-utils
sudo yum install bind-utils
dig @192.168.1.103 jenkins.yangcong.xyz
看关键部分,出现这个信息就说明成功
;; ANSWER SECTION: jenkins.yangcong.xyz. 86400 IN A 192.168.1.220
curl jenkins.yangcong.xyz 看看是是否能成功访问
注意:DNS服务器IP需要配置第一个,配置第二个会出现解析不到