概述
事情是这样的,我想在阿里云上搭建一个dns服务器,没错就是吃空了,在阿里云上搭建一个本地的dns服务器,安装好之后发现不能ping域名了,难道是dns服务器的问题,换成114的dns也没有用,后来终于找到解决的方法了
操作
首先看下我的配置文件
resolv-file=/etc/resolv.conf
strict-order
listen-address=47.100.210.53
address=/hello.bboysoul.com/198.13.55.44
没错我加了这个resolv-file=/etc/resolv.conf
也就是说的我的上游dns服务器地址应该是存在这个文件里面的,之后查看这个文件
#Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 127.0.0.1
options timeout:2 attempts:3 rotate single-request-reopen
这就是问题所在了,之后我们修改我们本机的dns服务器地址
vim /etc/resolvconf/resolv.conf.d/head
nameserver 47.100.210.53
nameserver 114.114.114.114
有人说ubuntu16.04是修改下面这个文件才可以修改dns服务器地址的,反正我是没有成功过,你们看着办
vim /etc/resolvconf/resolv.conf.d/base
但是绝对不能编辑下面这个文件,因为一旦重启网络,这个文件会被重写
vim /etc/resolv.conf
之后我们重启网络
systemctl restart networking
重启dnsmasq
systemctl restart dnsmasq
其实貌似直接重启dnsmasq就可以,因为重启这个貌似会直接重启网络的
如果你碰到同样ping不通主机的问题,但是我的方法没有帮助到你,那么也许下面是你的问题所在
第二种情况
首先看下这个进程是怎么启动的
╭─root@bboysoul-aliyun ~
╰─➤ ps -ef |grep dnsmasq
dnsmasq 19842 1 0 17:02 ? 00:00:00 /usr/sbin/dnsmasq -x /var/run/dnsmasq/dnsmasq.pid -u dnsmasq -r /var/run/dnsmasq/resolv.conf -7 /etc/dnsmasq.d,.dpkg-dist,.dpkg-old,.dpkg-new --local-service --trust-anchor=.,19036,8,2,49aac11d7b6f6446702e54a1607371607a1a41855200fd2ce1cdde32f24e8fb5 --trust-anchor=.,20326,8,2,e06d44b80b8f1d39a95c0b0d7c65d08458e880409bbc683457104237c7f8ec8d
root 20371 20335 0 21:03 pts/1 00:00:00 grep --color=auto --exclude-dir=.bzr --exclude-dir=CVS --exclude-dir=.git --exclude-dir=.hg --exclude-dir=.svn dnsmasq
你可以看到上面这么一段
-r /var/run/dnsmasq/resolv.conf
看下上面这个文件的路径和内容,如果不行那么修改下面这个文件,忽略掉上面这个文件之后重启dnsmasq
vim /etc/default/dnsmasq
取消下面这行注释
IGNORE_RESOLVCONF=yes
之后手动指定上游dns服务器也就是dnsmasq的配置文件vim /etc/dnsmasq.conf
加上下面这行
resolv-file=/etc/resolv.conf
之后就是重复我上面第一种情况的操作了
欢迎关注我的博客www.bboy.app
Have Fun