Debian не отвечает винде по hostname

Автор Iflex, 29 марта 2014, 14:52:43

« назад - далее »

0 Пользователи и 5 гостей просматривают эту тему.

Iflex

Всем привет!

Подскажите, пожалуйста, почему у меня дебиан не доступен винде по hostname, и как сделать, чтобы стал доступен  :-\
Дебиан и винда в одной подсети, дома, за роутером. По Ip пингуется всё.

Собственно, дебиан:
Открыть содержимое (спойлер)
Description:    Debian GNU/Linux 6.0.7 (squeeze)
Release:        6.0.7
Codename:       squeeze
[свернуть]

/etc/hostname
Открыть содержимое (спойлер)
Myserver
[свернуть]

/etc/hosts
Открыть содержимое (спойлер)
127.0.0.1       localhost
127.0.0.1       Myserver
192.168.1.9     Myserver

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
[свернуть]

dig 'hostname'
Открыть содержимое (спойлер)
; <<>> DiG 9.7.3 <<>> Myserver
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 5879
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0

;; QUESTION SECTION:
;Myserver.                      IN      A

;; AUTHORITY SECTION:
.                       9449    IN      SOA     a.root-servers.net. nstld.verisign-grs.com. 2014032900 1800 900 604800 86400

;; Query time: 1 msec
;; SERVER: 10.22.10.1#53(10.22.10.1)
;; WHEN: Sat Mar 29 14:53:11 2014
;; MSG SIZE  rcvd: 101
[свернуть]

/etc/samba/smb.conf
Открыть содержимое (спойлер)
[global]
        workgroup =
        server string = %h server
        interfaces = eth2, 192.168.1.9/24
        obey pam restrictions = Yes
        pam password change = Yes
        passwd program = /usr/bin/passwd %u
        passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
        unix password sync = Yes
        syslog = 0
        log file = /var/log/samba/log.%m
        max log size = 1000
        name resolve order = wins lmhosts hosts bcast
        dns proxy = No
        wins support = Yes
        panic action = /usr/share/samba/panic-action %d
        netbios name = Myserver
[свернуть]

qupl

Iflex, смотрите настройки DNS в винде/роутере(если через него соединены).

Iflex

да там всё вроде норм
и сам роутер и днс провайдера


qupl

Iflex, DNS провайдера это хорошо, а они видят вашу внутреннюю сетку и имена машин в ней?

Iflex

нет. я за натом сижу, они ничего видеть не должны

yura_n

В файле hosts, на той машине, откуда обращаетесь, добавьте IP-адрес и имя той машины, к которой обращаетесь.

Iflex

Костыли не хочу  :)
хочу разобраться в проблеме.
в сети на продакшене будем внедрять файлсервер, там тоже компам надо будет костылить? а если сеть распределённая будет? ;D

давайте попробуем разобраться.

yura_n

Цитата: Iflex от 29 марта 2014, 17:36:27Костыли не хочу  :)
А это не костыль. У вас самая что ни на есть штатная ситуация, если я правильно понял проблему. Хосты в локальной сети и не должны видеть другие хосты по их именам. Еще вы может установить локальный DNS сервер, тогда хосты будут брать имена от него.

Iflex

ну как же,
http://dhargo.blogspot.ru/2012/06/tcpip-microsoft.html
в винде при определении имени есть бродкастный нетбиос запрос,
у меня самба стоит, имя нетбиос прописано
так что, это костыль, всё должно само распознавать )_)

yura_n

А в чем вы видите связь между именами хостов и NetBios? NetBios - это одна технология, DNS - это другая технология. Не мешайте одно с другим.

qupl

Цитата: yura_n от 29 марта 2014, 18:20:23
А в чем вы видите связь между именами хостов и NetBios? NetBios - это одна технология, DNS - это другая технология. Не мешайте одно с другим.
+2

ping не знает никакого netbios-а.


Iflex

я и не мешаю, я про DNS вообще ничего не говорил.
Мне нужно, чтобы в одной подсети безо всяких DNS серверов виндовые хосты могли обращаться к дебиану по имено её хоста.
механизм для этого есть - разрешение имён широковещательным запросом, если dns ничего не выдал. штатный виндовый механизм.

пинг может и не знает нетбиоса, но он же инициирует процесс разрешения имён, который идёт по одной и той же схеме. Поправьте, если я неправ. наберите ping google.ru, разрешение произойдёт.


yura_n

Цитата: Iflex от 29 марта 2014, 18:34:42Поправьте, если я неправ. наберите ping google.ru, разрешение произойдёт.
Вы неправы, поправляю.  ;D Каждый хост в сети NetBios периодически шлет широковещательные запросы всем другим хостам в сети, которые ему отвечают. И таким образом он получает информацию о них. Когда вы пингуете по DNS имени, происходит обращение к ближайшему известному DNS серверу, который если знает возвращает имя, если нет, то начинает получать информацию по цепочке DNS серверов. То есть, никакой связи между NetBios и DNS нет даже приблизительно.
Вам надо настраивать Samba, в настройках которой продублировать имена хостов.

Iflex

#13
yura_n,
вы мне про тёплое, я вам про мягкое.
Если бы вы прошли по ссылке, которую я выше запостил, я думаю, вы бы поняли ход моей мысли  :)
перекопирую сюда.

в винде процесс распознавания имени хоста просиходит следующим образом:
1. Windows проверяет совпадает ли запрашиваемое имя узла с локальным именем узла.
2. Если локальное и запрашиваемое имя различаются, то просматривается содержимое кэша DNS распознавателя (DNS Client Resolver Cache). В котором, как мы знаем все содержимое файла Hosts.
3. Если в кэше не найдено записи Windows отправляет запрос на настроенный DNS сервер. Описание механизма разрешения имен сервером DNS выходит за рамки данного поста.
4. Если запрашиваемое имя "плоское" (например server5), то Windows переводит его в формат NetBIOS и пытается найти соответствие в локальном NetBIOS кэше. Если имя запрашивается в формате FQDN или имеет длину более 16 символов, то методы NetBIOS не применяются.
5. Если имя не найдено в кэше NetBIOS, то оно запрашивается на настроенном сервере WINS.
6. Если на сервер WINS нет соответствующей записи, то Windows посылает не более 3х широковещательных запросов в подсеть, к которой присоединена. Если узел с таким именем есть в этой подсети – он ответит на запрос.
7. Если предыдущий запрос не принес результатов Windows ищет в локальном файле Lmhosts.

вы мне про пункт 3, а я вам про пункт 6. Забудьте про dns. Без dns должно всё резолвиться.
по самбе должно всё заходить, и по телнету\ssh  подключаться и, видимо, пинговаться по плоскому имени "Myserver"
Самба у меня стоит, в конфиге нетбиос имя прописано, nmbd запущен.

yura_n

Цитата: Iflex от 29 марта 2014, 18:59:55вы мне про тёплое, я вам про мягкое.
Это от того, что вы постоянно сравниваете теплое с мягким.
Цитата: Iflex от 29 марта 2014, 18:59:55Забудьте про dns. Без dns должно всё резолвиться.
Имена хостов у вас НЕ будут резолвится без механизма DNS, в случае с Linux. То есть, не будут и все.  ;D За NetBios и имена NetBios отвечает Samba, вот ее и настраивайте, о чем я уже написал выше.