Linux Mac

发布于 更新于

AI总结: 本文介绍了dnsmasq的安装、配置、常见功能及使用场景。dnsmasq是一个轻量级的DNS转发和DHCP服务器工具,适用于本地DNS解析和网络管理。用户可以在不同操作系统上安装dnsmasq,并通过配置文件进行灵活的设置,例如自定义域名解析、启用DHCP、缓存设置等。此外,提供了启动与测试服务的步骤以及常用参数的说明,最后还列出了典型的应用场景。 优化建议: 1. 在安装部分,可以添加对不同版本的Linux系统的兼容性说明。 2. 配置示例可以提供更多的注释,以帮助用户理解每个配置项的作用。 3. 在常见功能与场景中,增加一些实际应用的案例,以便用户更好地理解和应用。 4. 提供更详细的日志与调试部分的说明,帮助用户在遇到问题时进行排查。 5. 可以增添一些安全性建议,例如如何保护dnsmasq服务不被外部访问。

DNSMASQ 使用记录

dnsmasq 是一个轻量级、灵活的 DNS 转发和 DHCP 服务器工具,常用于本地 DNS 解析、网络管理、代理 DNS 请求或自定义域名映射。以下是其核心功能和使用方法:


1. 安装 dnsmasq

在 Linux 上安装

在 macOS 上安装

通过 Homebrew 安装:

brew install dnsmasq

在 Windows 上

DNSMASQ 本身是 Linux 工具,但可通过 Windows Subsystem for Linux (WSL) 或替代工具(如 dnscrypt-proxy)实现类似功能。


2. 配置文件

默认配置文件路径:

基础配置示例

listen-address=127.0.0.1
log-queries
log-facility=/var/log/dnsmasq.log
 
# 设置上游 DNS(默认会使用系统配置)
server=8.8.8.8    # Google Public DNS
server=1.1.1.1    # Cloudflare DNS

# 自定义域名解析(静态映射)
address=/example.com/192.168.1.100
address=/api.example.com/192.168.1.101
address=/test.example.com/192.168.1.102

# 允许多 IP 映射(同一域名指向多个 IP)
address=/multi-ips.com/192.168.1.200,192.168.1.201

# 读取 hosts 文件(可叠加 hosts 配置)
addn-hosts=/path/to/custom-hosts

# 启用 DHCP(如果需要)
interface=eth0      # 绑定的网络接口
dhcp-range=192.168.1.100,192.168.1.200,255.255.255.0,12h

# 缓存设置(加快重复查询)
cache-size=1000     # 缓存大小

3. 常见功能与场景

场景 1:自定义域名解析

场景 2:多 IP 负载均衡

场景 3:代理部分请求到指定 DNS

场景 4:启用 DHCP


4. 启动与测试

启动服务

设置 DNS 客户端

将本地设备的 DNS 配置为 dnsmasq 的 IP(通常是 127.0.0.1 或局域网 IP):

测试 DNS 解析

# 查看解析结果
nslookup example.com 127.0.0.1

# 或使用 dig
dig @127.0.0.1 example.com

5. 常用参数说明

参数 说明
server 配置上游 DNS 服务器(支持条件匹配,如 server=/domain.com/8.8.8.8)。
address=/domain.com/1.2.3.4 domain.com 解析到指定 IP。
addn-hosts=/path/to/hosts 读取额外的 hosts 文件(可叠加多个)。
no-resolv 禁用 /etc/resolv.conf 中的默认 DNS 配置。
listen-address=127.0.0.1 指定监听的 IP 地址(默认仅本地)。
dhcp-range 配置 DHCP 地址池(适用于局域网服务器)。

6. 日志与调试


7. 典型应用场景


相关链接

  1. dnsmasq 官方文档