Ubuntu DNS服务器配置

本文详细介绍了如何在Ubuntu13.04服务器上安装和配置自定义DNS服务器Bind9,包括安装程序包、设置DNS服务器、新增解析记录、重启服务以及修改DNS配置文件等步骤,并通过nslookup命令验证配置是否成功。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

服务器IP:10.68.19.61

操作系统:Ubuntu 13.04

DNS程序:Bind9

测试域名:mycloud.com

目标IP:10.68.19.134


配置步骤

1、安装BIND9程序包

sudo apt-get install bind9

2、新增编辑文件,总共需要编辑2个文件,新增2个文件,如下:

修改/etc/bind/named.conf.options,去掉forwarders的注释,其中的IP为网络营运商提供的DNS服务器,这里我们使用google的DNS

         forwarders {
                8.8.8.8;
                8.8.4.4;
         };
修改/etc/bind/named.conf.local,在最后增加增加双向解析代码:
zone "mycloud.com" {
     type master;
     file "/etc/bind/db.mycloud.com";
};

zone "19.68.10.in-addr.arpa" {
     type master;
     file "/etc/bind/db.10.68.19";
};

注意:其中的19.68.10是目标IP10.68.19.134的前三段,表示一个IP地址段

新增域名(mycloud.com)解析文件/etc/bind/db.mycloud.com,内容如下:

;
; BIND data file for dev sites
;
$TTL    604800
@       IN      SOA     mycloud.com. root.mycloud.com. (
                              1         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
@       IN      NS      mycloud.com.
@       IN      A       10.68.19.134
*.mycloud.com.  14400   IN      A       10.68.19.134
新增IP地址反向解析文件/etc/bind/db.10.68.19,内容如下:

;
; BIND reverse data file for dev domains
;
$TTL    604800
@       IN      SOA     dev. root.dev. (
                              1         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
@        IN      NS      mycloud.com.
134      IN      PTR     mycloud.com.

3、重启BIND9服务

service bind9 restart

4、修改每一台需要使用该DNS服务器的dns配置文件
sudo vi /etc/resolv.conf
修改nameserver为上边配置好的DNS服务器IP

nameserver 10.68.19.61
此修改在每次重启服务器后都会赔覆盖,可以修改配置文件
sudo vi /etc/resolvconf/resolv.conf.d/base
在其中增加一条
nameserver 10.68.19.61
这样重启服务器后DNS配置依然有效。


5、重启networking服务,刷新DNS缓存

sudo service networking restart

配置完成,可以通过nslookup命令测试,结果如下:

root@controller:/etc/bind# nslookup
> baidu.com
Server:         10.68.19.61
Address:        10.68.19.61#53

Non-authoritative answer:
Name:   baidu.com
Address: 220.181.111.86
Name:   baidu.com
Address: 123.125.114.144
Name:   baidu.com
Address: 220.181.111.85
> mycloud.com
Server:         10.68.19.61
Address:        10.68.19.61#53

Name:   mycloud.com
Address: 10.68.19.134
> uaa.mycloud.com
Server:         10.68.19.61
Address:        10.68.19.61#53

Name:   uaa.mycloud.com
Address: 10.68.19.134
解析情况为,域名:baidu.com,在本地DNS中没有找到匹配,通过DNS:8.8.8.8解析,mycloud.com在本地DNS中有匹配,解析到10.68.19.134.



### 如何在 Ubuntu 18.04 服务器中设置 DNS 配置Ubuntu 18.04 中,DNS配置方式取决于所使用的网络管理工具。以下是几种常见的方法来实现静态 DNS 设置。 #### 方法一:通过 Netplan 进行配置 Netplan 是 Ubuntu 18.04 默认的网络配置工具。可以通过编辑 `/etc/netplan/*.yaml` 文件来进行 DNS 和其他网络参数的配置。 1. 打开并编辑 `netplan` 配置文件: ```bash sudo nano /etc/netplan/01-netcfg.yaml ``` 2. 修改内容如下(假设网卡名称为 `ens36` 并使用指定的 DNS 地址): ```yaml network: version: 2 ethernets: ens36: addresses: - 192.168.0.223/24 gateway4: 192.168.0.1 dhcp4: no nameservers: addresses: - 10.1.11.155 - 8.8.8.8 ``` 3. 应用更改: ```bash sudo netplan apply ``` 此方法适用于大多数基于 Netplan 的系统,并能确保 DNS 配置持久化[^4]。 --- #### 方法二:直接修改 `/etc/resolv.conf` 虽然可以直接编辑 `/etc/resolv.conf` 来临时设置 DNS,但由于该文件可能由系统动态生成,在某些情况下会覆盖用户的自定义设置。 如果需要强制修改 `/etc/resolv.conf`,可以执行以下操作: 1. 编辑 `/etc/cloud/cloud.cfg` 或 `/etc/systemd/resolved.conf` 文件以禁用自动更新功能。 2. 创建一个新的 `/etc/resolv.conf` 文件: ```bash echo "nameserver 10.1.11.155" | sudo tee /etc/resolv.conf ``` 注意:这种方法可能会因系统的不同行为而导致不一致的结果[^3]。 --- #### 方法三:利用 systemd-resolved 服务 Ubuntu 18.04 使用 `systemd-resolved` 提供本地 DNS 解析缓存支持。可以通过调整其配置文件完成 DNS 定制。 1. 编辑 `/etc/systemd/resolved.conf` 文件: ```bash sudo nano /etc/systemd/resolved.conf ``` 2. 添加或修改以下字段: ``` [Resolve] DNS=10.1.11.155 FallbackDNS=8.8.8.8 Domains=~www.test.com ``` 3. 启动或重新加载 `systemd-resolved` 服务: ```bash sudo systemctl restart systemd-resolved.service ``` 此时,可通过查看 `/run/systemd/resolve/stub-resolv.conf` 文件确认新的 DNS 是否生效[^1]。 --- #### 测试 DNS 配置 无论采用哪种方法,都需要验证新配置是否正常工作。可使用以下命令测试: ```bash nslookup www.test.com dig @10.1.11.155 www.test.com ping www.test.com ``` 以上步骤能够帮助用户成功配置静态 DNS[^2]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值