DD-WRT, що обслуговує додаткові сервери DNS замість IP-адреси маршрутизатора


9

У мене є маршрутизатор DD-WRT (використовуючи DD-WRT v24SP2-MULTI (21.03.11) std) з DNSMasq для вирішення певних доменів на внутрішні адреси та передачі всього іншого через. Сам маршрутизатор налаштований для використання загальнодоступних серверів DNS Google для вирішення адрес.

Мій екран налаштування виглядає приблизно так:

Екран налаштування DDWRT

Моя проблема полягає в тому, що при підключенні клієнта DHCP вони отримують маршрутизатор плюс два сервери Google DNS як призначені сервери DNS:

DNS-сервери, призначені DHCP

Ця проблема полягає в тому, що іноді бездротові клієнти намагаються вирішити домен, який повинен вказувати на внутрішню IP-адресу, і в кінцевому підсумку отримують зовнішній ip, тому що з будь-якої причини їх запит направляється 8.8.8.8замість маршрутизатора.

Я не хочу, щоб маршрутизатор обслуговував нічого, крім власного IP, як DNS-сервера. Це можливо?


1
Я можу помилятися, але оскільки це розділ конфігурації сервера DHCP, ви чітко повідомляєте своєму маршрутизатору надавати ці google-сервери як dns варіанти для клієнтів. Ви хочете видалити їх зі списку, а потім налаштувати маршрутизатор для отримання власних dns з google, можливо, відповідь нижче - це правильний спосіб зробити це.
horatio

Якщо я їх
видалю

Ви говорите "з будь-якої причини" кілька разів у своєму дописі та коментарях. Це є причиною того, що 8.8.8.8 передається клієнтам. Тому що ти це сказав. Якщо ви не хочете, щоб це повідомлялося, його потрібно видалити. Якщо ваш маршрутизатор - це сервер dns, спробуйте ТОЛЬКО його адресу.
horatio

@horatio, не дуже. Моя думка, чому сервер dhcp взагалі видає будь-які додаткові адреси DNS. Якщо dnsmasq на пристрої та застосовує певні правила вирішення імен, обслуговування додаткових серверів DNS (крім самого маршрутизатора) перемагає цю мету.
0x6A75616E

Цей розділ - це список DNS-серверів, які потрібно роздати клієнтам, які вимагають DHCP-інформації.
horatio

Відповіді:


7

Добре, що ви використовуєте DNSMasq.

Ви можете налаштувати те, що потрібно на вкладці Служби (> Послуги) , у вікні DNSMasq> Додаткові параметри DNSMasq , але спочатку потрібно очистити ці статичні поля DNS. Статичні поля DNS у розділі "Налаштування> Основна настройка"

Додайте до поля параметрів DNSMasq наступне:

dhcp-option= option:dns-server, 192.168.10.10 # DHCP option 006

server = 8.8.8.8 # DNSMasq will use these servers for forwarding the DNS requests that it can't serve
server = 8.8.4.4

Це, здається, прекрасно працювало для мене. Дуже дурне питання, хоча. У якій частині цього першого рядка вказаний варіант 006 DHCP? варіант: dns-сервер?
Залишковий замовлення

@Residualfail: Так; Я думаю, що ви можете вказати це чисельно, але option:dns-serverвідповідає параметру DHCP 006.
palswim

