Skip to main content

Linux Dnsmasq 服务配置

1. Dnsmasq 简介

Dnsmasq 是一款轻量级的 DNS 缓存服务器和 DHCP 服务工具。它适用于小型网络,可以有效减少 DNS 查询延迟,同时支持基本的 DHCP 配置管理。

主要功能

  • 本地 DNS 缓存,加速域名解析
  • 提供 DHCP 服务,自动分配 IP 地址
  • 支持自定义的主机解析规则

适用场景

  • 本地网络加速和管理
  • 小型网络的 DNS 和 DHCP 配置

2. 安装 Dnsmasq

2.1 安装软件包

在常见的 Linux 发行版上安装 dnsmasq

# Debian/Ubuntu
sudo apt update && sudo apt install dnsmasq -y

# CentOS/RHEL
sudo yum install dnsmasq -y

# Fedora
sudo dnf install dnsmasq -y

2.2 启动和查看服务状态

sudo systemctl start dnsmasq
sudo systemctl enable dnsmasq # 设置开机自启
sudo systemctl status dnsmasq

3. Dnsmasq 配置

Dnsmasq 的配置文件路径通常是 /etc/dnsmasq.conf,可以通过编辑该文件来调整服务设置。

3.1 配置本地 DNS 缓存

  1. 打开配置文件:

    sudo nano /etc/dnsmasq.conf
  2. 添加或修改以下内容:

    # 启用 DNS 缓存
    cache-size=1000

    # 指定上游 DNS 服务器
    server=8.8.8.8
    server=8.8.4.4

    # 配置本地域名解析
    address=/local/192.168.1.1
  3. 重启服务使配置生效:

    sudo systemctl restart dnsmasq

3.2 配置 DHCP 服务

  1. 编辑 /etc/dnsmasq.conf 文件,添加以下内容:

    # 启用 DHCP 服务并定义范围
    dhcp-range=192.168.1.100,192.168.1.200,12h

    # 为特定设备保留固定 IP 地址
    dhcp-host=AA:BB:CC:DD:EE:FF,192.168.1.50
  2. 保存并重启服务:

    sudo systemctl restart dnsmasq

4. 验证配置

4.1 测试 DNS 解析

在客户端设备上运行以下命令测试 DNS:

nslookup www.google.com <Dnsmasq服务器IP>

4.2 测试 DHCP 分配

断开并重新连接客户端设备的网络,检查是否成功获取 IP 地址:

ip a

5. 常用命令

操作命令说明
启动服务sudo systemctl start dnsmasq启动 Dnsmasq 服务
停止服务sudo systemctl stop dnsmasq停止 Dnsmasq 服务
重启服务sudo systemctl restart dnsmasq应用新的配置
查看日志journalctl -u dnsmasq检查服务运行日志
检查端口`sudo netstat -tulngrep 53`
测试配置sudo dnsmasq --test测试配置文件是否正确

6. 优化与安全建议

  • 限制访问范围:通过防火墙限制只有可信设备能访问 dnsmasq 服务。
  • 定期清理缓存:使用 systemctl restart dnsmasq 定期刷新 DNS 缓存。
  • 启用日志功能:在配置文件中启用详细日志,方便排查问题:
    log-queries
    log-facility=/var/log/dnsmasq.log

总结 🌟

通过 Dnsmasq,你可以轻松搭建高效的本地 DNS 和 DHCP 服务,提升网络管理的灵活性。试着部署一下,感受它的强大功能吧!🚀

希望这篇教程帮助你配置并使用 Dnsmasq!别忘了收藏 在线知识库www.zxzsk.com )哦!😊