linux dns服务器配置

本文涉及的产品
云解析 DNS,旗舰版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
全局流量管理 GTM,标准版 1个月
简介:
Linuxdns服务是一个域名解析的服务
实际安装为:
1.        查看服务器上是否安装了dns服务
# rpm -qa | grep bind
bind-utils-9.3.6-16.P1.el5
bind-9.3.6-16.P1.el5
 
# rpm -qa | grep name
caching-nameserver-9.3.6-16.P1.el5
         需要有这几个rpm
2.        修改配置文件(其实细心的人会发现次文件为链接文件,具体看下文错误2
# cat /etc/named.caching-nameserver.conf
//
// named.caching-nameserver.conf
//
// Provided by Red Hat caching-nameserver package to configure the
// ISC BIND named(8) DNS server as a caching only nameserver
// (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//
// DO NOT EDIT THIS FILE - use system-config-bind or an editor
// to create named.conf - edits to this file will be lost on
// caching-nameserver package upgrade.
//
options {
        listen-on port 53 { any; };
        listen-on-v6 port 53 { ::1; };
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
 
        // Those options should be used carefully because they disable port
        // randomization
        // query-source    port 53;
        // query-source-v6 port 53;
 
        allow-query     { any; };
        allow-query-cache { any; };
};
logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};
view localhost_resolver {
        match-clients      any; };
        match-destinations { any; };
        recursion yes;
        include "/etc/named.rfc1912.zones";
};
 
把以上的localhost127.0.0.1都改成any,如果不改他只能让主机来访问。
3.        /etc/named.rfc1912.zones文件中添加一些东西
# cat /etc/named.rfc1912.zones
// named.rfc1912.zones:
//
// Provided by Red Hat caching-nameserver package
//
// ISC BIND named zone configuration for zones recommended by
// RFC 1912 section 4.1 : localhost TLDs and address zones
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//
zone "." IN {
        type hint;
        file "named.ca";
};
 
zone "localdomain" IN {
        type master;
        file "localdomain.zone";
        allow-update { none; };
};
 
zone "localhost" IN {
        type master;
        file "localhost.zone";
        allow-update { none; };
};
 
zone "0.0.127.in-addr.arpa" IN {
        type master;
        file "named.local";
        allow-update { none; };
};
 
zone "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN {
        type master;
        file "named.ip6.local";
        allow-update { none; };
};
 
zone "255.in-addr.arpa" IN {
        type master;
        file "named.broadcast";
        allow-update { none; };
};
 
zone "0.in-addr.arpa" IN {
        type master;
        file "named.zero";
        allow-update { none; };
};
zone "baidu.com" IN {

        type master;

        file "baidu.zheng";

};

         红色部分为添加的,意图为正向解析
4.        上面添加的baidu.zheng文件应该在/var/named下面配置,进入目录执行命令cp named.zero baidu.zheng,其实这个目录下面应该是链接文件,真正的文件是放在/var/named/chroot/var/named下面,copybaidu.zheng为正确的链接文件就对了,否则需要到/var/named/chroot/var/named目录下面创建,然后修改baidu.zheng文件
# cat /var/named/baidu.zheng
$TTL    86400
@               IN SOA  localhost.      root.localhost. (
                                        42              ; serial (d. adams)
                                        3H              ; refresh
                                        15M             ; retry
                                        1W              ; expiry
                                        1D )            ; minimum
        IN      NS      dns.baidu.com.
dns     IN      A       10.10.247.119

www     IN      A       10.10.247.115

后面有注释,AAddress
 
localhost.localdomain为我的主机名,主机名可以在/etc/sysconfig/network下面修改,注销后生效
5.        重启dns使之生效,service named restart
6.        测试:
# nslookup dns.baidu.com
;; Got recursion not available from 10.10.101.3, trying next server
Server:         10.10.101.8
Address:        10.10.101.8#53
 
Name:   dns.baidu.com
Address: 202.108.22.220
 
# nslookup www.baidu.com
Server:         10.10.101.3
Address:        10.10.101.3#53
 
Non-authoritative answer:
www.baidu.com   canonical name = www.a.shifen.com.
Name:   www.a.shifen.com
Address: 61.135.169.105
Name:   www.a.shifen.com
Address: 61.135.169.125
这里的错误原因是本机的dns没有更改还是用的局域网内的dns,更改dns再测试,下文的错误3,有具体解释。
                   修改后测试
                                     # nslookup dns.baidu.com
Server:         10.10.247.119
Address:        10.10.247.119#53
 
Name:   dns.baidu.com
Address: 10.10.247.119
 
# nslookup www.baidu.com
Server:         10.10.247.119
Address:        10.10.247.119#53
 
Name:   www.baidu.com
Address: 10.10.247.115
7.        配置反向解析在/etc/named.rfc1912.zones文件下面添加以下行
zone "247.10.10.in-addr.arpa" IN {
        type master;
        file "baidu.fan";
};
         我的ip10.10.247网段的,所以黄色部分应该那样写,ip倒过来写
