Dnsmasq

Скріншот програми:
Dnsmasq
Дані програми:
Версія: 2.77 оновлений
Дата завантаження: 2 Sep 17
Розробник: Simon Kelley
Ліцензія: Безкоштовно
Популярність: 120

Rating: 2.8/5 (Total Votes: 5)

Dnsmasq - це з відкритим вихідним кодом, абсолютно безкоштовним, простим для налаштування та легким програмним забезпеченням командного рядка, розробленим з офсетного режиму, для роботи в якості протоколу DHCP (протокол динамічного конфігурування хоста) та DNS (Domain Name System ) експедитор у GNU / Linux та UNIX-подібних операційних системах.

Програмне забезпечення було розроблено таким чином, що він забезпечує DNS, а також функціональність DHCP для невеликої мережі. Він здатний обслуговувати імена локальних машин, які не використовуються в глобальній системі DNS і містять численні привабливі функції.


Потужні опції командного рядка

Для цього проекту доступний широкий діапазон параметрів командного рядка, який можна переглянути з одного погляду, запустивши & lsquo; dnsmasq --help & rsquo; команду в додатку терміналу. Серед них можна згадати можливість вказати локальний адресу, щоб прослухати, вказати розмір кешу в записах, а також вказати власний файл конфігурації.

Початок роботи з Dnsmasq

Встановлення Dnsmasq в операційну систему GNU / Linux відбувається так само, як і в будь-якій іншій програмі з відкритим кодом, яка поширюється як вихідний архів. Спочатку завантажте пакет, збережіть його на своєму комп'ютері (бажано в домашньому каталозі) та витягніть його вміст за допомогою утиліти архівного менеджера.

Потім перемістіться до того місця, де ви витягли архівний файл у емуляторі терміналу (наприклад, cd /home/softoware/dnsmasq-2.72 - замініть "softoware" за допомогою свого імені користувача), запустіть & lsquo; ./ configure & amp & amp; зробити & rsquo; команду, щоб налаштувати та скомпілювати програму, за якою слід виконати & lsquo; sudo make install & rsquo; команду, щоб встановити її широку систему.


