dnsmasq的是一个轻量级的,易于配置的DNS转发器和DHCP服务器。它的目的是给一个小网络提供DNS和可选的DHCP。它可以服务于本地计算机的域名解析。集成的DHCP服务器与DNS服务器,支持DHCP动态地址分配以及DNS域名解析。 dnsmasq能够缓存外部DNS记录,同时提供本地DNS解析或者作为外部DNS的代理。除此之外,dnsmasq所提供的DHCP服务和dhcpd十分相近。如同共动态地址分配,可以通过MAC地址预先指定静态的IP地址给特定的主机等等。Dnsmasq的TFTP服务器功能在次不做介绍。
-T, --local-ttl=<time>
当与从/ etc / hosts或在DHCP租约文件,默认设置的dnsmasq信息返回到本机ttl值为零,这意味着请求者不应本身缓存信息。此选项允许设定dhcp请求数据包的生存时间。这将减少在某些情况下过时的请求数据给客户端服务器造成的负载。
-x, --pid-file=<path>
指定一个备用的路径来记录进程ID通常保存的目录为/ var/ dnsmasq.pid。
-v, --version
打印版本号。
-p, --port=<port>
指定DNS的端口代替标准的DNS端口(53)。设置此为零完全禁用DNS功能,只留下DHCP和/或TFTP。
-P,--edns-packet-max=<size>
指定DNS转发支持的最大数据包大小。 默认是1280,这是以太网RFC2671建议的最大值。
-i, --interface=<interface name>
只监听指定的接口。当此命令指定的接口被使用时,dnsmasq会自动添加本地接口到接口列表。
-I, --except-interface=<interface name>
指定不监听的接口。
-2, --no-dhcp-interface=<interface name>
不提供DHCP或TFTP在指定的接口,但提供DNS服务。
-a,--listen-address=<ipaddr>
侦听指定的IP地址。监听的接口和IP地址可同时指定。如果指定监听的IP地址而指定未监听接口的,dnsmasq不会自动监听去回环节口(loopback)。所以如果配置此选项一般要明确的给出监听地址的为127.0.0.1
-r, --resolv-file=<file>
读取文件上的域名服务器的IP地址,dnsmasq可轮询多个resolv.conf文件的域名服务器。
-R, --no-resolv
不要读取/ etc / resolv.conf中。只得到命令行或配置文件中的dnsmasq上游域名服务器。
-c, --cache-size=<cachesize>
设置的dnsmasq的缓存大小。默认为150条。设置缓存大小为零禁用缓存。
-N, --no-negcache
禁用否定缓存。否定缓存允许dnsmasq记住从上游域名服务器上得到的“没有这样的域名”的查询结果,并对于相同的查询不再重复转发轮询上游服务器。
-0, --dns-forward-max=<queries>
设置DNS的查询并发的最大数量。默认值是150。
-F,--dhcp-range=[[net:]network-id,]<start-addr>,<end-addr>[[,<netmask>],<broadcast>][,<defaultlease time>]
启用DHCP服务器。地址将会给出了从范围<start-addr>到<end-addr>和静态定义的地址在DHCP主机选项给出。如果租用时间给出,然后租赁将会给予该时间长度。租用时间以秒或分钟(如4500)或时间(如1小时)或无限期“infinite”。最低租赁时间为两分钟。广播地址始终是可选的。
-u,--user=<username>
-K, --dhcp-authoritative
当一个网络上只有确定的一台DHCP服务器时,此参数应该被设置成dhcp-authoritative。这样可以确保从未知主机发送的未知租约不会被忽略。这样就使得新的主机在任何情况下及时的得到租约请求相应。还有一个重要作用是,当服务器的租赁数据库丢失了,此参数可以允许dnsmasq重建租约数据库,而不用与每个客户主机逐一重新请求租约。
-X, --dhcp-lease-max=<number>
限制的dnsmasq到DHCP租约规定的最大数目。默认为150。此限制是为了防止非法主机从服务器租赁大量的ip地址造成内存大量占用,从而形成DoS攻击。
--log-dhcp
额外的DHCP日志记录:记录所有的选项发送到DHCP客户端和用于确定他们的NetID标签。
-l, --dhcp-leasefile=<path>
使用指定的文件存储DHCP的租赁信息。存储的信息包括客户端的MAC地址,ip地址,计算机名等。
-C, --conf-file=<file>
指定一个不同的配置文件。此配置文件选项也允许在配置文件中使用,以包含多个配置文件。