Dnsmasq

软件截图:
Dnsmasq
软件详细信息:
版本: 2.77 更新
上传日期: 2 Sep 17
开发: Simon Kelley
许可: 免费
人气: 120

Rating: 2.8/5 (Total Votes: 5)

Dnsmasq 是一个开源,完全免费,易于配置和轻量级的命令行软件,从偏移设计,充当DHCP(动态主机配置协议)服务器和DNS(域名系统)转发器在GNU / Linux和类UNIX操作系统上。

该软件的设计方式使其能够向小型网络提供DNS以及DHCP功能。它能够服务于全球DNS中的本地机器的名称,并且包含许多有吸引力的功能。


强大的命令行选项

该项目提供了各种各样的命令行选项,可以通过运行‘ dnsmasq --help’命令在终端应用程序。其中,我们可以提到指定要监听的本地地址的能力,指定条目中缓存的大小以及指定自定义配置文件。

Dnsmasq入门
在GNU / Linux操作系统上安装Dnsmasq的方式与您作为源存档分发的任何其他开源程序一样。首先,您下载软件包,将其保存在计算机上(最好是您的主目录),并使用归档管理器实用程序提取其内容。

然后,移动到您在终端模拟器中解压缩存档文件的位置(例如cd /home/softoware/dnsmasq-2.72 - 用您的用户名替换“softoware”),运行“l/”配置& amp ;&安培;让&rsquo的;命令来配置和编译程序,其次是“sudo make install”命令系统地安装。


运行在GNU / Linux,BSD和Mac OS X上
Dnsmasq支持多种操作系统,包括Linux(Debian,Gentoo,Slackware,Smoothwall,SUSE,IP-Cop,Firebox,floppyfw,LEAF,CoyoteLinux,Clarkconnect,Freesco等),BSD(FreeBSD)和Mac OS X。它运行在32位和64位计算机平台上。