1
Здається, я могла говорити занадто рано. Це не схоже на те, що dns повертається до dns Google після мого закриття внутрішнього dns. = (
Залишкова

4

Інформація, взята з офіційного сайту DD-WRT: http://www.dd-wrt.com/wiki/index.php/OpenDNS

Здається, ви можете встановити залишкові сервери dns на неперехідні IP-адреси (в моєму випадку 10.0.0.0& 10.0.0.1), і це видавить ваші провайдери DNS-серверів за допомогою цих не-маршрутизаторів. Поки що для мене це, здається, працює без затримок, чекаючи на неіснуючих серверах DNS.


Затримки не буде, тому що нерутальні адреси будуть одразу викинуті мережевим стеком. Це створює незначну кількість накладних витрат і є хакером, але реальних проблем у світі не повинно бути.
Хтось

3

Я не використовую DDWRT, тож це питання на півзапитання / на піввідповіді.

Посібник DNSMasq як сервер DHCP говорить у розділі "Додаткові параметри DNSMasq":

У веб-інтерфейсі для DNSMasq є кілька додаткових опцій, які можна встановити, ввівши їх у Додаткові параметри DNSMasq на вкладці «Послуги».

Якщо ви хочете пройти через сервери DNS від свого провайдера, ви можете скористатися такими параметрами:

dhcp-option=6, x.x.x.x, y.y.y.y

де xxxx = DNS1 yyyy = DNS2

Це, мабуть, означає, що передача серверів провайдера необов’язкова, тому розміщення та видалення вищевказаної лінії повинно вимкнути її.


1
Я б встановив dhcp-option = 6,192.168.10.10, щоб передати цю IP-адресу як IP-сервер DNS клієнтам DHCP.
Тан

1
Дякуємо за вказівник. Я спробував це на обох uDHCPd (що є демоном DNS, який я використовував у ddwrt) та DNSMasq (перейшов на нього), але безрезультатно :(. Він продовжує подавати додаткові записи dns з будь-якої причини.
0x6A75616E

У такому випадку, можливо, ви можете залишити це питання на форумах DD-WRT .
harrymc

2

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

Я думаю, ви хотіли додати (зрештою, швидше) DNS-сервери google у конфігурацію зовнішнього клієнта DHCP (де DNSMASQ прийме свої налаштування клієнта DNS)

Додатково:

Вам потрібно додати додаткові (усі) DNS-сервери до конфігурації посилань WAN DNSMasq використовуватиме їх, і ніколи той клієнт DHCP не придбає у постачальника.


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

2

Типовий варіант конфігурації для DD-WRT полягає в тому, щоб маршрутизатор мав можливість маршрутизувати DNS за межами основних DNS-серверів провайдера; що ви успішно зробили; однак, оскільки запити генеруються з машини CLIENT, підключаючи маршрутизатор TOO, порядок уподобань завжди надається налаштованому DNS на машині клієнта, а потім до маршрутизатора.

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

Налаштування клієнта

Потім переконайтеся, що правильно налаштовано маршрутизатор DD-WRT:

Налаштування маршрутизатора

У наведеній вище конфігурації у вас також є деякі проблеми; ви встановили діапазон адрес DHCP, починаючи з 200та закінчуючи на 255; Я рекомендую вам змінити це, щоб почати з 200 і закінчити на 254; залишаючи адресу 255 вимкненою, враховуючи, що для звичайних конфігурацій *.*.*.255- це широкомовна адреса, а не нормальна IP-адреса, яка використовується для призначення присвоєному клієнту.

Я виділив локальні налаштування DNS, оскільки ви встановили свої 127.0.0.1; що означає, що на маршрутизаторі працює локальний DNS-сервер . Якщо це не так, змініть його на 0.0.0.0або введіть відповідну адресу на локальний DNS-сервер у вашій мережі.

Ви помітите, що коли сервер та клієнт налаштовані таким чином, з’явиться лише IP-адреса маршрутизатора DNS; і всі запити будуть спрямовані через сервери DNS, пов'язані з маршрутизатором.

Примітка про локальний DNS-сервер Якщо ви бажаєте, щоб маршрутизатор асоціював певну локальну адресу з локальними IP-адресами, ви можете додати їх до параметрів конфігурації DNSMasq у відповідному екрані DD-WRT або використовувати локальний DNS-сервер і ввести відповідну IP-адресу для цей сервер (як правило, статичний сервер, в межах мережі). Таким чином, порядок дозволу буде спочатку локальним сервером, а потім 2 зовнішнім. Але все ж тільки клієнти будуть бачити IP маршрутизатора як DNS-сервер.


дякую за вашу відповідь! Я переконався, що всі клієнти в мережі не мають чітко закодованих серверів DNS. Насправді, у кожному випадку 192.168.10.10 (сам маршрутизатор) повертається як перший DNS-сервер, який потрапив. Що трапляється, це те, що деякі комп’ютери випадковим чином потрапляють на вторинні сервери DNS, які DHCP надає зараз. Я спробував мільйон речей, і це виглядає так, що немає ніякого способу, щоб він слугував самому собі. Я можу в кінцевому підсумку запустити деякі інші екземпляри dnsmasq на іншій машині і використовувати його як dns2 та dns3 .. такий хак! Лол. THX знову.
0x6A75616E

2

У мене виникли подібні проблеми після того, як мій маршрутизатор помер, і мені потрібно було запустити спалах WRT160N.

У мене в коробці функціонує локальний DNS-сервер на 192.168.2.30. Я в основному хочу, щоб DHCP видав цю адресу лише як DNS-сервер; Я не хочу, щоб DNS ішов більше кудись.

Я використовую "Прошивку: DD-WRT v24-sp2 (12/19/10) mini"

Здається, не має значення, яку комбінацію налаштувань DNSMasq, налаштувань DHCP, локального DNS або будь-якого іншого, що я використовую. Якщо DNS Server 2 і DNS Server 3 порожні або збігаються з DNS Server 1, DD-WRT наполягає на роздачі DNS-серверів Comcast для цих місць. Я не хочу цього робити, оскільки у мене 192.168.2.30 переадресація на OpenDNS для запитів, які не є локальними.

Я записую це як помилку в цій досить старій (на сьогоднішній день) версії DD-WRT і збираюся встановити / налаштувати власний сервер DHCP на 192.168.2.30 та відключити DHCP на маршрутизаторі.


1
це насправді не погана ідея ... Я можу просто встановити dhcp на інший ящик і кинути викручуватися разом з ddwrt.
0x6A75616E

1
Ця проблема все ще існує в моїй збірці в лютому 2016 року, здається, є особливістю. Я вириваю маршрутизатор і збираюся повернутися до цього ПК на Linux. Люди, які будують програмне забезпечення для маршрутизаторів, дійсно повинні краще розуміти проблеми конфіденційності, які виникають із такою несподіваною, нечастою та безвідповідальною поведінкою графічного інтерфейсу. Якщо мені доведеться зламати речі разом, реально немає сенсу використовувати порівняно складну та обмежену систему. А коли ви вже працюєте на DNS та DHCP на іншій машині, що залишилося для маршрутизатора? Відштовхування пакета?
Хтось

1

Додано на кілька років із запізненням, тому що я натрапив на пошуки відповіді ... Я додав віртуальні інтерфейси в свою пі-дірку, щоб обробляти ще 2 IP-адреси.

eth0 192.168.10.10
eth0.1 192.168.10.11
eth0.2 192.168.10.12

Це дозволило мені заповнити всі 3 поля з локальними адресами і виставити це достатньо, щоб незважаючи на те, що маршрутизатор dd-wrt роздає 5, 3 локальних та 2 dns провайдера ISP, мої машини не вдарять їх.


0

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

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.