Працює на 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, а не аварію. Дякую Джордж Метц за те, що виявлено цю проблему.
  • Обчисліть довжину пакету відповідей на помилку TFTP правильно. Це виправляє помилку, коли повідомлення про помилку в пакеті TFTP перевищує довільний обмеження до 500 символів. Повідомлення було правильно скорочено, але не довжина пакету, тому додаткові дані були додані. Це можливий ризик для безпеки, оскільки додаткові дані надходять з буфера, який також використовується для DNS, так що попередні запити та відповіді DNS можуть просочитися. Завдяки Mozilla для фінансування аудиту безпеки, який виявив цю помилку.
  • Виправте логічну помилку в коді netlink linux. Це може призвести до того, що dnsmasq введе жорсткий цикл у системах з дуже великою кількістю мережевих інтерфейсів. Спасибі Івану Кокшайському за діагноз та патч.
  • Виправте проблему з --dnssec-timestamp, згідно з якою отримання SIGHUP помилково вмикати перевірку часової мапи. Дякую Кевіну Дарбріширу-Брайану за цю роботу.
  • Серійний випуск зони під час перезавантаження / etc / hosts та друзів при наданні авторитетної DNS. Спасибі Гарральду Дункелю за те, що ви помітили це.
  • Використовуйте адреси IPv6, які відображаються на віртуальній версії, в імені - synth-domain. Вони мають стандартне представлення типу :: ffff: 1.2.3.4 і тепер перетворені на імена, як -ffff-1-2-3-4.
  • Обробити зв'язувальні сервери на виході до інтерфейсу (-server=1.2.3.4@eth0), коли іменований інтерфейс буде знищено та відновлено в ядрі. Дякую Беніаміно Гальвані за патч.
  • Дозволити записування CNAME підстановки в авторитетних зонах. Наприклад, --cname = *. Example.com, default.example.com Завдяки Pro Backup для спонсорування цього розвитку.
  • Підніміть допустиму відстань TCP-з'єднань від 5 до 32, і зробить це параметром, який можна налаштувати на час компіляції. Завдяки Донатасу Абраітісу, щоб визначити це як потенційну проблему.
  • Додайте DNSMASQ_REQUESTED_OPTIONS змінну середовища до сценарію зміни лізингу. Дякую Zhao Yu за патч.
  • Виправте помилку в коді rrfilter, що може спричинити невідповідні відповіді, особливо коли перевірка DNSSEC на вході, а сервер зверху відповідає за RR в певному порядку. Єдиний DNS-сервер, який, як відомо, лоскочує це Nominum's. Спасибі Дейву Таху за виявлення помилки та допомогу у вирішенні проблеми.
  • Виправте майнову сторінку, яка брехала, що ім'я інтерфейсу використовується лише для основної адреси інтерфейсу.
  • Зробити - запити місцевості застосовуються до імен з --interface-name. Дякуємо Кевіну Дарбиширу-Брайану та Еріку Люферену за те, що висунули це.
  • Покращте обробку з'єднання під час розмови з серверами високого потоку TCP. Зокрема, будьте готові відкрити нове з'єднання TCP, коли ми хочемо створити декілька запитів, але сервер зверху приймає менше запитів для кожного з'єднання.
  • Поліпшення реєстрації серверів на вищому рівні, коли є багато "лише локальних адрес". Спасибі Ханну Найману за патч.
  • Зробити --bogus-priv застосовувати до IPv6 для префіксів, зазначених у RFC6303. Дякую Кевіну Дарбиширу-Брайану за роботу над цим.
  • Дозволити використання MAC-адрес за допомогою --tftp-unique-root. Спасибі Флоріс Босу за патч.
  • Додайте параметр --dhcp-reply-delay. Спасибі Флоріс Босу за патч.
  • Додати параметр установки mtu до --ra-param. Дякую Девіду Фламанд за патч.
  • Зніміть вивід STDOUT та STDERR з dhcp-script і зареєструйте його як частину потоку журналу dnsmasq. Робить життя простішим для діагностики несподіваних проблем у скриптах. Спасибі Петру Менкіку за патч.
  • Сгенерируйте фатальні помилки при неможливості проаналізувати вивід dhcp-script в режимі "init". Уникає дивних помилок, коли сценарій випадково видає повідомлення про помилки. Спасибі Петру Менкіку за патч.
  • Зробіть --rev-сервер для роботи підмережі RFC1918, навіть якщо у вас є прапорець --bogus-priv. Спасибі Владиславу Грищенку за патч.
  • Розширити --ra-param mtu: поле, щоб дозволити назву інтерфейсу. Це дозволяє рекламувати MTU інтерфейсу WAN на внутрішніх інтерфейсах маршрутизатора. Спасибі Владиславу Грищенку за патч.
  • Переконайтеся, що ICMP-ping перевіряє наявність адреси, що використовується для DHCPv4, коли клієнт вказує адресу в DHCPDISCOVER, а також, коли адреса налаштована локально. Дякую Аліну Настаку за виявлення проблеми.
  • Додати новий тег DHCP "known-othernet", який встановлюється, коли існує лише dhcp-host для іншої підмережі. Може бути використаний для забезпечення того, щоб привілейовані хости випадковим чином не отримували "гостьові" адреси. Спасибі Тодду Санкету за пропозицію.
  • Видаліть історичну автоматичну включення підтримки IDN під час побудови підтримки інтернаціоналізації. Це не підходить зараз, є вибір бібліотек IDN. Не забудьте включити або -DHAVE_IDN або -DHAVE_LIBIDN2 для підтримки IDN.

