URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 87676
[ Назад ]

Исходное сообщение
"dnsmasq не отвечает Win-системам (иксам отвечает)"

Отправлено Tankha , 22-Дек-09 03:28 
На Debian стоит шлюз, раздающий инет в локалку
В принципе всё отлично за исключением того, что dnsmasq не дает доступа к локально установленным на том же шлюзе сайтам компьютерам с Windows, при этом у еще одного клиентского компа с Debian нет никаких проблем.
Дискриминация однако.

Windows 7, XP, Vista - не получают ответа от DNS пытаясь зайти по адресу:
http://my-site
Кроме того my-site не понгуется ни с одной из этих машин.
Хотя nslookup отвечает что есть такой, - вижу его на 192.168.0.1

При этом еще одна клиентская машина с Debian и пингует сайт и видит его в браузере.

Всё тыщу раз перегружалось, DNS кэш очищался везде. Результат один.

При этом проброску DNS запросов dnsmasq осуществляет без проблем все публичные сайты во вне открываются без проблем на всех компах.

Никак не пойму - как такое возможно?
В логах пишет что dnsmasq успешно прочел всё из /etc/hosts и кстати на машине с Debian происходит интересный фокус.
dnsmasq читает из файла /etc/hosts запись о соответствие 127.0.0.1 с именем шлюза и если ввести на другой Debian машине имя шлюза http://шлюз, то в ответ откроется localhost клиентского компьютера :). Хотя это понятно - ведь от DNS пришел ответ о том, что это 127.0.0.1 ...
Но почему все компы с Windows ничего не видят кроме внешнего мира?

Плз натолкните хотябы на какую-нибудь идею - у меня уже мозги плавятся после нескольких дней и ночей ковыряния в этой проблеме.


Содержание

Сообщения в этом обсуждении
"dnsmasq не отвечает Win-системам (иксам отвечает)"
Отправлено andy , 22-Дек-09 09:36 
А проходят ли пинги по IP адресу, если нет, имеет смысл посмотреть вывод route print.
И как вариант отключить на клиентских машинах брандмауэр, firewall.

"dnsmasq не отвечает Win-системам (иксам отвечает)"
Отправлено ze6ra , 22-Дек-09 09:58 
>[оверквотинг удален]
>dnsmasq читает из файла /etc/hosts запись о соответствие 127.0.0.1 с именем шлюза
>и если ввести на другой Debian машине имя шлюза http://шлюз, то
>в ответ откроется localhost клиентского компьютера :). Хотя это понятно -
>ведь от DNS пришел ответ о том, что это 127.0.0.1 ...
>
>Но почему все компы с Windows ничего не видят кроме внешнего мира?
>
>
>Плз натолкните хотябы на какую-нибудь идею - у меня уже мозги плавятся
>после нескольких дней и ночей ковыряния в этой проблеме.

Чтото мне подсказывает что-то при запросе http://my-site win машины подставляют недостающий, по их мнению TLD (.ru или .com) в DNS запрос.


"dnsmasq не отвечает Win-системам (иксам отвечает)"
Отправлено charon , 22-Дек-09 11:07 
nslookup проходит успешно, а что пишет ping? В выводе ping есть айпи-адрес my-site?

"dnsmasq не отвечает Win-системам (иксам отвечает)"
Отправлено lavr , 22-Дек-09 12:19 
>[оверквотинг удален]
>dnsmasq читает из файла /etc/hosts запись о соответствие 127.0.0.1 с именем шлюза
>и если ввести на другой Debian машине имя шлюза http://шлюз, то
>в ответ откроется localhost клиентского компьютера :). Хотя это понятно -
>ведь от DNS пришел ответ о том, что это 127.0.0.1 ...
>
>Но почему все компы с Windows ничего не видят кроме внешнего мира?
>
>
>Плз натолкните хотябы на какую-нибудь идею - у меня уже мозги плавятся
>после нескольких дней и ночей ковыряния в этой проблеме.

У dnsmasq ну очень короткий FAQ, и в нем есть ответ на вопрос:

