dnsmasq 是一个开源的 DNS 和 DHCP 服务器工具,主要用于提供网络服务。以下是使用 dnsmasq 的基本方法和步骤

35771599dd 2026-09-18 AstrillVPN 4 0

安装 dnsmasq

方法 1:在 Ubuntu/Debian 系统中安装

sudo apt-get update
sudo apt-get install dnsmasq

方法 2:在 CentOS/RHEL 系统中安装

sudo yum install dnsmasq

方法 3:在 Windows 系统中安装

在 Windows 系统中,可以通过 Wget 下载并运行安装脚本:

wget https://github.com/dnsmasq/dnsmasq/releases/download/v2.76/dnsmasq-2.76-win32 Setup.exe
双击运行安装脚本进行安装。

配置 dnsmasq

启用 DHCP 和 DNS

编辑配置文件:

sudo nano /etc/dnsmasq.conf

在文件末尾添加以下内容:

interface=eth
dhcp-range=192.168.1./24,192.168.1.255,255.255.255.,24h
domain=example.com

保存并退出编辑器:

Ctrl + O  # 保存
Ctrl + X  # 退出

启动 dnsmasq

sudo dnsmasq -C /etc/dnsmasq.conf -h

使用 dnsmasq 作为 DNS 和 DHCP 服务器

作为 DNS 服务器

sudo dnsmasq -C /etc/dnsmasq.conf

作为 DHCP 服务器

sudo dnsmasq -C /etc/dnsmasq.conf --dhcp

动态配置

如果希望动态更新 DNS 记录,可以使用以下选项:

sudo dnsmasq -C /etc/dnsmasq.conf --dhcp --dynamic

测试配置

测试 DNS 配置

使用 nslookupdig 命令来测试 DNS 配置:

nslookup www.example.com

测试 DHCP 配置

查看 DHCP租约:

sudo dhclient -v eth

管理 dnsmasq 服务

启动服务

sudo systemctl start dnsmasq

停止服务

sudo systemctl stop dnsmasq

重启服务

sudo systemctl restart dnsmasq

设置开机启动

sudo systemctl enable dnsmasq

高级配置

设置 TTL

在配置文件中添加 TTL:

tftp-timeout=60

日志配置

设置日志级别:

log-dnsmasq= info

防火墙设置

确保防火墙允许 DNS 和 DHCP 传输:

sudo ufw allow 53
sudo ufw allow 67

故障排除

权限问题

确保运行 dnsmasq 有足够的权限:

sudo chown -R dnsmasq:dnsmasq /etc/dnsmasq.conf

端口占用

检查端口 53 和 67 是否被占用:

sudo netstat -tuln | grep 53
sudo netstat -tuln | grep 67

DNS 解析问题

DNS 解析不正确,检查 /etc/resolv.conf 文件是否正确配置。

dnsmasq 是一个强大的工具,可以轻松配置和管理 DNS 和 DHCP 服务,通过以上步骤,您可以快速搭建一个功能强大的网络服务服务器。

dnsmasq 是一个开源的 DNS 和 DHCP 服务器工具,主要用于提供网络服务。以下是使用 dnsmasq 的基本方法和步骤

扫码添加AstrillVPN官网微信

扫码添加AstrillVPN官网微信

029-8826-4715
扫码添加AstrillVPN官网微信

扫码添加AstrillVPN官网微信

网站地图