此版本中的新功能

  • 在配置CNAME循环而不是崩溃时生成错误。感谢George Metz发现这个问题。
  • 正确计算TFTP错误应答报文的长度。当TFTP包中的错误消息超过500个字符的任意限制时,这会解决问题。消息被正确截断,但不是包长度,因此附加了额外的数据。这是一个可能的安全风险,因为额外的数据来自一个也用于DNS的缓冲区,以便先前的DNS查询或回复可能被泄漏。感谢Mozilla为发现这个错误的安全审核提供资金。
  • 修复Linux netlink代码中的逻辑错误。这可能导致dnsmasq在具有非常大数量的网络接口的系统上进入紧密循环。感谢Ivan Kokshaysky的诊断和补丁。
  • 修复了--dnssec-timestamp的问题,其中接收到SIGHUP会错误地接触时间戳检查。感谢Kevin Darbyshire-Bryant为这项工作。
  • 提供权威DNS时,重载/ etc / hosts和朋友的Bump zone系列。感谢Harrald Dunkel发现这个。
  • 在-synth-domain中正确处理v4映射的IPv6地址。这些具有标准表示,如:: ffff:1.2.3.4,现在转换为--ffff-1-2-3-4。
  • 当命名的接口被破坏并在内核中重新创建时,将绑定上游服务器处理到接口(--server=1.2.3.4@eth0)。感谢Beniamino Galvani补丁。
  • 在权威区域中允许通配符CNAME记录。例如--cname = *。example.com,default.example.com感谢Pro Backup赞助此开发。
  • 将允许的TCP连接积压从5增加到32,并使其成为编译时可配置选项。感谢Donatas Abraitis诊断这个潜在问题。
  • 将DNSMASQ_REQUESTED_OPTIONS环境变量添加到租赁更改脚本。感谢赵宇补丁。
  • 修复rrfilter代码中的foobar,这可能导致格式错误的回复,特别是在DNSSEC验证时,上游服务器以特定顺序返回RR。已知的唯一DNS服务器是Nominum的。感谢Dave Taht发现错误并协助修复。
  • 修复联机帮助页面,说明只有接口的主地址由--interface-name使用。
  • Make --localise-queries适用于--interface-name中的名称。感谢Kevin Darbyshire-Bryant和Eric Luehrsen推荐这个
  • 在与TCP上游服务器通话时改善连接处理。具体来说,当我们想要进行多个查询时,准备打开一个新的TCP连接,但上游服务器每次连接接受的查询较少。
  • 当有很多“本地地址”条目时,改进对上游服务器的日志记录。感谢Hannu Nyman补丁。

  • 将--bogus-priv应用于IPv6,为RFC6303中指定的前缀。感谢Kevin Darbyshire-Bryant为此工作。
  • 允许使用--tftp-unique-root使用MAC地址。感谢Floris Bos补丁。
  • 添加--dhcp-reply-delay选项。感谢Floris Bos补丁。
  • 将mtu设置设置添加到--ra-param。感谢David Flamand补丁。

  • 从dhcp-script捕获STDOUT和STDERR输出,并将其作为dnsmasq日志流的一部分进行记录。使生活更容易诊断脚本中的意外问题。感谢Petr Mensik补丁。
  • 如果在“init”模式下解析dhcp-script的输出失败,则生成致命错误。当脚本意外发出错误消息时,避免奇怪的错误。感谢Petr Mensik补丁。

  • 对于RFC1918子网,即使在--bogus-priv标志的存在下,也可以使--rev-server。感谢Vladislav Grishenko补丁。
  • 扩展--ra-param mtu:字段以允许接口名称。这允许WAN接口的MTU在路由器的内部接口上通告。感谢Vladislav Grishenko补丁。
  • 当客户端指定DHCPDISCOVER中的地址时,以及当地址在本地配置时,ICMP-ping检查DHCPv4的地址。感谢Alin Nastac发现问题。

  • 添加新的DHCP标签“known-othernet”,当只有一个dhcp-host存在另一个子网时,该标签被设置。可以用来确保特权主机意外没有给予“客人”地址。感谢Todd Sanket的建议。
  • 在构建国际化支持时,删除IDN支持的历史性自动包含。现在不符合IDN库的选择。请确保包含-DHAVE_IDN或-DHAVE_LIBIDN2以支持IDN。

2.72版中的新功能

  • 添加ra-advrouter模式,支持RFC-3775移动IPv6。
  • 使用pf在* BSD中添加对“ipsets”的支持。感谢Sven Falempim补丁。

  • 修正当界面快速上升时可以锁定dnsmasq的竞争条件。感谢康拉德·科斯特克(Conrad Kostecki)帮助追逐这一切。
  • 添加DBus方法SetFilterWin2KOption和SetBogusPrivOption。感谢补丁的Smoothwall项目。

  • 修正了对Nettle-3.0的建立失败。感谢Steven Barth发现这一点,并找到修复。通过比较网络将现有的DHCP租约分配给内存,处理两个或多个接口具有相同网络部分但前缀长度不同(有利于更长的前缀长度)的情况。感谢Lung-Pin Chang的补丁。 >
  • 添加检测和删除DNS转发循环的模式,即发送到上游服务器的查询返回到dnsmasq的新查询,因此将再次转发,从而导致在删除之前循环多次的查询。回滚的上游服务器被禁用,并记录此事件。感谢Smoothwall赞助此功能。
  • 扩展--conf-dir以允许过滤文件。所以--conf-dir = / etc / dnsmasq.d,*。conf将加载/etc/dnsmasq.d中的.conf结尾的所有文件。/
  • 在某些情况下修正了NXDOMAIN答案而非NODATA的错误
  • 修复由于网络接口消失而导致dnsmasq无法发送数据包而导致无响应的错误。感谢Niels Peen发现这个。
  • 在大端平台上解决了--local-service选项的问题。感谢Richard Genoud补丁。

