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
posted @   安浩阳  阅读(220)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
点击右上角即可分享
微信分享提示

目录导航