====================================================================================
Q: Names on the internet are working fine, but looking up local names
   from /etc/hosts or DHCP doesn't seem to work.

A: Resolver code sometime does strange things when given names without
   any dots in. Win2k and WinXP may not use the DNS at all and just
   try and look up the name using WINS. On unix look at "options ndots:"
   in "man resolv.conf" for details on this topic. Testing lookups
   using "nslookup" or "dig" will work, but then attempting to run
   "ping" will get a lookup failure, appending a dot to the end of the
   hostname  will fix things. (ie "ping myhost" fails, but "ping
   myhost." works. The solution is to make sure that all your hosts
   have a domain set ("domain" in resolv.conf, or set a domain in
   your DHCP server, see below fr Windows XP and Mac OS X).
   Any domain  will do, but "localnet" is traditional. Now when you
   resolve "myhost" the resolver will attempt to look up
   "myhost.localnet" so you need to have dnsmasq reply to that name.
   The way to do that is to include the domain in each name on
   /etc/hosts  and/or to use the --expand-hosts and --domain options.

Q: How do I set the DNS domain in Windows XP or MacOS X (ref: previous
   question)?

A: for XP, Control Panel > Network Connections > { Connection to gateway /
   DNS } > Properties > { Highlight TCP/IP } > Properties > Advanced >
   DNS Tab > DNS suffix for this connection:
========================================================================================


"dnsmasq не отвечает Win-системам (иксам отвечает)"
Отправлено Tankha , 22-Дек-09 12:28 
Спасибо за ответы!
Пинг с Win-машин (всех) вообще не проходит на имя my-site (пишет нет такого)
nslookup отвечает что всё видит - есть  такой.

Пинги с Debian системы проходят без проблем.

Насчет окончания в имени - мысль интересная, сейчас попробую.

P.S.
Если в dnsmasq включить логгирование, то при попытке открыть http://my-site c Win-машин в логе появляется следующее:
... dnsmasq[5659]: query[A] linkhelp.clients.google.com is <CNAME>
... dnsmasq[5659]: forwarded linkhelp.clients.google.com to _ДНС_ПРОВАЙДЕРА_
... dnsmasq[5659]: reply linkhelp.clients.google.com is <CNAME>
... dnsmasq[5659]: reply linkhelp.clients.google.com is 74.125.87.100
...
дальше идут похожие строки reply с гугловскими адресами и IP 74.125.87.***
А в браузере на Win-машине открывается скупая гугловская страничка с сообщением об ошибке.

А при открытии в браузере на машине с Debian в логе следующее:
... dnsmasq[5659]: query[A] my-site from 192.168.0.105
... dnsmasq[5659]: /etc/hosts my-site is 192.168.0.1
... dnsmasq[5659]: query[AAAA] my-site from 192.168.0.105
... dnsmasq[5659]: config my-site is NODATA-IPv6
... dnsmasq[5659]: query[A] my-site from 192.168.0.105
... dnsmasq[5659]: /etc/hosts my-site is 192.168.0.1
... dnsmasq[5659]: query[AAAA] my-site from 192.168.0.105
... dnsmasq[5659]: config my-site is NODATA-IPv6
... dnsmasq[5659]: query[A] my-site from 192.168.0.105
... dnsmasq[5659]: /etc/hosts my-site is 192.168.0.1
... dnsmasq[5659]: query[AAAA] my-site from 192.168.0.105
... dnsmasq[5659]: config my-site is NODATA-IPv6


Это чтоже получается - запросы не доходят даже до шлюза?


"dnsmasq не отвечает Win-системам (иксам отвечает)"
Отправлено Tankha , 22-Дек-09 13:43 
ОГРОМНОЕ спасибо!
Достаточно было в /etc/hosts  к названию дописать что-угодно после точки (и соответственно разрулить апач), как всё прекрасно заработало.

Теперь
http://my-site.blablabla - прекрасно работает :)

P.S.
Все-таки dnsmasq - очень удобная и простая штука! :)