Що нового у версії 2.72:

  • Додайте режим ra-advrouter для підтримки мобільного IPv6 RFC-3775.
  • Додайте підтримку для "ipsets" у * BSD, використовуючи pf. Спасибі Свену Фальемпіму за патч.
  • Виправте стан перегонів, який може зафіксувати dnsmasq, коли інтерфейс скорочується і швидко зростає. Дякую Конраду Костецькому за те, що він допомагає погоні за цим.
  • Додати DBus методи SetFilterWin2KOption і SetBogusPrivOption. Завдяки проекту Smoothwall для патча.
  • Виправте нездатність побудувати Nettle-3.0. Спасибі Стівену Барту за те, що він помітив і знайшов виправлення. Призначаючи існуючу ліцензію DHCP на інтеграли, порівнюючи мережі, розгляньте випадок, коли два або більше інтерфейсів мають однакову частину мережі, але різну довжину префікса (надайте перевагу довшій ширині префікса). Завдяки Lung-Pin Chang для патча.
  • Додайте режим, який визначає та видаляє цикли перенаправлення DNS, тобто запит, який надсилається на сервер, що надходить, повертається як новий запит до dnsmasq, і тому буде переадресовано ще раз, після чого з'явиться запит, який багато разів циклів, перш ніж скидатись. Серверів, які звертаються до циклу, відключені, і ця подія зареєстрована. Спасибі Smoothwall за спонсорство цієї функції.
  • Розширити --conf-dir, щоб дозволити фільтрування файлів. Таким чином, --conf-dir = / etc / dnsmasq.d, *. Conf завантажить всі файли в /etc/dnsmasq.d, які закінчуються .conf
  • Виправлено помилку, коли в деяких випадках з'являються відповіді NXDOMAIN замість NODATA.
  • Виправлена ​​помилка, яка призвела до того, що dnsmasq не відповідає, якщо не вдалося надіслати пакети через відсутність мережного інтерфейсу. Дякую Нільсу Пін за те, що ви помітили це.
  • Виправте проблему з параметром місцевого сервісу на великих платформах. Спасибі Річарду Геноду за патч.

Що нового у версії 2.68:

  • Використовуйте випадкові адреси для розподілу тимчасової адреси DHCPv6 замість алгоритмічно визначених стабільних адрес
  • Виправлена ​​помилка, яка означала, що DHCPv6 DUID недоступний у скрипті DHCP протягом всього терміну дії процесу dnsmasq, який створив DUID de-novo. Після того, як DUID було створено та збережено в файлі оренди, і dnsmasq перезавантажили, ця помилка зникла.
  • Виправлена ​​помилка, введена в 2.67, що може призвести до помилкового повернення NXDOMAIN до запитів CNAME.
  • Виправлено помилки зборки на MacOS X і openBSD.
  • Дозволити специфікації підмережі в --auth-зоні бути назвами інтерфейсів, а також адресними літерами. Це дає змогу настроїти авторитетний DNS, коли діапазони локальних адрес є динамічними і працюють набагато краще, ніж попередній робочий процес, який звільняється від сумарного діапазону DHCP від ​​фільтрації IP-адреси. Як наслідок, це робоче місце знімається. За певних обставин ця зміна може призвести до виходу з існуючої конфігурації: якщо ви покладаються на виключення зі строковим діапазоном, вам слід змінити --auth-зону, щоб вказати той самий інтерфейс, який використовується для побудови діапазонів DHCP, можливо, з кінцевою "/ 6" виглядає так: --auth-zone = example.com, eth0 / 6, щоб обмежити адреси IPv6-адресами eth0.
  • Виправлення неполадок при видаленні реклами видалених префіксів IPv6. Якщо префікс видалено (а не замінено), він не отримує рекламу з нульовим бажаним часом. Дякую Цачі за звіт про помилку.
  • Виправте segfault з деякими локально налаштованими CNAME. Дякую Ендрю Чайлдс за виявлення проблеми.
  • Виправлено витік пам'яті при повторному читанні / etc / hosts та друзів, представлених у 2.67.
  • Перевірте інтерфейс прибуття вхідних DNS-запитів і TFTP за допомогою IPv6, навіть у режимі --bind-interfaces. Це неможливо для IPv4 і може генерувати страшні попередження, але як це завжди можливо для IPv6 (API завжди існує), тоді ми повинні це робити завжди.
  • Виправте правила щодо довжини префіксу в --dhcp-діапазоні для IPv6. Нове правило полягає в тому, що вказана довжина префікса повинна бути більшою або дорівнює довжині префіксу відповідної адреси в локальному інтерфейсі.

