Linux自建DNS服务(Bind)
Linux自建DNS服务(Bind)
主域名服务器地址是abcdabcde.com,解析www到192.168.0.2该怎么配置?
环境:Ubuntu 22.04.3 LTS
步骤一:安装DNS软件包
Ubuntu默认使用bind9
作为DNS服务器软件。要安装它,请打开终端并输入以下命令:
sudo apt install bind9
center os 应该是bind
步骤二:配置DNS服务器
1.配置区域文件
- 打开您的 BIND 区域文件,通常位于
/etc/bind/named.conf.local
。 - 添加以下内容到区域文件:
zone "abcdabcde.com" { type master; file "/etc/bind/db.abcdabcde.com"; allow-update { any; }; }; zone "192.168.0.0" { type master; file "/etc/bind/db.192.168.0"; allow-update { any; }; };
-
创建名为
/etc/bind/db.abcdabcde.com
的区域文件,并添加以下内容:正向解析,即根据域名查ip
; ; BIND data file for local loopback interface ; $TTL 604800 @ IN SOA ns1.abcdabcde.com. root.abcdabcde.com. ( 2023040202 ; serial 3600 ; refresh 1800 ; retry 604800 ; expire 3600 ; minimum ) @ IN NS ns1.abcdabcde.com. ; 这里是将所有www域名都映射到192.168.0.2 www IN CNAME ns1 ; 这里是将所有子域名都映射到192.168.0.2 * IN A 192.168.0.2
-
创建名为
/etc/bind/db.192.168.0
的区域文件,并添加以下内容:逆向解析,即根据ip查域名
; ; BIND reverse data file for local loopback interface ; $TTL 604800 @ IN SOA ns1.abcdabcde.com. root.abcdabcde.com. ( 2023040202 ; serial 3600 ; refresh 1800 ; retry 604800 ; expire 3600 ; minimum ) @ IN NS ns1.abcdabcde.com. 1 IN PTR ns1.abcdabcde.com.
2. 配置主配置文件
-
打开 BIND 主配置文件,通常位于
/etc/bind/named.conf
。找不到option那就看
named.conf.options
文件参考
named.conf
include 了的文件 -
添加:
options { //add configs listen-on port 53 { any; }; allow-query { any; }; };
3. 重启 DNS 服务
- 重启 BIND DNS 服务以应用新配置:
sudo systemctl restart bind9
步骤三:修改系统dns服务器设置
1. 临时修改(不建议)
重启
systemctl restart systemd-resolved
后就会失效
- 打开
/etc/resolv.conf
文件:sudo vi /etc/resolv.conf
# 添加`nameserver 192.168.0.2`到第一行 nameserver 192.168.0.2 nameserver 8.8.8.8 nameserver 192.168.0.1 search .
2. 永久修改
方法一:使用Systemd-resolved
- 创建
/etc/systemd/resolved.conf
文件:
sudo vi /etc/systemd/resolved.conf
- 添加以下内容,保存并退出文件。
[Resolve] #首选的 DNS=192.168.0.2 #其他的 DNS=8.8.8.8
- 重启系统服务:
sudo systemctl restart systemd-resolved
方法二:使用Netplan
- 编辑
/etc/netplan/01-netcfg.yaml
文件:
sudo vi /etc/netplan/01-netcfg.yaml
- 添加以下内容到文件末尾:
nameservers: addresses: - 192.168.0.2 - 8.8.8.8
- 保存并退出文件。
- 运行以下命令应用更改:
sudo netplan apply
步骤四:验证
-
Ping一下
root@localhost:~# ping www.abcdabcde.com PING www.abcdabcde.com (192.168.0.2) 56(84) bytes of data. 64 bytes from 192.168.0.2 (192.168.0.2): icmp_seq=1 ttl=64 time=0.036 ms ^C --- www.abcdabcde.com ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 0.036/0.036/0.036/0.000 ms
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具