Dnsmasq
📮 返回服务页
1. 前言
DNSmasq是一个小巧且方便地用于配置DNS和DHCP的工具,适用于小型网络,它提供了DNS功能和可选择的DHCP功能。
它是DHCP服务器和DNS服务器结合,并允许DHCP分配的地址能在DNS中正常解析,而这些DHCP分配的地址和相关命令可以配置到每台主机中,也可以配置到一台核心设备中(比如路由器)
DNSmasq支持静态和动态两种DHCP配置方式。
2. 安装
检查
检查系统是否已经安装服务:
rpm -qa | grep -i dnsmasq
安装
安装服务
yum install -y dnsmasq
配置
文件
修改配置文件:
vi/vim /etc/named.conf
dns上游服务器【转发器】配置文件的路径(默认注释,不配置默认用resolv.conf的dns服务器)
resolv-file=[配置文件路径]按照resolv-file配置的dns从上往下进行指派解析(默认注释)
strict-order此文件中dnsmasq的ip和域名
addn-hosts=[配置文件路径]监听地址,可以写本机IP,dhcp网关地址,可写多个,用逗号分隔
listen-address=[IP地址]强制解析域名(可以写多个,即使host不配置,此处也会解析)
address=/域名/IP地址
修改dns上游服务器配置文件:
vim [配置文件路径]
nameserver [上游服务器IP地址]
修改dnsmasq解析的配置文件:
vim [配置文件路径]
[域名IP地址] [域名]
注:此文件配置相当于配置了正反向解析。
本机 DNS 服务器地址:
vim /etc/resolv.conf
nameserver [DNS服务器IP]
3. 启动
端口
启动之前先查看端口是否占用:
netstat -aunpt | grep 【端口号】
防火墙
开放服务:
firewall-cmd --zone=public --add-service=dns --permanent
firewall-cmd --reload
关闭安全子系统:
vi /etc/sysconfig/selinux => SELINUX=disabled
or
vi /etc/selinux/config => SELINUX=disabled
setenforce 0
注:此命令将 selinux 设置成 permissive 模式,即临时关闭
启动
启动:
systemctl start dnsmasq #启动服务
systemctl enable dnsmasq #开机自启动服务
如更新配置文件,需重启服务:
systemctl restart dnsmasq