本人使用的是centos7的yum源,使用ip:172.16.9.90
1、执行以下命令安装Dnsmasq:
[root@master /]# yum install dnsmasp -y
注:没有yum的请先替换yum源,可参考本人另一篇配置yum源。
2、启动Dnsmasq【可在Dnsmasq配置结束后再启动】
[root@master /]# service dnsmasq start
Starting Dnsmasq: [OK]
注:以上是centos6的启动方式,如果是centos7的话会提示你:Redirecting to /bin/systemctl start dnsmasq.service,所以centos7可以使用如下命令进行启动、停止、状态查看
[root@master /]# /bin/systemctl start dnsmasq.service
[root@master /]# /bin/systemctl stop dnsmasq.service
[root@master /]# /bin/systemctl status dnsmasq.service
1、Dnsmasq的配置文件是放在/etc/dnsmasq.conf
中。
① 打开编辑,配置:resolv-file=/etc/resolv.dnsmasq.conf,表示dnsmasq会从这个指定的文件中寻找上游dns服务器。
② 取消strict-order前面的注册#号。
③ 检查一下no-hosts前面是不是有#号,默认是有的,表示dnsmasq会首先寻找本地的hosts文件,再去寻找魂村下来的域名,最后去上游dns服务器寻找。
④ 设置:listen-address=172.16.9.90,127.0.0.1;如果只有127.0.0.1表示这个dnsmasq本机自己使用有效;如果想让本机所在的局域网的其他电脑也能够使用Dnsmasp,需要把本机的局域网IP加上去、
⑤ 修改:addn-hosts=/etc/dnsmasq.hosts
⑥ 添加日志路径:log-facility=/var/log/dnsmasq.log 【如果出现没有权限读取的错误,请更换目录】
2、使用如下命令创建配置文件
[root@master /]# cp /etc/resolv.conf /etc/resolv.dnsmasq.conf
[root@master /]# cp /etc/hosts /etc/dnsmasq.hosts
注:自行在/etc/dnsmasq.hosts文件中添加上游域名服务器,如:nameserver 8.8.8.8
3、修改当前服务器的,dns域名服务器,指定自建的dnsmasq服务器ip
[root@master /]# echo 'nameserver 172.16.9.90' /etc/resolv.conf
4、设置dnsmasq开机启动,重启dnsmasq服务
[root@master /]# systemctl enable dnsmasq
[root@master /]# /bin/systemctl stop dnsmasq.service
[root@master /]# /bin/systemctl status dnsmasq.service
· dnsmasq.service -DNS caching server.
Loaded: loaded(/usr/lib/systemd/system/dnsmasq.service; enabled; vendor preset: disabled)
Active: active (running) since Wed 2020-08-19 19:5017 CST; 1min 26s ago
Main PID:23759(dnsmasq)
CGroup: /system.slice/dnsmasq.service
|_23759 /usr/sbin/dnsmasq -k
Aug 19 17:50:07 navmaster systemd[1]: Started DNS caching server..
Aug 19 17:50:07 navmaster systemd[1]: Started DNS caching server..
Aug 19 17:50:07 navmaster systemd[23759]: started, version 2.76 cachesize 150
Aug 19 17:50:07 navmaster systemd[23759]: compile time options: IPv6 GNU-getopt DBus no-i18n IDN DHCP DHCPv6 no-lua TFTP no-conntrack ipset auth no-DNSSEC loop-detect inotify
Aug 19 17:50:07 navmaster systemd[23759]: reading /etc/resolv.dnsmasq.conf
Aug 19 17:50:07 navmaster systemd[23759]: using nameserver 172.16.40.14#53
Aug 19 17:50:07 navmaster systemd[23759]: ignoring nameserver 127.0.0.1 -local interface
Aug 19 17:50:07 navmaster systemd[23759]: read /etc/hosts - 5 addresses
Aug 19 17:50:07 navmaster systemd[23759]: read etc/dnsmasq.hosts -5 addressses
5、使用命令查看Dnsamasq是否正常启动
[root@master /]# netstat -tunlp|grep 53
tcp 0 0.0.0.0.0:53 0.0.0.0:* LISTEN 23759/dnsmasq
tcp6 0 0 :::53 :::* LISTEN 23759/dnsmasq
udp 0 0 0.0.0.0:53 0.0.0.0:* 23759/dnsmasq
udp 0 0 0.0.0.0:33534 0.0.0.0:* 23759/dnsmasq
udp6 0 0 :::53 :::* 23759/dnsmasq
6、防火墙上添加dns许可
[root@master /]# firewall-cmd --permanent --add-service=dns
[root@master /]# firewall-cmd --reload
注:或者直接将防火墙关闭,详见:https://blog.csdn.net/qq_35971258/article/details/79318842