1.技术菜不懂SELinux配置策略规则索性改成Permissive(宽容)
命令:setenforce 0
或者永久修改
用你喜欢的编辑器打开/etc/selinux/config文件找到这一行修改成:SELINUX=permissive
SELinux三种模式:
Enforcing强制— SELinux 策略强制执行,基于 SELinux 策略规则授予或拒绝主体对目标的访问
Permissive 宽容— SELinux 策略不强制执行,不实际拒绝访问,但会有拒绝信息写入日志
Disabled 禁用— 完全禁用 SELinux
2.开放防火墙端口
dnsmasq默认端口是53。懒得修改就默认
firewall-cmd --zone=public --add-port=53/tcp --permanent
firewall-cmd --zone=public --add-port=53/udp --permanent
3.配置/etc/dnsmasq.conf
先备份一下
然后在dnsmasq.conf文件末尾添加:
#修改/etc/dnsmasq.conf
#配置hosts
addn-hosts=/etc/hosts_ex
#上游DNS路径
resolv-file=/etc/resolv.conf
#取消strict-order注释
strict-order
#监听地址,改成自己服务器公网IP
listen-address=192.168.x.1xx,127.0.0.1 #xx代表当前服务器地址
#192.168.x.1xx指的是本机在局域网中的IP地址,顺序要在前面
提示: 查看配置文件语法是否正确,可执行下列命令:
dnsmasq --test
4.编辑/etc/resolv.conf
添加以下两行:
nameserver 127.0.0.1 #最重要
nameserver 192.168.3.1 #路由器地址
resolv.conf重启后会被还原,把这个文件的属性设置为只追加
chattr +i /etc/resolv.conf
5.编辑addn-hosts指向的文件host
dnsmasq配置了addn-hosts指向/etc/hosts_ex这个文件
那么编辑hosts_ex文件
6.编辑客户端的DNS地址
#192.168.x.1xx
参考资料:
https://wiki.archlinux.org/index.php/Dnsmasq_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)