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)選項中。

類似的軟件

BIND
BIND

20 Jan 18

DNS-Tool
DNS-Tool

3 Jun 15

afraid
afraid

14 Apr 15

顯影劑的其他軟件 Simon Kelley

dhcp-helper
dhcp-helper

2 Jun 15

syslog-async
syslog-async

3 Jun 15

意見 Dnsmasq

評論沒有發現
添加評論
打開圖片!