DNSMasq 简介
DNSMasq 是一个开源的网络管理工具,旨在为小型网络或本地区域网络(LAN)提供简便的 DNS 和 DHCP 服务器解决方案,它可以同时运行 DNS 和 DHCP 服务器,或者单独作为缓存 DNS 服务器,DNSMasq 的主要优势在于其轻量级、高效率和易于配置。
DNSMasq 的主要功能
- DNS 服务器:DNSMasq 可以作为主 DNS 服务器,解析域名到 IP 地址。
- DHCP 服务器:作为 DHCP 服务器,自动分配 IP 地址给网络中的设备。
- 缓存 DNS 服务器:可以作为缓存 DNS 服务器,提高 DNS 查询的速度。
- 网络 Bootstrap:在网络配置较为复杂的情况下,DNSMasq 可以作为动态 DNS 和 DHCP 服务器,帮助设备快速连接到网络。
安装 DNSMasq
按照以下步骤安装 DNSMasq:
- 更新软件包:
sudo apt update
- 安装 DNSMasq:
sudo apt install dnsmasq
- 启动 DNSMasq:
sudo systemctl start dnsmasq
- 启用服务:
sudo systemctl enable dnsmasq
配置 DNSMasq
- 编辑配置文件:
打开 DNSMasq 的配置文件:
sudo nano /etc/dnsmasq/dnsmasq.conf
- 设置接口:
确定要监听的网络接口:
interface=eth
如果有多个接口,需要分别配置。
- 设置域名:
为网络设置域名,
domain=example.com
- 静态 IP 地址:
为特定设备分配静态 IP:
dhcp-host=192.168.1.1,MAC地址
替换 MAC 地址和 IP 地址。
- 子网掩码和网关:
设置子网掩码和网关:
--dhcp-option=3,255.255.255. --dhcp-option=6,192.168.1.1
- 保存并退出:
按下
Ctrl + O保存配置文件。
测试 DNSMasq
- 重启服务:
重新加载 DNSMasq:
sudo systemctl restart dnsmasq
- 测试 DNS:
在终端中测试 DNS 配置:
nslookup localhost
应该返回:
localhost 127...1
- 测试 DHCP:
为设备分配 IP:
dhclient eth
检查分配的 IP 地址。
高级配置
- 缓存设置:
设置 DNS 缓存大小:
cache-size=100
- DNS 过滤:
配置 DNS 过滤规则:
--filter-no-reply=130.10.10./255.255.255.
- DNS 重写:
修改 DNS 解析结果:
--option=dns-reverse=example.com
管理和维护
- 重新加载配置:
在不重启服务的情况下,重新加载 DNSMasq:
sudo kill -USR1 dnsmasq
- 查看日志:
查看 DNSMasq 日志:
sudo journalctl -u dnsmasq
通过以上步骤,您可以轻松安装和配置 DNSMasq,作为 DNS 和 DHCP 服务器为您的网络提供高效、可靠的服务,DNSMasq 的灵活配置选项使其适用于各种网络环境,帮助您优化网络性能和管理。