Що нового у версії 2.63:

  • Основним доповненням до цього випуску є новий режим - bind-динамічний, який обидва дозволяє уникнути зв'язування IP-адреси підстановки та керувати динамічно створеними мережевими інтерфейсами, таким чином, видаляючи основні обмеження двох існуючих мережевих режимів.

Що нового у версії 2.61:

  • Ця версія має багато додаткової роботи з кодом DHCPv6, який дебютував в 2.60.
  • Багато помилок було виправлено та додано додаткові функції.
  • Тепер функція реклами маршрутизатора набагато налаштовується, і існує режим, який дозволяє dnsmasq робити записи DNS AAAA для хостів, які використовують адреси IP адреси SLAAC і адреси IPv4 DHCP.

Що нового у версії 2.59:

  • Ця версія стосується пари проблем, що виникають при використанні dnsmasq-2.58, що може спричинити проблеми при запуску з локальними адресами URL-адрес IPv6.
  • Однією з причин є регресія в dnsmasq, а інша - через зміну поведінки мостових інтерфейсів в останніх ядрах Linux.

Що нового у версії 2.58:

  • версія 2.58
  • Надайте визначення макросу SA_SIZE, де воно відсутнє. Виправлення створюють помилки в openBSD.
  • Не включайте нульовий термінатор в кінці повідомлень, відправлених до / dev / log, коли / dev / log є сокетом дейтаграми. Дякую Дідьє Рабоунд за виявлення проблеми.
  • Додайте прапорець --dhcp-sequential-ip, щоб зупинити розподіл IP-адрес у порядку зростання. Зверніть увагу, що стандартний псевдослучайний режим загалом кращий, але для деяких додатків, що потребують розгортання сервера, це потрібно.
  • Виправте проблему, коли ідентифікатор сервера 0.0.0.0 надсилається клієнту, коли реєстр dhcp використовується, якщо клієнт оновлює оренду після перезавантаження dnsmasq і перед тим, як будь-які клієнти в підмережі отримують нову оренду. Дякую Майку Руізу за допомогу в переслідуванні цього.
  • Не повертайте NXDOMAIN в запит AAAA, якщо у нас є CNAME, який вказує лише на запис A: у цьому випадку правильна відповідь NODATA. Дякую Тору Фернандесу за те, що виявлено проблему.
  • Розслабте необхідність постачати мережеву маску в діапазоні --dhcp для мереж, які використовують ретранслятор DHCP. Незважаючи на те, що це все ще бажано, за відсутності мережевої маски dnsmasq використовуватиме за замовчуванням на основі класу (A, B або C) адреси. Це має принаймні видалити причину таємничого збою для людей, які використовують адреси та реле RFC1918.
  • Додайте підтримку для позначення підключення Linux conntrack. Якщо ввімкнено використанням --conntrack, знак підключення для вхідних DNS-запитів буде скопійований на вихідні з'єднання, які використовуються для відповіді на ці запити. Це дозволяє розумним брандмауером та бухгалтерським матеріалом. Доступно лише якщо dnsmasq складається з HAVE_CONNTRACK і додає залежність від libnetfilter-conntrack. Спасибі Еду Валдуозу за вихідну ідею, тестування та спонсорство цієї функції.
  • Надайте правильне повідомлення про помилку, коли хтось спробує збігати тег з -dhcp-хостом.
  • Налаштуйте поведінку --domain-needed, щоб уникнути проблем з рекурсивними серверами імен нижче потоку від dnsmasq. Нова поведінка лише зупиняє запити A та AAAA і повертає NODATA, а не відповіді NXDOMAIN.
  • Виправлення ефективності для дуже великих конфігурацій DHCP завдяки Джеймсу Гартреллу та Майку Руїсу за допомогу в цьому.
  • Дозволити адресу TFTP-сервера у файлі -dhcp-boot - ім'я домену, яке шукається в / etc / hosts. Це може дати кілька IP-адрес, які використовуються круглим столом, таким чином, виконуючи балансування навантаження на сервері TFTP. Завдяки Сушілу Агравалю за патч.
  • Коли два позначені параметри dhcp для певного номера опції є правильними, використовуйте той, який дійсний без тегу з діапазону dhcp. Дозволяє переоцінювати значення параметра DHCP для певного хосту, а також значення для кожної мережі.
  • - dhcp-range = set: interface1, ......
  • - dhcp-host = set: myhost, .....
  • - dhcp-option = tag: interface1, опція: nis-domain, "domain1"
  • - dhcp-option = tag: myhost, option: nis-domain, "domain2"
  • встановить домен NIS до домену1 для хостів діапазону, але
  • перевизначити його для домену2 для певного хоста.
  • Виправлена ​​помилка, яка призвела до скорочення файлів і тайм-аутів для деяких передач TFTP. Помилка виникає тільки з перенесеннями netascii, і потребує невдалої зв'язку між розміром файлу, розміром блоку та кількістю нових рядків у останньому блоці, перш ніж він проявляється. Велике спасибі Алкису Георгопулосу за виявлення проблеми та надання всебічної перевірки.
  • Виправте регресію на сервері TFTP на * платформах BSD, представлених у версії 2.56, через конфлікт із довжиною sockaddr. Велике спасибі LoA & macr; c Pefferkorn, щоб знайти це.
  • Підтримка сфер-ідентифікаторів в адресах IPv6 серверів імен із /etc/resolv.conf та в параметрах --server. E
  • наприклад, сервер назв fe80 :: 202: a412: 4512: 7bbf% eth0
  • server = fe80 :: 202: a412: 4512: 7bbf% eth0. Спасибі
  • Майкл Стапелберг за пропозицією.
  • Оновлення польського перекладу, завдяки Яну Псоті.
  • Оновіть французький переклад. Дякую Джилдас Ле Надан.

