Dnsmasq je otevřený zdroj, zcela zdarma, snadno konfigurovatelný a lehký příkazový software navržený z offsetu jako server DHCP (Dynamic Host Configuration Protocol) a DNS ) pro operátory GNU / Linux a UNIX.
Software byl navržen tak, aby poskytoval funkci DNS i DHCP na malou síť. Je schopen sloužit názvům místních strojů, které nejsou v globálním DNS a obsahuje mnoho atraktivních funkcí.
Výkonné možnosti příkazového řádku
Pro tento projekt je k dispozici široká škála možností příkazového řádku, které lze prohlížet na první pohled spuštěním příkazu dnsmasq --help & rsquo; příkazu v aplikaci Terminál. Mezi ně můžeme zmínit možnost zadat lokální adresu, na kterou se má poslouchat, zadat velikost mezipaměti v položkách a také určit vlastní konfigurační soubor.
Začínáme s aplikací Dnsmasq
Instalace Dnsmasq na operační systém GNU / Linux je stejná jako u jiného otevřeného programu, který je distribuován jako zdrojový archiv. Nejprve stáhnete balíček, uložíte jej do svého počítače (nejlépe váš domovský adresář) a extrahujte jeho obsah pomocí nástroje pro správu archivu.
Potom přejděte na místo, kde jste extrahovali archivovaný soubor v terminálovém emulátoru (např. cd /home/softoware/dnsmasq-2.72 - nahradit softwarové jméno uživatelem), spusťte příkaz "& configure & amp; configure & amp; ; & amp; make & rsquo; příkaz pro konfiguraci a kompilaci programu, následovaný příkazem sudo make install & rsquo; příkaz k instalaci celého systému.
Pracuje na systémech GNU / Linux, BSD a Mac OS X
Dnsmasq podporuje více operačních systémů včetně Linuxu (Debian, Gentoo, Slackware, Smoothwall, SUSE, IP-Cop, Firebox, Floppyfw, LEAF, CoyoteLinux, Clarkconnect, Freesco atd. OS X. Spouští se na 32bitových a 64bitových počítačových platformách.
Co je nového v této verzi:
- Vygenerujte chybu při konfigurování pomocí smyčky CNAME, nikoli při selhání. Díky George Metzovi za to, že tento problém spatřil.
- Správně vypočte délku paketu odpovědi na chybu TFTP. To opravuje problém, pokud chybová zpráva v paketu TFTP překročí libovolný limit 500 znaků. Zpráva byla správně zkrácena, ale ne délka paketu, takže byla připojena další data. Jedná se o možné bezpečnostní riziko, jelikož další data pocházejí z vyrovnávací paměti, která je také použita pro DNS, takže předchozí dotazy nebo odpovědi DNS mohou být vyčerpány. Díky programu Mozilla pro financování bezpečnostního auditu, který zaznamenal tuto chybu.
- Opravte logickou chybu v Linuxovém netlinkovém kódu. To by mohlo způsobit, že dnsmasq vstoupí do těsné smyčky na systémech s velkým počtem síťových rozhraní. Díky Ivanu Kokšajskému za diagnózu a náplast.
- Oprava problému s časovým razítkem -dnssec, kdy příjem SIGHUP nesprávně provede kontrolu časových značek. Díky Kevin Darbyshire-Bryantové za tuto práci.
- Sériové seskupování zón při opětovném načítání / etc / hosts a friends při poskytování autoritativního DNS. Děkuji Harraldovi Dunkelovi za to, že tohle bylo.
- S adresami IPv6 mapovanými v4 se zacházejte sony v doméně -synth. Ty mají standardní reprezentaci jako :: ffff: 1.2.3.4 a jsou nyní převedeny na jména jako --ffff-1-2-3-4.
- Pokud je pojmenované rozhraní zničeno a znovu vytvořeno v jádře, manipulujte s vazbovými servery na rozhraní (--server=1.2.3.4@eth0). Díky Beniamino Galvani pro opravu.
- Povolit záznamy v záznamech CNAME v autoritativních zónách. Například --cname = *. Example.com, default.example.com Díky Pro Backup pro sponzorování tohoto vývoje.
- Povolte povolený nevyřízený protokol TCP připojení od 5 do 32 a nastavte jej jako konfigurovatelnou volbu. Díky Donatasovi Abraitisovi to diagnostikuje jako možný problém.
- Přidávejte proměnnou prostředí DNSMASQ_REQUESTED_OPTIONS do skriptu pro změnu pronájmu. Díky ZHAO Yu pro náplast.
- Opravte foobar v kódu rrfilter, který by mohl způsobit špatné odpovědi, zejména při validaci DNSSEC a server upstream vrátí odpověď s RR v určitém pořadí. Jediný server DNS, o němž je známo, že je potichu, je Nominum. Díky Daveovi Tahtovi, že jste zjistili chybu a pomohli vám opravit.
- Opravte manuálovou stránku, která klamala, že --interface-name používá pouze primární adresu rozhraní.
- Zadejte --localise-query se vztahují na jména z --interface-name. Díky Kevin Darbyshire-Bryantovi a Ericu Luehrsenovi za to, že jste to tlačili.
- Zlepšení správy spojení při komunikaci se servery TCP upstream. Konkrétně buďte připraveni otevřít nové připojení TCP, když chceme provést více dotazů, ale server navazující na server přijímá méně dotazů na spojení.
- Zlepšete protokolování serverů na předcházejícím serveru, pokud existuje spousta záznamů "pouze místní adresy". Díky Hannu Nymanové za náplast.
- Uplatní se --bogus-priv na protokol IPv6, pro předpony uvedené v dokumentu RFC6303. Díky práci Kevinovi Darbyshire-Bryantovi.
- Povolit použití MAC adres s --tftp-unique-root. Díky Florisovi Bosovi pro náplast.
- Přidat možnost zpoždění --dhcp-reply-delay. Díky Florisovi Bosovi pro náplast.
- Přidejte nastavení mtu do parametru -ra-param. Díky Davidovi Flamandovi pro opravu.
- Zkopírujte výstup STDOUT a STDERR ze skriptu dhcp a přihlašte jej jako součást protokolu dnsmasq. Ulehčuje život pro diagnostiku neočekávaných problémů v skriptech. Díky Petr Mensikovi pro opravu.
- Při nesprávné analýze výstupu skriptu dhcp v režimu "init" vygenerujte fatální chyby. Při skriptu neúmyslně vydává chybové zprávy. Díky Petr Mensikovi pro opravu.
- Vytvořte -rev-server pro práci s podsítěmi RFC1918 i za přítomnosti příznaku -bogus-priv. Díky Vladislava Grisenkovi za náplast.
- Rozšířit --ra-param mtu: pole umožňující název rozhraní. To umožňuje, aby MTU rozhraní WAN bylo inzerováno na interních rozhraních směrovače. Díky Vladislava Grisenkovi za náplast.
- Do protokolu ICMP-ping zkontrolujte, zda adresa DHCPv4 používá adresu DHCPv4, když klient určí adresu v adresáři DHCPDISCOVER a zda je adresa v doméně nakonfigurována. Díky Alinu Nastacu za to, že problém zjistil.
- Přidat novou značku DHCP "known-othernet", která je nastavena, pokud existuje pouze dhcp-host pro jinou podsíť. Může být použito k tomu, aby se zajistilo, že privilegovaní hostitelé nebudou zadáni "host" adresy náhodou. Díky Todd Sanketovi za návrh.
- Při stavění podpory internacionalizace odstraňte historické automatické zahrnutí podpory IDN. To nyní nesedí, protože existuje výběr knihoven IDN. Ujistěte se, že jste zahrnovali buď -DHAVE_IDN nebo -DHAVE_LIBIDN2 pro podporu IDN.
Co je nového ve verzi 2.72:
- Přidat režim ra-advrouter pro podporu mobilní IPv6 RFC-3775.
- Přidejte podporu pro "ipsets" v * BSD pomocí pf. Díky Sven Falempimu pro opravu.
- Opravte stav závodu, který by mohl zamknout dnsmasq, když rozhraní klesne rychle a rychle. Díky Conradovi Kosteckimu za to, že jste to pomohli pronásledovat.
- Přidejte metody DBus SetFilterWin2KOption a SetBogusPrivOption. Díky projektu Smoothwall pro opravu.
- Opravte chybu při vytváření Nettle 3.0. Díky Stevenovi Barthovi za to, že jste si všimli a našli opravu. Při přiřazování existujících pronájmů DHCP na rozhraní porovnáním sítí řešíte případ, že dvě nebo více rozhraní mají stejnou síťovou část, ale různé délky předponů (upřednostňují delší délku předpony.) Díky Lung-Pin Chang pro opravu.
- Přidejte režim, který detekuje a odstraňuje smyčky pro předávání DNS, tj. dotaz odeslaný na upstream server se vrací jako nový dotaz do dnsmasq, a proto bude znovu předán, což bude mít za následek dotaz, který se opakuje několikrát předtím, než bude spuštěn. Upstream servery, které slučují zpět, jsou zakázány a tato událost je zaznamenána. Díky programu Smoothwall pro jejich sponzorování této funkce.
- Rozšířit --conf-dir, který umožňuje filtrování souborů. Takže --conf-dir = / etc / dnsmasq.d, *. Conf načte všechny soubory v /etc/dnsmasq.d, které končí v .conf
- Opravte chybu, když v některých případech došlo k NXDOMAIN odpovědi namísto NODATA.
- Opravit chybu, která způsobila, že dnsmasq přestane reagovat, pokud se nepodařilo odeslat pakety kvůli ztrátě síťového rozhraní. Díky Nielsovi Peenové za to, že jste to viděli.
- Opravte problém s volbou --local-service na velkých endian platformách. Děkujeme Richardovi Genoudovi za opravu.
Co je nového ve verzi 2.68:
- Použijte namísto algoritmicky určených stabilních adres náhodné adresy pro dočasná alokace adres DHCPv6.
- Oprava chyby, která znamenala, že DHCPv6 DUID nebyl v skriptu DHCP dostupný během životnosti procesu dnsmasq, který vytvořil DUID de-novo. Jakmile byl DUID vytvořen a uložen v souboru s pronájmem a dnsmasq restartován, tato chyba zmizela.
- Oprava chyby zavedené v 2.67, která by mohla vést k chybnému návratu NXDOMAIN na dotazy CNAME.
- Opravte chyby sestavení na platformách MacOS X a openBSD.
- Povolit specifikace podsítě v zóně -auth-zone jako názvy rozhraní a literály adres. Umožňuje to nakonfigurovat autoritativní DNS, pokud jsou místní adresové rozsahy dynamické a fungují mnohem lépe než předchozí pracovní prostředí, které vyňaly koncipované rozsahy DHCP z filtrování IP adres. Důsledkem toho je odstranění této práce. Za určitých okolností tato změna přeruší stávající konfiguraci: pokud se spoléháte na výjimku s konštruovaným rozsahem, musíte změnit --automatickou zónu, abyste specifikovali stejné rozhraní, jaké se používá k sestavení oblastí DHCP, pravděpodobně s koncovým "/ 6" takto: --auth-zone = example.com, eth0 / 6 pro omezení adres na IPv6 adresy eth0.
- Oprava problémů při inzerci odstraněných předpon IPv6. Pokud je předpona odstraněna (spíše než nahrazena), nebude se inzerovat s nulovým preferovaným časem. Díky hlášení o chybě Tsachi.
- Opravte segfault pomocí některých lokálně nakonfigurovaných CNAME. Díky Andrewu Childsovi, že jste zjistil problém.
- Opravte únik paměti z re-čtení / etc / hosts a friends, introduced in 2.67.
- Zkontrolujte příchozí rozhraní příchozích požadavků DNS a TFTP přes protokol IPv6, a to i v režimu rozhraní - rozhraní. To není možné pro protokol IPv4 a může generovat strašidelné varování, ale jak je to možné vždy pro IPv6 (API vždy existuje), měli bychom to vždycky dělat.
- Upravte pravidla pro délky prefixů v rozsahu --dhcp-range pro protokol IPv6. Nové pravidlo spočívá v tom, že zadaná délka předpony musí být větší nebo rovna délce předpony odpovídající adresy v místním rozhraní.
Co je nového ve verzi 2.63:
- Hlavním přírůstkem v tomto vydání je nový režim, --binding-dynamic, který obojí zabraňuje vazbě zástupné adresy IP a opravuje dynamicky vytvořená síťová rozhraní, čímž odstraní hlavní omezení dvou existujících síťových režimů.
Co je nového ve verzi 2.61:
- Tato verze má spoustu další práce na kódu DHCPv6, který debutoval ve verzi 2.60.
- Byla opravena řada chyb a byly přidány další funkce.
- Funkce inzerce směrovače je nyní mnohem více konfigurovatelná a existuje režim, který dovoluje službě dnsmasq vytvářet záznamy AAAA DNS pro hostitele, které používají adresy IP adresy SLAAC a adresy IPv4 DHCP.
Co je nového ve verzi 2.59:
- Tato verze řeší několik otázek, které se objevily na dnsmasq-2.58, což by mohlo způsobit problémy při spuštění s lokálními adresami IPv6.
- Jedna je regrese v dnsmasq a druhá je způsobena změnou chování mostních rozhraní v nedávných Linuxových jádrech.
Co je nového ve verzi 2.58:
- verze 2.58
- Zadejte definici makra SA_SIZE, kde chybí. Opravuje selhání sestavení v systému openBSD.
- Na konec zpráv odesílaných do adresáře / dev / log nezadávejte nulový terminátor, pokud / dev / log je zásuvka datagramu. Díky tomu, že Didier Rabound zachytil problém.
- Přidejte příznak --dhcp-sequential-ip, který vynucuje přidělení adres IP ve vzestupném pořadí. Všimněte si, že výchozí pseudonáhodný režim je obecně lepší, ale některé aplikace pro nasazení serveru to potřebují.
- Oprava problému, kdy je klientovi odeslána klientská adresa 0.0.0.0, když je relé dhcp používáno, pokud klient obnoví smlouvu o pronájmu po restartu dnsmasq a před tím, než se všichni klienti v podsíti dostanou nový nájem. Díky Mikeu Ruizovi za pomoc při pronásledování tohoto.
- Nevracejte NXDOMAIN dotaz AAAA, pokud máme CNAME, který ukazuje pouze na záznam A: NODATA je v tomto případě správná odpověď. Díky Tomu Fernandesovi za to, že problém zjistil.
- Odstraňte potřebu dodat síťovou masku v rozmezí --dhcp pro sítě, které používají relé DHCP. Zatímco to je ještě žádoucí, v nepřítomnosti síťové masky dnsmasq použije výchozí na základě třídy (A, B nebo C) adresy. To by mělo přinejmenším odstranit příčinu záhadného selhání pro lidi, kteří používají adresy a relé RFC1918.
- Přidejte podporu pro označování připojení Linux conntrack. Je-li povoleno s parametrem --conntrack, značka připojení pro příchozí dotazy DNS bude zkopírována do odchozích připojení použitých k odpovědi na tyto dotazy. To umožňuje inteligentní firewall a účetnictví. K dispozici pouze pokud je kompilován dnsmasq s HAVE_CONNTRACK a přidává závislost na libnetfilter-conntrack. Díky Ed Wildgoose pro počáteční myšlenku, testování a sponzorování této funkce.
- Zadejte správnou chybovou zprávu, když se někdo pokusí shodit značku do adresáře --dhcp-host.
- Vylepšete chování domény - potřebujete, abyste předešli problémům s rekurzivními jmenovateli po proudu dnsmasq. Nové chování zastaví pouze dotazy typu A a AAAA a vrátí spíše NODATA než odpovědi NXDOMAIN.
- Opravy účinnosti pro velmi velké konfigurace DHCP, díky Jamesovi Gartrellovi a Mikeovi Ruizovi za to pomohou.
- Povolte, aby adresa serveru TFTP v adresáři -dhcp-boot byla název domény, který je vyhledáván v / etc / hosts. To může poskytnout více adres IP, které se používají zaokrouhlování, čímž se provádí vyvažování zatížení serveru TFTP. Díky Sushil Agrawal pro opravu.
- Pokud jsou dvě označené volby dhcp pro konkrétní číslo možnosti platné, použijte jeden, který je platný bez značky z oblasti dhcp. Umožňuje přepsání hodnoty volby DHCP pro konkrétní hostitele i pro hodnoty v síti.
- - dhcp-range = sada: rozhraní1, ......
- - dhcp-host = nastavit: myhost, .....
- - dhcp-option = značka: interface1, volba: nis-domain, "domain1"
- - dhcp-option = tag: myhost, volba: nis-domain, "domain2"
- nastaví doménu NIS na doménu1 pro hostitele v rozsahu, ale
- přepíše to na doménu2 pro určitého hostitele.
- Opravit chybu, která vedla ke zkrácení souborů a vypršení časových limitů pro některé převody TFTP. Chyba se vyskytuje pouze při přenosu netascii a potřebuje neúspěšný vztah mezi velikostí souboru, blokováním a počtem nových řádků v posledním bloku, než se projeví sám. Mnohokrát děkujeme Alkisovi Georgopoulosovi za zjištění problému a poskytnutí komplexního testovacího případu.
- Opravte regresi v TFTP serveru na * BSD platformách zavedených ve verzi 2.56, kvůli zmatku s délkou sockaddr. Děkujeme LoA & macr; c Pefferkorn za to, že jste to našli.
- Podporujte rozsahy-ids v IPv6 adresách jmenných servery z /etc/resolv.conf a v --serverových volbách. E
- Například nameserver fe80 :: 202: a412: 4512: 7bbf% eth0
- server = fe80 :: 202: a412: 4512: 7bbf% eth0. Díky
- Michael Stapelberg pro návrh.
- Aktualizujte polský překlad, díky Janu Psotu.
- Aktualizujte francouzský překlad. Díky Gildasu Le Nadanovi.
Co je nového ve verzi 2.57:
- Tato verze opravuje několik regresí v předchozí verzi a přidává podporu pro platformu Android.
Co je nového ve verzi 2.56:
- Přidejte opravu, abyste umožnili dnsmasq získat jména rozhraní přímo v zóně Solaris. Díky Dj Padzensky za to.
- Zlepšete heuristiku analýzy datového typu tak, aby --dhcp-option = možnost: vyhledávání domény. považuje hodnotu za řetězec a ne za adresu IP. Díky tomu Clemensovi Fischerovi za to, že tohle bylo.
- Přidejte podporu protokolu IPv6 na server TFTP. Děkujeme Janovi RedBullyovi Seiffertovi za opravy.
- Zaznamenejte dotazy DNS na úrovni LOG_INFO, spíše LOG_DEBUG. To dělá věci v souladu s protokolováním DHCP. Díky Adamu Pribylovi za to, že problém zjistil.
- Ujistěte se, že dnsmasq ukončí čistě při použití - syslog-async, i když nemůže sysogd připojit.
- Přidat možnost --add-mac. To podporuje současné experimentální zařízení pro filtrování DNS. Díky benjamínovi Petrinovi pro orignal patch.
- Oprava chyby, která znamenala, že tagy byly ignorovány v konfiguraci dhcp-range specifikující službu PXE-proxy. Děkujeme Cristianovi Cumerovi za to, že to bylo vidět.
- Zvyšte chybu, pokud je v příkazovém řádku na příkazovém řádku dodatečná nevyžádaná pošta.
- Označte několik zpráv protokolu v cache.c jako pocházejících z podsystému DHCP. Děkujeme Olafovi Westrikovi za náplast.
- Vypusťte časové razítko z protokolů, když a) se přihlašujete do stderr a b) - je zadáno - keep-in-forground. Zařízení pro těžbu dřeva na druhém konci stderra může být zadržena, aby je zásobovala. Děkujeme Johnovi Hallamovi za opravu.
- Nepokládejte se na řetězce delší než 255 znaků v záznamu -txt, stačí rozdělit dlouhé řetězce na 255 znaků.
- Opravte havárii na dvojí volbě. Tato chyba může dojít pouze při použití dhcp-script a pouze v mimořádných případech vyvolaných vysokou rychlostí transakce DHCP a pomalým skriptem. Díky tomu, že Ferenc Wagner zjistil problém,
- Zjistěte pouze to, že soubor byl odeslán TFTP po úspěšném dokončení přenosu.
- Dobrý návrh Ference Wagnera: rozšíření možnosti --domény povolit tyto věci: --domain = thekelleys.org.uk, 192.168.0.0 / 24, místní, které automaticky vytvoří
- - local = / thekelleys.org.uk /
- - local = / 0.168.192.in-addr.arpa /
- Upravte kontrolu syntaxe hexadecimálních konstant v konfiguračním souboru. Děkuji Fredovi Damenovi za to, že tohle bylo.
- Přidat logo / ikonu dnsmasq, kterou přispěl Justin Swift. Děkuji za to.
- Nikdy neukládají do mezipaměti odpovědi DNS, které mají sadu bitů "cd" nebo které jsou výsledkem dotazů předaných sadu bitů "cd". Bit "cd" instruuje ověřovací server DNSSEC upstream ignorovat selhání podpisu a vracet odpovědi stejně. Bez této změny je možné znečištění mezipaměti dnsmasq se špatnými daty provedením dotazu s nastavením bitů "cd" a následné dotazy by tyto údaje vrátily, aniž by byly označeny jako podezřelé. Děkuji Andersovi Kaseorgovi za poukázání na tento problém.
- Zadejte příznak --proxy-dnssec pro shodu s RFC 4035. Dnsmasq nyní vymaže bit "ad" v odpovědi vrácených z upstream validace jmenných serverů, pokud tato možnost není nastavena.
- Povolit pro soubor --conf soubor "-" číst stdin. Návrhy od Timothy Redaelliové.
- Otočte pořadí záznamů SRV v odpovědi, abyste zajistili vyvažování zátěže zaokrouhlenou, když jsou všechny priority stejné. Díky návrhu Peterovi McKinneymu.
- Upravte položku contrib / MacOSX-launchd / uk.org.thekelleys.dnsmasq.plist tak, aby ve výchozím nastavení nezaznamenal všechny dotazy do souboru. Děkuji znovu Petrovi McKinneymu.
- Ve výchozím nastavení nastavení adresy IPv4 pro doménu, nikoli však pro adresu IPv6, způsobí, že dnsmasq vrátí odpověď NODATA pro protokol IPv6 (nebo naopak). Takže --adresa = / google.com / 1.2.3.4 zastaví předávání dotazů IPv6 pro * google.com. Umožňuje toto chování přepsat vymezením sematik, pokud se stejná doména objeví na adresě --serveru a -. V tomto případě má --adresa přednost pro rodinu adres, ve které se zobrazí, ale --server má prioritu rodiny adres, která se nezobrazuje v adresáři - adddress
- Takže:
- - adresa = / google.cz / 1.2.3.4
- - server = / google.com / #
- Vrací dotaz 1.2.3.4 pro dotazy IPv4 pro * .google.com, ale předává dotazy IPv6 normálním jmenovacím serverům. Podobně při nastavení adresy IPv6 to umožní pouze předávání dotazů protokolu IPv4. Děkujeme Williamovi za poukázání na tuto potřebu.
- Povolte více než jeden soubor --dhcp-optsfile a --dhcp-hostsfile a nechte je adresářům rozumět jako argumenty stejně jako --addn-hosts. Návrhy od Johna Hanksa.
- Ignorujeme žádosti o rebinding pro pronájmy, o kterých nevíme. Rebind je vysíláno, takže bychom mohli zaslechnout žádost určenou pro jiný server DHCP. NAK je to špatné. Díky Brad D'Hondtové za to s pomocí.
- Opravte kosmetickou chybu, která způsobila podivné výstupy při vyřazování statistik cache v některých konfiguracích. Díky Fedoru Kozhevnikovovi za to, že to bylo vidět.
Co je nového ve verzi 2.55:
- Opravte havárii, když se používá / etc / ethers. Díky tomu, že to Gianluigi Tiesi našel.
- Opravte havárii v netlink_multicast (). Děkujeme Arno Wald za to, že našel tohle.
- Povolit prázdnou doménu "." ve volbách hledání domény dhcp (119).
Komentáře nebyl nalezen