dnsmasq 安装与使用指南
dnsmasqMirror of the upstream dnsmasq repository项目地址:https://gitcode.com/gh_mirrors/dns/dnsmasq
1. 项目目录结构及介绍
在 clone 下载的 dnsmasq
代码仓库中,典型的目录结构可能是这样的:
.
├── COPYING # 许可文件(GPL v2 或 v3)
├── COPYING-v3 # GPL v3 版本许可文件
├── ChangeLog # 更新日志
├── Makefile # 构建脚本
└── src # 源码目录
├── dhcp.c # DHCP 服务相关源码
├── dns.c # DNS 相关源码
├── tftp.c # TFTP 服务相关源码
└── ... # 其他源码文件和头文件
COPYING
和COPYING-v3
: 包含了 dnsmasq 的许可证信息。ChangeLog
: 列举了项目的更新历史。Makefile
: 用于编译和构建项目的主要脚本。src
: 存放所有源代码的目录,包括 DHCP、DNS 和 TFTP 等核心功能的实现。
2. 项目的启动文件介绍
通常,dnsmasq
是通过执行其编译后的二进制文件来启动的,例如 dnsmasq
或 ./dnsmasq
(取决于你的环境)。但是,实际部署时,你可能需要一个守护进程管理器(如 systemd 或 init)来管理这个服务。在这种情况下,启动文件通常是 /etc/init.d/dnsmasq
(对于 init 系统)或 /lib/systemd/system/dnsmasq.service
(对于 systemd 系统)。
要启动、停止或检查 dnsmasq
的状态,可以使用以下命令:
- 启动:
sudo systemctl start dnsmasq
或sudo service dnsmasq start
- 停止:
sudo systemctl stop dnsmasq
或sudo service dnsmasq stop
- 状态查询:
sudo systemctl status dnsmasq
或sudo service dnsmasq status
3. 项目的配置文件介绍
dnsmasq
配置主要通过其主配置文件进行,通常位于 /etc/dnsmasq.conf
。此文件允许您自定义 dnsmasq
的行为,包括设置 DNS 倾向、添加静态 DHCP 地址、指定上游 DNS 服务器等。
配置文件中的常见选项有:
domain-needed
:只有当查询包含域名时才转发。bogus-priv
:阻止对私有 IP 地址范围的 DNS 解析。server=/example.com/8.8.8.8
:将所有以example.com
开头的查询转发到 IP 8.8.8.8。dhcp-range=set:myrange,192.168.1.100,192.168.1.200,12h
:定义 DHCP 地址池。
为了应用配置更改并使它们生效,通常需要重新加载或重启 dnsmasq
服务:
- 重新加载:
sudo systemctl reload dnsmasq
或sudo service dnsmasq reload
- 重启:
sudo systemctl restart dnsmasq
或sudo service dnsmasq restart
请注意,某些发行版可能会提供额外的配置文件(如 /etc/resolv.conf
),用于设置本地 DNS 解析器的首选 DNS 服务器。确保正确地配置这些文件,以便 dnsmasq
能够正常工作。
dnsmasqMirror of the upstream dnsmasq repository项目地址:https://gitcode.com/gh_mirrors/dns/dnsmasq
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考