2.68版中的新功能

  • 使用随机地址进行DHCPv6临时地址分配,而不是算法确定的稳定地址。
  • 修复错误,这意味着在创建DUID de-novo的dnsmasq进程的生命周期内,DHCP脚本运行时,DHCPv6 DUID不可用。一旦DUID被创建并存储在租赁文件中并且dnsmasq重新启动,则该错误消失。
  • 修复2.67中引入的错误,可能会导致NXDOMAIN错误返回到CNAME查询。

  • 修复MacOS X和openBSD上的构建失败。
  • 将--auth-zone中的子网规范设置为接口名称和地址文字。这使得当本地地址范围是动态的时,可以配置权威性DNS,并且比以前的从IP地址过滤中免除所配置的DHCP范围的功能更好。因此,这种解决方案已被删除。在某些情况下,此更改将破坏现有配置:如果您依赖于构造范围异常,则需要更改--auth-zone以指定与用于构建DHCP范围的接口相同的接口,可能带有尾随“/ 6”这样:--auth-zone = example.com,eth0 / 6将地址限制为eth0的IPv6地址。
  • 在广告删除的IPv6前缀时修复问题。如果前缀被删除(而不是替换),则不会以零首选时间通告。感谢Tsachi的错误报告。

  • 使用一些本地配置的CNAME修复segfault。感谢Andrew Childs发现问题。
  • 修复内存泄漏重读/ etc / hosts和朋友,介绍2.67。
  • 即使在-bind-interfaces模式下,也可以通过IPv6检查传入的DNS和TFTP请求的到达界面。这对于IPv4是不可能的,并且可以产生可怕的警告,但是由于IPv6总是可能的(API始终存在),所以我们应该永远执行。

  • 调整IPv6的-dhcp-range中的prefix-length规则。新规则是指定的前缀长度必须大于或等于本地接口上对应地址的前缀长度。

2.63版中的新功能

  • 此版本中的主要补充是一种新的模式--bind-dynamic,它们既避免了通配符IP地址的绑定,又能应对动态创建的网络接口,从而消除了两种现有网络模式的主要限制。 LI>

2.61版中的新功能

  • 此版本在2.60上首次出现的DHCPv6代码中有很多额外的工作。
  • 已经修复了许多错误,并添加了额外的功能。

  • 路由器广告功能现在可以更加可配置,并且有一种模式允许dnsmasq为使用SLAAC IPv6地址和DHCP IPv4地址的主机创建AAAA DNS记录。

2.59版中的新功能

  • 此版本解决了dnsmasq-2.58出现的几个问题,这可能会导致使用IPv6链路本地地址启动时出现问题。

  • 一个是dnsmasq的回归,另一个来自于最近Linux内核中桥接口行为的变化。

