На 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 ничего не видят кроме внешнего мира?Плз натолкните хотябы на какую-нибудь идею - у меня уже мозги плавятся после нескольких дней и ночей ковыряния в этой проблеме.
А проходят ли пинги по IP адресу, если нет, имеет смысл посмотреть вывод route print.
И как вариант отключить на клиентских машинах брандмауэр, firewall.
>[оверквотинг удален]
>dnsmasq читает из файла /etc/hosts запись о соответствие 127.0.0.1 с именем шлюза
>и если ввести на другой Debian машине имя шлюза http://шлюз, то
>в ответ откроется localhost клиентского компьютера :). Хотя это понятно -
>ведь от DNS пришел ответ о том, что это 127.0.0.1 ...
>
>Но почему все компы с Windows ничего не видят кроме внешнего мира?
>
>
>Плз натолкните хотябы на какую-нибудь идею - у меня уже мозги плавятся
>после нескольких дней и ночей ковыряния в этой проблеме.Чтото мне подсказывает что-то при запросе http://my-site win машины подставляют недостающий, по их мнению TLD (.ru или .com) в DNS запрос.
nslookup проходит успешно, а что пишет ping? В выводе ping есть айпи-адрес my-site?
>[оверквотинг удален]
>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:
========================================================================================
Спасибо за ответы!
Пинг с 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
Это чтоже получается - запросы не доходят даже до шлюза?
ОГРОМНОЕ спасибо!
Достаточно было в /etc/hosts к названию дописать что-угодно после точки (и соответственно разрулить апач), как всё прекрасно заработало.Теперь
http://my-site.blablabla - прекрасно работает :)P.S.
Все-таки dnsmasq - очень удобная и простая штука! :)