Dnsmasq/zh-cn

是Article description::一个简单的 DHCP/DNS 服务器，它可以在一个小于 1000 个客户端的局域网中使用. 其主要特点是容易配置的而且占用空间很少. 此外，它还支持 IPv6.

USE 标记
选择适当的 USE 标记：

Emerge
下一步，安装 软件包：

配置
有很多资源都可以被用来改变dnsmasq的行为，它们包括：
 * 通过 来提供的命令行选项
 * 主配置文件

OpenRC
Add dnsmasq to the default runlevel if it needs to be started automatically:

现在启动服务：

服务配置
在 中，需要在启动时传递给dnsmasq后台驻留程序的命令行选项可以被配置.

主配置文件
dnsmasq的主配置文件为. 这个文件使用  语法而且是随安装包一起被提供出来的，它的文档非常全面，因此建议被阅读. 在文件里或者通过命令行选项的设置，外部的资源是可以被引用的（例如一个DHCP主机文件）.

下面就是一个范例配置文件：

配置完配置文件后，服务需要被重启——重载虽然是被支持的但它是为其它资源准备的.

Hosts文件
dnsmasq使用 文件作为它提供DNS服务所需的资源之一，除非    命令行参数被传递给服务进程.

如果是最新的，dnsmasq服务需要接收一个SIGHUP信号来重新载入这些设置，这也可以通过初始化脚本“reload”命令来支持.

这个行为也可以通过在配置文件中设置 参数来禁止.

额外的hosts文件
为了DNS查询参考一个（额外的）hosts文件作为源是可能的. 要实现这一点，增加  命令行选项. 也可以传递一个目录，在这种情况下，被包括在这个目录下的所有文件将被当作额外的hosts文件.

类似于标准的hosts文件，一个SIGHUP信号会重新载入这个文件.

这个行为也可以通过在配置文件里的 参数进行设置.

上游的名称服务器们
缺省地，dnsmasq使用 里定义的名称服务器们作为它自己的上游名称服务器.

通过   命令行选项可以使用一个不同的文件.

这个行为也可以通过在配置文件中的  参数来进行设置.

特性
Dnsmasq支持DNS, TFTP, PXE，路由器广告和DHCP服务，所以它是一个给中小型网络的万用网管工具.

DNS服务
为了（只）提供DNS服务，首先要分辨所使用的“上游名称服务器”，如果这与在 中定义的相同，那么就没什么其它步骤需要进行操作了. 否则就需要通过  命令行参数让dnsmasq指向适当的  文件. 它的语法就是被 文件使用的方法，虽然dnsmasq只看"nameserver"的定义.

例如：

下面通过配置文件让dnsmasq指向这个文件：

为了验证服务正在运行（在配置文件被改动并重启之后），使用 命令（被所提供），询问DNS服务器（在下面的例子中是在本地运行）来解析一个本地的或者远程的地址：

DNSSEC
当Dnsmasq透传数据时可以校验DNSSEC数据. 这个可以通过在配置文件中添加下面这些行来实现：

dnssec-check-unsigned }}
 * 1) Replies which are not DNSSEC signed may be legitimate, because the domain
 * 2) is unsigned, or may be forgeries. Setting this option tells dnsmasq to
 * 3) check that an unsigned reply is OK, by finding a secure proof that a DS
 * 4) record somewhere between the root and the domain does not exist.
 * 5) The cost of setting this is that even queries in unsigned domains will need
 * 6) one or more extra DNS queries to verify.

被信任的锚（anchor）可以在on the iana.org site被找到. 在这个改变了之后如果校验失败了，dnsmasq将会返回SERVFAIL和“没有DNS数据”. 如果校验成功，它会设置“ad”标志. 如果这个域不支持DNSSEC，dnsmasq的行为会照常.

DHCP服务
为了使能dnsmasq的DHCP服务，使用  配置设置.

例如，启用具有无限租期路由广播（RA）的IPv6 地址配置文件，并且 IPv4 地址配置文件也具有无限租期：

为已知主机定义静态地址是可能的，或者通过主配置文件( 设置) ，或者通过一个单独的文件. 如果要使用单独的文件，通过 命令行选项让dnsmasq指向它. 后面方法的好处是仅发送一个SIGHUP信号（或者重载服务）就可以重新读取那些记录，而在主配置文件中的定义则需要来一次完整的服务重启才可以读取.

关于 参数语法的更多信息，请参考man page或配置文件，因为它的语法可以扩展得很多.

使用
这一节覆盖了dnsmasq服务不同的使用场景（维护和操作任务）.

重置租期
客户端由于升级了网络接口导致的MAC地址变化有可能造成它不能立即得到想要的IP地址. 这是因为dnsmasq服务已经把这个IP地址赋予了老MAC地址，然后它就会等到这个地址过了租期再重新指定它.

dnsmasq服务存储它的租期信息在 这个位置. 如果这个租约需要被更快地移除，您可以停止dnsmasq服务，从文件中移除这个租约，然后再启动这个服务.

重启非主配置中的设置
相对于 主配置文件，dnsmasq服务可以为如下的服务使用外部的定义：
 * DHCP主机配置记录（通过 命令行选项）
 * DHCP选项（通过 命令行选项）

当这些文件被修改后，一个SIGHUP信号就可以让dnsmasq重新装载这些配置文件.