我有一个 Edgerouter 4,我试图理解 DHCP 和 DNS 的配置区域,何时use-dnsmasq enable
设置。
我看到可以进行配置的四个地方:
从命令行(
set service dns forwarding ...
似乎是提供 DNS 参数的方式(但不是 DHCP?))通过编辑(编辑:副本)
/config/config.boot
并加载它
这两个似乎紧密联系在一起,命令行配置似乎被写入/config/config.boot
通过配置
/etc/dnsmasq.conf
通过将文件添加到
/etc/dnsmasq.d
配置遵循dnsmasq
配置文件,我/etc/dnsmasq.d/dnsmasq-dhcp-config.conf
有为我创建的文件。
注意:我非常喜欢/etc/dnsmasq.conf
像今天一样将所有内容都注释掉的方法,并将我所有的 DNS 和 DHCP cpnfiguration 文件保存在/etc/dnsmasq.d
. 我可以接受从 GUI(在DNS
页面中)看不到此配置。
我的问题
- 这些配置方法如何协同工作?
- 是否可以只使用方法 3. 或 4.?
- 如果是:
- 有缺点吗?(= 不便之处,例如在升级期间需要备份文件、GUI 中缺乏可见性等)
- 有不兼容的地方吗?(= 可以通过 1.、2. 或 3./4. 专门配置某些东西?)
2)通常您永远不会这样做,因为需要重新启动才能应用配置更改。
set
在部署许多具有类似配置的系统时,应该使用最终保存更改的命令,而不是在特定情况下,例如脚本配置生成。3) 不可行,因为任何重新配置 dnsmasq 的东西都会覆盖更改。
4) 可以工作,但无法在固件升级后继续存在,因此不建议这样做。
set
命令是首选。根据您要准确配置的内容,dns forwarding
自定义配置可能就足够了,即使它没有进入 dnsmasq 配置的 DHCP 部分。