Ubuntu Server DNS服务器的配置方法

本文详细介绍了如何在Ubuntu Server 10.10中配置DNS服务器,包括安装BIND9,设置主DNS服务器和从DNS服务器,以及如何在本地网络中解析主机名和IP地址。
Ubuntu Server 10.10 DNS服务器的配置方法
配置环境:
一台server和若干client组成的简单局域网,在一个网段上。一台Server做为DNS server,注意DNS server Ip地址不能用DHCP,要用静态ip。Server的ip:192.168.0.104Client的ip范围为:192.168.0.1--192.168.0.254,相互能ping通。 Installing BIND9 (安装 BIND9) 命令: sudo apt-get install bind9     sudo apt-get install dnsutils    dnsutils软件包提供了DNS测试和排错工具 我们将配置DNS为主服务器类型
DNS 配置文件在/etc/bind 目录中。安装bind9后会生成如下三个配置文件: named.conf;named.conf.options;named.conf.local。
其中 named.conf是主配置文件,里面包含了named.conf.options和named.conf.local,我们在架设本地dns时,只需改动named.conf.local即可。 设置实例 ⑴ 环境:
Server的ip:192.168.0.104
Client的ip范围为:192.168.0.1--192.168.0.254,相互能ping通 现在将主机架设成主dns服务器,要求能解析 ubox.mytest.com 192.168.0.104
www.mytest.com 192.168.0.104
⑵ 分析:根据上面的主机名称和ip对应可以看出:
①需要添加正向区域“mytest.com”和反向区域“0.168.192.in-addr.arpa”,
②在“mytest.com”区域中添加A记录ubox对应192.168.0.104, CNAME记录www对应ubox ③在“0.168.192.in-addr.arpa”区域中添加各个ip地址对应的主机名 编辑配置文件 记得路径 /etc/bind/ 编辑named.conf.local
编辑用:sudo vi /etc/bind/named.conf.local 添加下列语句 //正向区域
zone "mytest.com" { type master;
file "db.mytest.com"; };
//反向区域
zone "0.168.192.in-addr.arpa" { type master; notify no;
file "reverse/db.0.168.192"; };
然后保存 


 


建立named.conf.local中指定的区域文件
在/var/cache/bind下建立正向区域文件 (复制了一份模板)
命令:sudo cp /etc/bind/db.local /var/cache/bind/db.mytest.com sudo mkdir /var/cache/bind/reverse/
在/var/cache/bind/reverse下建立反向区域文件 (复制了一份模板) 命令:sudo cp /etc/bind/db.127 /var/cache/bind/reverse/db.0.168.192 编辑正向区域文件
命令:sudo vi /var/cache/bind/db.mytest.com 将原文参照下文修改 ;
; BIND data file for local loopback interface ;
$TTL 604800 
@ IN SOA mytest.com. root.mytest.com. ( 2  Serial
604800  Refresh 86400  Retry 2419200  Expire
604800 )  Negative Cache TTL ;
@ IN NS ns.
@ IN A 192.168.0.104 ns IN A 192.168.0.104 ubox IN A 192.168.0.104 www IN CNAME ubox @ IN AAAA ::1
注意修改的地方,在原文的localhost处更改,再添加各个主机记录 注意用Tab键分开对齐 另外使用别名时:www IN cname 192.168.0.104 会出错, 要使用www IN cname ubox 编辑反向区域文件
命令:sudo vi /var/cache/bind/reverse/db.0.168.192 将原文参照下文修改 ;
; BIND reverse data file for local loopback interface ;
$TTL 604800
@ IN SOA ns.mytest.com. root.mytest.com. ( 1  Serial
604800  Refresh 86400  Retry 2419200  Expire
604800 )  Negative Cache TTL ;
@ IN NS ns.



 


104 IN PTR ns.mytest.com.     104为IP地址的最后一个数 104 IN PTR ubox.mytest.com. 104 IN PTR www.mytest.com.
注意修改的地方,在原文的localhost处更改,再添加各个主机记录 注意用Tab键分开对齐 重新启动DNS服务
sudo /etc/init.d/bind9 restart 以上是DNS主服务器的配置 DNS从服务器的配置:
DNS主服务器配置好后,为了保证可用性,我们最好再架设一台从服务器,这样万一主服务器宕机的话,还有从服务器可以用。 1. 主服务器的配置改动
首先,需要修改/etc/bind/named.conf.local,在zone定义中添加allow-transfer一行: $sudo vi /etc/bind/named.conf.local 添加allow-transfer所在的行: zone “mytest.com” {  type master;  file”db.mytest.com”;  allow-transfer {192.168.0.100;}; };
zone “0.168.192.in-addr-arpa” {  type master;  file “reverse/db.0.168.192”;  allow_transfer {192.168.0.100;}; };  
注意将192.168.0.100改为你的从服务器的真实IP地址。 2. 从服务器的配置
我们假设从服务器的IP地址为192.168.0.100,在从服务器上,也需要安装bind9: $sudo apt-get install bind9 dnsutils
然后,创建反向zone文件目录,并将该目录的所有权交给bind: $sudo mkdir /var/cache/bind/reverse
$sudo chown bind.bind /var/cache/bind/reverse/ 修改/etc/bind/named.conf.local文件: $sudo vi /etc/bind/named.conf.local 添加内容如下: zone “mytest.com” {  type slave;  file “db.mytest.com”;  masters {192.168.0.104;}; };
zone “0.168.192.in-addr.arpa” {  type slave;  file “reverse/db.0.168.192”;  masters {192.168.0.104;}; };



 