Що нового у версії 2.57:

  • Ця версія виправляє пару регресій у попередньому випуску та додає підтримку платформи Android.

Що нового у версії 2.56:

  • Додайте патч, щоб дозволити dnsmasq отримувати імена інтерфейсів прямо в зоні Solaris. Дякую Дід Падзенському за це.
  • Покращити аналіз типу даних для аналізу евристики, щоб --dhcp-option = option: domain-search. розглядає значення як рядок, а не IP-адресу. Дякую Клеменс Фішер за те, що видно.
  • Додайте підтримку IPv6 до TFTP-сервера. Велике спасибі Яну 'RedBully' Seiffert за патчі.
  • Записуйте запити DNS на рівні LOG_INFO, а не LOG_DEBUG. Це робить речі сумісні з веденням протоколу DHCP. Дякуємо Адаму Прібілу за виявлення проблеми.
  • Переконайтеся, що під час використання dnsmasq вичерпно виконується - syslog-async, навіть якщо він не може встановити з'єднання з syslogд.
  • Додайте параметр --add-mac. Це підтримувати поточні експериментальні можливості фільтрування DNS. Дякую Бенджаміна Петріну за оригінальний патч.
  • Виправлено помилку, яка означала, що теги були проігноровані у конфігурації діапазону dhcp, вказавши службу PXE-proxy. Дякуємо Крістіану Кумеру за те, що ви помітили це.
  • Підвищити помилку, якщо у командному рядку є додатковий смітник, а не частина параметра.
  • Позначте пару повідомлень журналу в cache.c, що надходять з підсистеми DHCP. Спасибі Олафу Вестріку за патч.
  • Втратити відмітки часу з журналів, коли а) вхід до stderr і b) - встановити значення "hold-in-forground". Запас лісозаготівель на іншому кінці stderr може бути передбачений для їх постачання. Дякую John Hallam за патч.
  • Не скаржись на рядки довше 255 символів у файлі -txt-файлі, просто розділіть довгі рядки на 255-символьні шматки замість
  • Виправте аварійне завершення роботи без двійника. Ця помилка може статися тільки тоді, коли використовується dhcp-script, а потім лише в рідкісних випадках, викликаних високою швидкістю транзакції DHCP та повільним сценарієм. Дякую Ференцу Вагнеру за пошук проблеми
  • Запишіть лише те, що файл був відправлений TFTP після успішного завершення передавання.
  • Хороша пропозиція від Ференца Вагнера: розширити --domen параметр дозволяє такі речі: --domain = thekelleys.org.uk, 192.168.0.0 / 24, локальний, який автоматично створює
  • - local = / thekelleys.org.uk /
  • - local = / 0.168.192.in-addr.arpa /
  • Збільшити перевірку синтаксису шістнадцяткових конденсатів у файлі конфігурації. Спасибі Фреду Дамену за те, що ви помітили це.
  • Додайте логотип / значок dnsmasq, надане Джастіном Свіфтом. Дякую за це.
  • Ніколи не зберігайте кешування DNS-відповідей, у яких встановлений біт 'cd', або які виникають у запитах, пересланих бітовим набором 'cd'. Біт "cd" доручає серверу перевірки DNSSEC вгору, щоб ігнорувати збій підпису та повертати відповіді в будь-якому випадку. Без цієї зміни можна забруднити кеш dnsmasq з поганими даними, зробивши запит із встановленим битом 'cd', і наступні запити повернуть ці дані, не будучи позначеними як підозрілі. Дякую Андерс Касеорг, щоб висвітлити цю проблему.
  • Додайте прапор -proxy-dnssec для відповідності RFC 4035. Dnsmasq тепер очистить біт "реклами" у відповідях, що повертаються з перевірки серверів імен у випуску, якщо цей параметр не встановлено.
  • Дозволити ім'я файлу "-" для --conf-файла для читання stdin. Пропозиція від Тимофія Редаеллі.
  • Поверніть порядок запису SRV у відповідях, щоб забезпечити балансування навантаження за круглим столом, коли всі пріоритети рівні. Спасибі Пітеру Маккінні за пропозицію.
  • Редагувати contrib / MacOSX-launchd / uk.org.thekelleys.dnsmasq.plist, щоб він не записував всі запити до файлу за замовчуванням. Ще раз спасибі Пітеру Маккінні.
  • За замовчуванням, встановлення адреси IPv4 для домену, але не адреси IPv6 викликає dnsmasq, щоб повернути відповідь NODATA для IPv6 (або навпаки). Таким чином --address = / google.com / 1.2.3.4 зупиняється переадресація запитів IPv6 для * google.com. Зробіть можливим переопределити цю поведінку, визначивши сіматику, якщо один і той же домен з'явиться в обох - сервер і адреса. У цьому випадку - address має пріоритет для сімейства адрес, в якій він з'являється, але --сервер має пріоритет сімейства адрес, який не відображається в - adddress
  • Так:
  • - address = / google.com / 1.2.3.4
  • - server = / google.com / #
  • Повертає 1.2.3.4 для запитів IPv4 для * .google.com, але пересилає запити IPv6 до звичайного сервера імен зверху. Точно так само при встановленні адреси IPv6 це дозволить пересилати запити IPv4. Спасибі Вільгельму, щоб вказати на необхідність цього.
  • Дозволити декілька файлів - dhcp-optsfile та --dhcp-hostsfile і зробити їх зрозумілим каталогах як аргументи таким же чином, як і для adadn-хостів. Пропозиція від Джона Хенкса.
  • Ігнорувати запити перезавантаження для оренди, про які ми не знаємо. Rebind транслюється, тому ми можемо отримати підслуховує запит, призначений для іншого DHCP-сервера. НАЙКА це неправильно. Дякую Бред Д'Хонтт за допомогу з цим.
  • Виправте косметичну помилку, яка призводить до незрозумілого виходу при демонтації статистики кешу з деякими конфігураціями. Спасибі Федору Кожевнікову за те, що ви помітили це.

Що нового у версії 2.55:

  • Виправлено помилку, коли використовуються / etc / eters. Дякую Джанлуіджі Праці, щоб знайти це.
  • Виправлення аварії в netlink_multicast (). Дякуємо Арно Вальду за пошук цього.
  • Дозволити порожній домен "." у параметрах доменного пошуку dhcp (119)

Схожі програми

BIND
BIND

20 Jan 18

DNS-Tool
DNS-Tool

3 Jun 15

Інші програми розробника Simon Kelley

syslog-async
syslog-async

3 Jun 15

dhcp-helper
dhcp-helper

2 Jun 15

Dnsmasq

Коментар не знайдено
додати коментар
Включіть картинки!
Пошук за категоріями