2.58版中的新功能

  • 版本2.58
  • 提供缺少SA_SIZE宏的定义。修复在openBSD上构建失败。

  • 在/ dev / log是数据报套接字时,不要在发送到/ dev / log的消息的末尾包含零终止符。感谢Didier Rabound发现问题。
  • 添加--dhcp-sequential-ip标志,强制按照升序排列IP地址。请注意,默认的伪随机模式通常更好,但是某些服务器部署应用程序需要这种方式。

  • 如果在dnsmasq重新启动后,客户端在子网上的任何客户端获得新租约之前客户端续订租约,那么在使用dhcp-relay时,修复了将客户端发送到客户端的问题。感谢Mike Ruiz帮忙追逐这个。
  • 如果CNAME仅指向A记录,则不要将NXDOMAIN返回给AAAA查询:在这种情况下,NODATA是正确的回复。感谢Tom Fernandes发现问题。
  • 放宽对使用DHCP中继的网络的-dhcp-range提供网络掩码的需求。虽然这还是需要的,但是在没有网络掩码的情况下,dnsmasq将使用基于地址类(A,B或C)的默认值。至少应该使用RFC1918地址和中继器来消除造成神秘故障的原因。
  • 添加对Linux conntrack连接标记的支持。如果启用了--conntrack,传入DNS查询的连接标记将被复制到用于回答这些查询的传出连接。这允许聪明的防火墙和会计资料。仅当使用HAVE_CONNTRACK编译dnsmasq并且在libnetfilter-conntrack上添加依赖项时才可用。感谢Ed Wildgoose最初的想法,测试和赞助这个功能。
  • 当有人尝试在-dhcp-host中匹配标签时,提供一个合理的错误消息。

  • 调整--domain需要的行为,以避免在dnsmasq下游的递归名称服务器出现问题。新行为只会停止A和AAAA查询,并返回NODATA而不是NXDOMAIN回复。
  • 为了解决非常大的DHCP配置问题,谢谢James Gartrell和Mike Ruiz的帮助。
  • 将-dhcp-boot中的TFTP服务器地址设置为/ etc / hosts中查找的域名。这可以给出多个使用循环的IP地址,从而进行TFTP服务器负载平衡。感谢Sushil Agrawal补丁。
  • 当特定选项号的两个标记的dhcp选项都有效时,请使用没有dhcp-range中的标签的有效选项号。允许覆盖特定主机的DHCP选项的值以及每个网络的值。
  • - DHCP-范围=集:接口1,......
  • - DHCP主机=集:为myhost,.....
  • - DHCP选项=标签:接口1,选项:NIS域, “domain1的”
  • - DHCP选项=标签:为myhost,选项:NIS域, “域2”
  • 将NIS域设置为范围内的主机的域1,但
  • 覆盖特定主机的domain2。
  • 修复导致某些TFTP传输的截断文件和超时的错误。该错误只发生在netascii传输,并且需要在文件大小,块大小和最后一个块中的换行符数量显示之前不幸的关系。非常感谢Alkis Georgopoulos发现问题,并提供了一个全面的测试案例。
  • 由于与sockaddr长度的混淆,修复了2.56版本引入的* BSD平台上的TFTP服务器中的回归。非常感谢LoA¯ c Pefferkorn找到这个。

  • 支持来自/etc/resolv.conf和-server选项的名称服务器的IPv6地址范围。 ë
  • 例如nameserver fe80 :: 202:a412:4512:7bbf%eth0
  • 服务器= FE80 :: 202:A412:4512:7bbf%的eth0。感谢
  • Michael Stapelberg的建议。
  • 更新波兰语翻译,感谢Jan Psota。
  • 更新法语翻译。感谢Gildas Le Nadan。

2.57版中的新功能

  • 此版本修复了前一版本的几个回归,并增加了对Android平台的支持。