8.        拷贝文件cp /var/named/baidu.zheng /var/named/baidu.fan,如果拷贝后为链接文件就是对的,否则应该拷贝到/var/named/chroot/var/named,然后修改baidu.fan文件:
# cat baidu.fan
$TTL    86400
@       IN      SOA     localhost. root.localhost.  (
                                      1997022700 ; Serial
                                      28800      ; Refresh
                                      14400      ; Retry
                                      3600000    ; Expire
                                      86400 )    ; Minimum
        IN      NS      baidu.com.
119     IN      PTR     dns.baidu.com.

115     IN      PTR     www.baidu.com.

                   红色部分为修改文件,前面的119   115ip最后一位

9.        重启dns使之生效service named restart,然后执行命令nslookup 10.10.247.119
                            # nslookup 10.10.247.119
Server:         10.10.247.119
Address:        10.10.247.119#53
 
119.247.10.10.in-addr.arpa      name = dns.baidu.com.
 
# nslookup 10.10.247.115
Server:         10.10.247.119
Address:        10.10.247.119#53
 
115.247.10.10.in-addr.arpa      name = www.baidu.com.                 
 
 
报错 1.

# service named restart
停止 named[确定]
启动 named
named配置错误::
zone localdomain/IN: loaded serial 42
zone localhost/IN: loaded serial 42
zone 0.0.127.in-addr.arpa/IN: loaded serial 1997022700
zone 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa/IN: loaded serial 1997022700
zone 255.in-addr.arpa/IN: loaded serial 42
zone 0.in-addr.arpa/IN: loaded serial 42
dns_rdata_fromtext: baidu.zheng:9: near '10.10.247.119.': bad dotted quad
dns_rdata_fromtext: baidu.zheng:10: near '10.10.247.115.': bad dotted quad
zone baidu.com/IN: loading master file baidu.zheng: bad dotted quad
localhost_resolver/baidu.com/IN: bad dotted quad
[失败]
配置正向解析的时候有这个报错,后来反复测试发现在baidu.zheng文件中应该注意
 
# cat baidu.zheng
$TTL    86400
@               IN SOA  localhost.      root.localhost. (
                                        42              ; serial (d. adams)
                                        3H              ; refresh
                                        15M             ; retry
                                        1W              ; expiry
                                        1D )            ; minimum
        IN      NS      baidu.com.
dns     IN      A       10.10.247.119.
www     IN      A       10.10.247.115.
ip后面的.应该去掉,做事情应该认真。
报错 2. 启动失败提示找不到文件**,一定要认准真正的目录在哪里,我这就犯了个这个问题,其实默认应该是在/var/named/下面创建向上文说的baidu.zhengbaidu.fan,但是细心的人会发现ll看一下
# ll
总计 52
drwxr-x--- 6 root  named 4096 02-14 22:28 chroot
drwxrwx--- 2 named named 4096 2011-02-23 data
lrwxrwxrwx 1 root  named   45 2011-11-20 localdomain.zone -> /var/named/chroot//var/named/localdomain.zone
lrwxrwxrwx 1 root  named   43 2011-11-20 localhost.zone -> /var/named/chroot//var/named/localhost.zone
lrwxrwxrwx 1 root  named   44 2011-11-20 named.broadcast -> /var/named/chroot//var/named/named.broadcast
lrwxrwxrwx 1 root  named   37 2011-11-20 named.ca -> /var/named/chroot//var/named/named.ca
lrwxrwxrwx 1 root  named   44 2011-11-20 named.ip6.local -> /var/named/chroot//var/named/named.ip6.local
lrwxrwxrwx 1 root  named   40 2011-11-20 named.local -> /var/named/chroot//var/named/named.local
lrwxrwxrwx 1 root  named   39 2011-11-20 named.zero -> /var/named/chroot//var/named/named.zero
drwxrwx--- 2 named named 4096 2011-02-23 slaves
                  
文件都是链接文件,真正的文件在/var/named/chroot/var/named下面,在这个目录先买年创建文件,可以正常启动,不知道为什么都是链接文件,也许是我安装了rpm包然后卸载又重新安装的原因,或者他就是这样这样配置的,没有详细研究,根据个人配置而定。
报错 3. 解析不了,提示:
                   正向解析,反向解析都不行,随便举个例子:
                   # nslookup 10.10.247.119
;; Got recursion not available from 10.10.101.8, trying next server
Server:         10.10.101.3
Address:        10.10.101.3#53
 
** server can't find 119.247.10.10.in-addr.arpa.: NXDOMAIN               
                  
 
看一下本机的dns
cat /etc/resolv.conf
; generated by /sbin/dhclient-script
search domain
nameserver 10.10.101.3
nameserver 10.10.101.8
 
         我本地的dns服务器分别为10.10.101.310.10.101.8,所以他是跑去解析局域网内的dns服务器了,这是因为本机的dns默认是局域网内的,把dns修改成本地的即10.10.247.119即可。
                           
报错 4.

         有时候解析不了,错误提示:
                            # nslookup www.baidu.com
;; connection timed out; no servers could be reached
这个的原因是文件所属问题,
                            # ll baidu.zheng
