Dnsmasq/zh-cn

Dnsmasq是一个简单的DHCP/DNS服务器，它可以被一个小于1000个客户端的局域网来使用，关键特性是容易配置的而且占用空间很少，它还支持IPv6.

USE flags
Dnsmasq的安装可以被包管理器和Portage树完全支持. 不过首先请先选择好适当的USE标记.

Emerge
下一步，安装 ，然后把它加入default runlevel，如果您打算让它开机自动运行的话.

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

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

To start the service now:

服务配置
在 中，需要在启动时传递给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数据. 这个可以通过在配置文件中添加下面这些行来实现：

被信任的锚（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重新装载这些配置文件.