系统环境:
虚拟机A eth0 192.168.20.3/24 网关与dns都写192.168.20.2
B网关+DNS eth1 192.168.20.2/24 eth0 192.168.247.128 网关写192.168.247.2
C也就是主机, 虚拟机端口为192.168.247.2/24
要求在centos5中开启 ip forward功能,做单纯的 cache-only DNS 服务器与 forwarding 功能
启动dns服务:
 
复制代码 代码示例:
service bind start
 
报错,少了一个caching。
安装:yum list | grep caching*  查看这个程序,并安装上 yum install caching*
启动:
 
复制代码 代码示例:
service named start
 
报错,/etc/named.conf 错误
原因是缺少/etc/named.conf文件,将该文件配置好,加入进来。
 vim /etc/named.conf
 
复制代码 代码示例:
// 在预设的情况下,这个档案会去读取 /etc/named.rfc1912.zones 这个领域定义档
// 所以请记得要修改成底下的样式啊!
options {
        listen-on port 53  { any; };     //可不设定,代表全部接受
        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";
        allow-query        { any; };     //可不设定,代表全部接受
        recursion yes;                   //将自己视为客户端的一种查询模式
        forward only;                    //可暂时不设定
        forwarders {                     //是重点!
                192.168.247.2;           //用虚拟主机的主机当上层
        };
};  //最终记得要结尾符号!
再次启动name服务:
 
复制代码 代码示例:
service named start
 
可以正常启动了。
用虚拟机A通过虚拟机B(网关+DNS)可以直接ping www.sina.com等域名,返回相关IP地址。
有点简单,有点乱,仅供遇到类似问题的朋友作个参考。
在linux中用bind架设dns服务,是相当不错的。