需要在阿里云vpc里配置一台dns服务器,使用dnsmasq,安装一切妥当,按照文章配置内网服务器域名,一切看起来都挺顺。
就在dig baidu.com的时候出了问题。居然没有answer section,而内网服务器一切正常。
谷歌,百度各种文章,发工单问是不是阿里云做了什么限制,均无果。
最后在某篇文章启发下去找日志,默认是不开日志的,日志的位置也很诡异,在syslog里。
通过日志发现,dnsmasq没有使用我配置的源dns服务器,通过ps -ef | grep dns看到dnsmasq默认使用文件/var/run/dnsmasq/resolv.conf作为上游名字服务列表文件,然而这个文件是空的,dnsmasq在没有源dns时返回refuse
即dig里没有answer section。
其实也是我没自习看dig的返回信息,看到status:refuse解决这个问题就会少走很多弯路。
知道问题所在就好办了,直接修改这个/var/run/dnsmasq/resolv.conf可以,修改默认环境变量屏蔽这个文件也可以。
在这说说我猜这个坑的由来,其实我在其他vps上试是没有问题的,同样的ubuntu14.04,同样的版本,同样的大小,效果就不同
/var/run/dnsmasq/resolv.conf这个文件其实是桌面版ubuntu的network-manager使用的,可是阿里云都应该是服务器版啊
是阿里云镜像有问题,还是偷懒把桌面源给了服务器,不得而知,可以预计同样的坑还会有不少,以后多加小心。