现在,重新启动bind服务: $sudo /etc/init.d/bind9 restart
服务启动时,bind会自动复制主服务器上的zone文件。你可以查看一下这些文件是否正确地复制过来:
$ls /var/cache/bind/ -R
如果没有,请查看系统日志,找出错误: $sudo tail –n50 /var/log/syslog 
测试
提示:测试之前,请先确认/etc/resolv.conf文件中的nameserver指向192.168.0.104,也就是DNS服务器自己的IP地址。 Ping主机名: $ping mytest.com
也可以使用dig工具进行正向、反向解析测试: $dig www.mytest.com
$dig 0.168.192.in-addr.arpa.  AXFR
通过dig本地回环地址,可以确认bind是否已经运行在53端口: $dig –x 127.0.0.1
Named-checkzone该工具可以用来测试zone文件
$named-checkzone mytest.com /etc/bind/db.mytest.com $named-checkzone mytest.com /etc/bind/db.0.168.192  如果一切正确,应该有如下结果: Zone mytest.com/IN: loaded serial 5 OK
其中,序列号可能会不同。 
你也可以在XP下的cmd环境下用nslookup去试试看 注意:改动配置文件后都要重新启动bind9。 DNS客户端的配置
此时DNS服务器已经开始工作了,要使用该DNS服务器,以XP为例,到"控制面板"–"网络连接",找到上网的网卡,右键选择"属性",改变DNS地址为192.168.0.104 
Linux 修改DNS,请修改/etc/resolv.conf文件。 例如:
编辑sudo vi /etc/resolv.conf 更改为
nameserver 192.168.0.104 nameserver 192.168.0.100 DNS搭建后的检测
查看域名解析的命令为nslookup,敲入nslookup后再敲入域名如mail.mytest.com进行正向解析,敲入IP地址则进行反向解析 cmd命令: nslookup mytest.com 



 


www.mytest.com 
192.168.0.104 Exit
Ping www.mytest.com Ping www.baidu.com
可以ping通,说明一切正常。 
以上是针对邮件服务器搭建DNS服务器做的练习,谨供参考。  

<think>好的,我现在需要帮助用户解决在Ubuntu系统中查看DNS服务器配置的问题。首先,我得回想一下自己之前学过的相关知识,确保信息的准确性。用户之前可能对Linux系统不太熟悉,所以需要给出详细但不过于复杂的步骤。 首先,常见的查看DNS配置方法有哪些呢?我记得在Ubuntu中,DNS配置可以通过几个不同的地方来查看,比如网络管理工具、配置文件以及命令行工具。可能需要检查/etc/resolv.conf文件,不过现在很多系统使用systemd-resolved或者Netplan,所以这个文件可能被覆盖或者由其他服务管理。 接下来,我需要考虑不同的方法。第一种方法是使用nmcli,这是NetworkManager的命令行工具,适合大多数使用NetworkManager的系统。用户可能安装了NetworkManager,所以可以指导他们运行nmcli命令来查看DNS信息。例如,`nmcli dev show | grep DNS` 应该可以显示当前连接的DNS配置。 第二种方法是查看/etc/resolv.conf文件。不过需要注意的是,这个文件可能是由systemd-resolved管理的符号链接,直接查看可能不准确。比如,运行`ls -l /etc/resolv.conf`可以确认是否是符号链接,如果是的话,可能需要使用`systemd-resolve --status`来获取实际的DNS配置。 第三种方法是通过Netplan配置文件。Ubuntu的新版本通常使用Netplan来管理网络配置配置文件在/etc/netplan/目录下。用户可以查看这些YAML文件中的nameservers部分,不过需要提醒他们可能需要管理员权限才能查看。 另外,可能还有其他方法,比如使用resolvectl命令,这是systemd-resolved的一部分。运行`resolvectl status`可以显示当前的DNS服务器信息,这可能更直接。 需要确保步骤清晰,避免用户混淆。例如,在解释/etc/resolv.conf的时候,要说明可能存在的符号链接问题,否则用户可能会看到错误的信息。同时,对于不同的Ubuntu版本或不同的网络管理工具,方法可能有所不同,所以需要提供多种方法让用户尝试。 还需要注意命令的正确性,比如检查systemd-resolve的正确命令参数,避免拼写错误。例如,正确的命令是`systemd-resolve --status`还是`resolvectl status`?可能需要确认,因为不同的系统版本可能有不同的命令。 最后,生成相关问题时,要考虑用户可能的后续需求,比如修改DNS配置、测试DNS解析、处理DNS问题等。这样用户可以在解决问题后进一步了解如何操作。</think>### Ubuntu系统中查看DNS服务器配置方法 #### 方法1:通过NetworkManager查询(推荐) ```bash nmcli dev show | grep "DNS" ``` - 此命令显示当前活动网络接口的DNS服务器地址,适用于使用NetworkManager管理网络的系统[^1] - 示例输出: ``` IP4.DNS[1]: 8.8.8.8 IP4.DNS[2]: 8.8.4.4 ``` #### 方法2:查看系统解析配置 ```bash systemd-resolve --status | grep "DNS Servers" -A 2 ``` - 适用于使用systemd-resolved服务的系统(Ubuntu 18.04+默认安装) - 显示所有网络接口的DNS配置[^2] #### 方法3:检查/etc/resolv.conf文件 ```bash cat /etc/resolv.conf | grep nameserver ``` - 注意:该文件可能是符号链接,使用`ls -l /etc/resolv.conf`确认实际配置文件路径 - 输出示例: ``` nameserver 127.0.0.53 # systemd-resolved的本地转发 ``` #### 方法4:检查Netplan配置(适用Ubuntu 17.10+) ```bash sudo cat /etc/netplan/*.yaml | grep nameservers -A 3 ``` - 查看YAML格式的网络配置文件 - 显示静态配置DNS服务器地址
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值