Chinaunix首页 | 论坛 | 博客
  • 博客访问: 564647
  • 博文数量: 211
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1480
  • 用 户 组: 普通用户
  • 注册时间: 2018-03-07 14:59
文章分类
文章存档

2019年(161)

2018年(50)

我的朋友

分类: 系统运维

2018-12-29 20:16:23

公司内部使用的一台使用 Bind做的DNS服务器,上面跑着一个域名(abc.com),一直运行的好好的。今天又要添加一个域名,不就是把配置文件复制一份,然后在主配置文件中添加一个域就好了。配置如下:

one    "def.com" {
    type    master;
    file    "/etc/bind/def.com.hosts";
};
$ttl 38400                                                                                                                                        
@       IN      SOA     ns.def.com.   admin.def.com. (
                        1243951711
                        10800
                        3600
                        604800
                        38400 )
@               IN  NS  ns
ns              IN  A   172.16.17.10
file            IN  A   172.16.20.12
live-mng        IN  A   172.16.20.13
photo_mng       IN  A   172.16.20.14

然后进行语法检查也没有报错,然后重启服务也是成功的。

但是进行dig的时候,def.com下的域名都无法解析,但是abc.com下的域名都正常运行。难道是不支持多域名解析,显然不是这样的。

反正经过一段时间的折腾,发现竟然是photo_mng.def.com这个域名导致的无法解析,注意看了,photo_mng.def.com这个域名使用了下划线,Bind默认是不支持下划线域名解析的(支持-线),但是比较坑爹的是它没有任何提示信息,也不会报错,就是无法解析,妈蛋。

当然了,解决办法也是有的,那就是如果一定要用下划线,可以取消check-names。

有两种方法:

一、在/etc/resolv.conf加入options no-check-names

二、主配置域中添加check-names ignore参数

zone    "def.com" {
    type    master;
    file    "/etc/bind/def.com.hosts";
    check-names ignore;
};
阅读(1629) | 评论(0) | 转发(0) |
0

上一篇:rsync的基本操作

下一篇:Docker基本操作

给主人留下些什么吧!~~