-rw-r----- 1 root root 477 02-14 23:48 baidu.zheng
把这里的百度所属改成namedchown :named baidu.zheng重启,问题解决
                           

本文转自gaofeng36599 51CTO博客,原文链接:http://blog.51cto.com/786678398/722830
相关文章
|
7天前
|
安全 Linux 开发工具
【Linux】vim使用与配置教程
Vim是一款功能强大的文本编辑器,广泛应用于Linux环境,是开发者和系统管理员的必备工具。本文介绍了Vim的基本操作与简单配置,涵盖命令模式、插入模式和底行模式的使用方法,以及光标定位、复制粘贴、搜索替换等常用技巧。同时,文章还提供了实用的分屏操作和代码注释方法,并分享了通过`.vimrc`文件进行个性化配置(如显示行号、语法高亮、自动缩进等)的技巧,帮助用户提升文本编辑效率。掌握这些内容,能让Vim更好地服务于日常工作与开发需求。
40 3
|
9天前
|
Java Linux 应用服务中间件
在Rocky Linux 9上安装JDK并配置环境变量!
本教程介绍在Rocky Linux 9上安装JDK并配置环境变量的完整步骤。首先更新系统,清理旧版本JDK相关包及残留文件,确保环境干净。接着搜索并安装所需版本的JDK(如OpenJDK 17),验证安装是否成功。然后查找JDK安装路径,配置全局环境变量`JAVA_HOME`和`PATH`,最后验证环境变量设置。按照此流程操作,可顺利完成Java开发环境搭建,支持多版本切换(如JDK 8/11/17)。生产环境请谨慎操作,避免影响现有服务。
59 21
|
1月前
|
域名解析 网络协议 Ubuntu
DHCP与DNS的配置
通过这些步骤,您可以在Linux环境下成功配置和验证DHCP和DNS服务。希望这些内容对您的学习和工作有所帮助。
112 27
|
1月前
|
Java 数据库 开发者
详细介绍SpringBoot启动流程及配置类解析原理
通过对 Spring Boot 启动流程及配置类解析原理的深入分析,我们可以看到 Spring Boot 在启动时的灵活性和可扩展性。理解这些机制不仅有助于开发者更好地使用 Spring Boot 进行应用开发,还能够在面对问题时,迅速定位和解决问题。希望本文能为您在 Spring Boot 开发过程中提供有效的指导和帮助。
85 12
|
1月前
|
Linux Shell
问题记录:解决Linux登录故障,/etc/passwd配置受损该怎么操作
修复/etc/passwd文件是解决Linux登录故障的重要步骤。通过进入单用户模式、挂载文件系统、恢复或手动修复/etc/passwd文件,可以有效解决该问题。保持定期备份系统配置文件是预防此类问题的最佳实践。
62 13
|
1月前
|
Linux Shell
问题记录:解决Linux登录故障,/etc/passwd配置受损该怎么操作
修复/etc/passwd文件是解决Linux登录故障的重要步骤。通过进入单用户模式、挂载文件系统、恢复或手动修复/etc/passwd文件,可以有效解决该问题。保持定期备份系统配置文件是预防此类问题的最佳实践。
61 5
|
1月前
|
存储 人工智能 并行计算
2025年阿里云弹性裸金属服务器架构解析与资源配置方案
🚀 核心特性与技术创新:提供100%物理机性能输出,支持NVIDIA A100/V100 GPU直通,无虚拟化层损耗。网络与存储优化,400万PPS吞吐量,ESSD云盘IOPS达100万,RDMA延迟<5μs。全球部署覆盖华北、华东、华南及海外节点,支持跨地域负载均衡。典型应用场景包括AI训练、科学计算等,支持分布式训练和并行计算框架。弹性裸金属服务器+OSS存储+高速网络综合部署,满足高性能计算需求。
|
2月前
|
网络协议 Unix Linux
深入解析:Linux网络配置工具ifconfig与ip命令的全面对比
虽然 `ifconfig`作为一个经典的网络配置工具,简单易用,但其功能已经不能满足现代网络配置的需求。相比之下,`ip`命令不仅功能全面,而且提供了一致且简洁的语法,适用于各种网络配置场景。因此,在实际使用中,推荐逐步过渡到 `ip`命令,以更好地适应现代网络管理需求。
73 11
|
2月前
|
存储 运维 安全
深入解析操作系统控制台:阿里云Alibaba Cloud Linux(Alinux)的运维利器
本文将详细介绍阿里云的Alibaba Cloud Linux操作系统控制台的功能和优势。
127 6
|
3月前
|
Ubuntu Unix Linux
Linux网络文件系统NFS:配置与管理指南
NFS 是 Linux 系统中常用的网络文件系统协议,通过配置和管理 NFS,可以实现跨网络的文件共享。本文详细介绍了 NFS 的安装、配置、管理和常见问题的解决方法,希望对您的工作有所帮助。通过正确配置和优化 NFS,可以显著提高文件共享的效率和安全性。
382 7

相关产品

  • 云解析DNS