2.56版中的新功能

  • 添加补丁以允许dnsmasq在Solaris区域中直接获取接口名称。感谢Dj Padzensky为此。
  • 改进数据类型解析启发式,以便--dhcp-option = option:domain-search ,.将该值视为字符串而不是IP地址。感谢Clemens Fischer发现。
  • 将TFTP支持添加到TFTP服务器。非常感谢Jan'RedBully'Seiffert的补丁。
  • 记录级别为LOG_INFO的DNS查询,而不是LOG_DEBUG。这使得事情与DHCP日志记录一致。感谢Adam Pribyl发现问题。
  • 确保在使用syslog-async时,即使无法连接到syslogd,dnsmasq将彻底终止。
  • 添加--add-mac选项。这是为了支持当前实验的DNS过滤功能。感谢本杰明·彼得林(Orleans),为了信号补丁
  • 修复错误,这意味着在指定PXE代理服务的dhcp-range配置中忽略了标记。感谢Cristiano Cumer发现这一点。
  • 如果在命令行上有额外的垃圾,而不是选项的一部分,则会引发错误。

  • 在缓存中标记几个来自DHCP子系统的日志消息。感谢Olaf Westrik补丁。
  • 当a)登录到stderr和b) - 设置for-forground时,从日志中省略时间戳。 stderr另一端的测井设备可以被提供给他们。感谢John Hallam补丁。
  • 不要抱怨在-txt-record中长度超过255个字符的字符串,只需将长字符串分割成255个字符块即可。
  • 修复崩溃无双。这个bug只能在dhcp-script被使用的时候才发生,只有在极少的情况下才被高的DHCP事务速率和慢的脚本所触发。感谢Ferenc Wagner发现问题
  • 只有在传输成功完成后才能记录TFTP发送的文件。

  • 来自Ferenc Wagner的一个很好的建议:扩展--domain选项以允许这样的事情:--domain = thekelleys.org.uk,192.168.0.0 / 24,本地自动创建
  • - 本地= / thekelleys.org.uk /
  • - 本地= / 0.168.192.in-addr.arpa /
  • 拧紧配置文件中十六进制数的语法检查。感谢Fred Damen发现这个。
  • 添加由Justin Swift贡献的dnsmasq标志/图标。非常感谢。
  • 不要缓存具有'cd'位设置的DNS回复,或者由设置了'cd'位转发的查询的结果。 'cd'位指示上游的DNSSEC验证服务器忽略签名失败,并返回回复。没有这种改变,可以通过使用'cd'位进行查询来污染具有不良数据的dnsmasq缓存,并且随后的查询将返回此数据,而不将其标记为可疑。感谢Anders Kaseorg指出这个问题。
  • 添加--proxy-dnssec标志,符合RFC 4035.Dnsmasq现在将清除从上游验证名称服务器返回的答案中的“ad”位,除非设置了此选项。
  • 允许--conf文件的“ - ”文件名读取stdin。 Timothy Redaelli的建议。
  • 在回复中旋转SRV记录的顺序,以便在所有优先级相等时提供循环负载平衡。感谢Peter McKinney的建议。
  • 编辑contrib / MacOSX-launchd / uk.org.thekelleys.dnsmasq.plist,以便默认情况下不将所有查询记录到文件。再次感谢彼得·麦金尼(Peter McKinney)
  • 默认情况下,为域而不是IPv6地址设置IPv4地址会使dnsmasq返回IPv6的NODATA应答(反之亦然)。所以--address = / google.com / 1.2.3.4停止* google.com的IPv6查询被转发。如果同样的域出现在--server和 - address中,可以通过定义语义来覆盖此行为。在这种情况下, - 地址对于出现的地址族具有优先权,但是--server具有地址族的优先级,这些地址族不会出现在--adddress
  • 所以:
  • - 地址= / google.com / 1.2.3.4
  • - 服务器= / google.com /#
  • 将返回1.2.3.4 for * .google.com的IPv4查询,但将IPv6查询转发到正常的上游名称服务器。类似地,当设置IPv6地址时,这将允许转发IPv4查询。感谢William指出了这一点。

  • 允许多个-dhcp-optsfile和--dhcp-hosts文件,使它们以与--addn-hosts相同的方式将目录理解为参数。来自John Hanks的建议。
  • 忽略我们不了解的租赁请求。 Rebind被广播,所以我们可能会听到一个针对另一个DHCP服务器的请求。这是错误的。感谢Brad D'Hondt的帮助。

  • 修复在使用某些配置转储缓存统计信息时产生奇怪输出的化妆品错误。感谢Fedor Kozhevnikov发现这个。

2.55版中的新功能


    在/ etc / ethers使用中修复崩溃。感谢Gianluigi Tiesi找到这个。
  • 在netlink_multicast()中修复崩溃。感谢Arno Wald找到这个。
  • 允许空域“”。在dhcp domain-search(119)选项中。

类似的软件

MaraDNS
MaraDNS

14 Apr 15

HubDNS
HubDNS

11 May 15

Inadyn
Inadyn

19 Feb 15

afraid
afraid

14 Apr 15

显影剂的其他软件 Simon Kelley

syslog-async
syslog-async

3 Jun 15

dhcp-helper
dhcp-helper

2 Jun 15

意见 Dnsmasq

评论没有发现
添加评论
打开图片!