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 @ 2024-04-03 16:09  安浩阳  阅读(143)  评论(0编辑  收藏  举报