Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программное обеспечение Linux и FreeBSD (http://forum.oszone.net/forumdisplay.php?f=11)
-   -   Samba + Nis + Wins, проблемы с разрешением имён хостов (http://forum.oszone.net/showthread.php?t=54800)

hasherfrog 06-10-2005 11:50 361973

Samba + Nis + Wins, проблемы с разрешением имён хостов
 
Сложная ситуация, попытаюсь подробно объяснить:

Сетка, маленькая, гетерогенная. DHCP нет, DNS нет, адреса статические. В качестве PDC, WINS и Master-browser'а выступает samba-2.2.7a-8.9.0. Имена хостов берутся через nis (с другой машины). В самбе включена поддержка wins-сервера и определён порядок разрешения имён так:
Код:

        wins support = yes
        name resolve order = hosts lmhosts wins bcast

По документации слово hosts подразумевает использование NIS. Файл lmhosts пустой (только локалхост), опции wins и bcast (по идее) вообще не должны задействоватся, всё уже разрешается на уровне hosts (кстати, попытка навязать ещё адреса в lmhosts ничего не дала).

Пинги по IP в сетке ходят нормально. А вот по именам - нет. На никсовых машинах всё работает, а в виндах...

На виндовых машинах в опциях TCP/IP определён WINS-сервер (машина с самбой). Все (вот тут внимание!) виндовые машины на пинг по именам откликаются, никсовые машины с самбой - откликаются, а вот никсовые (без самбы) и отключенные (но присутствующие в ypcat hosts записи) машины дают "неизвестный узел" через пару секунд. При пинге по IP с принудительным разрешением имён (ping -a IP) пинг проходит, но имя не резольвится.

Что это может быть? Почему такая странная ситуация. Есть дилетантское подозрение, что samba (как wins-сервер) возвращает машине (осуществляющей ping) нормальный IP по имени, но виндовая машина ещё и сама пытается выполнить броадкастовое разрешение имени по netbios-ssn (и обламывается). Бред, не обращайте внимания :]

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

mar 06-10-2005 23:49 362191

что-то из области бредятины :( Причем, очень похоже, что бредятина действительно виндовая - у них ведь, у зараз netbios (netbeue) с некоторых пор зашит вовнутрь намертво, - может действительно пытаются решить за всех все проблемы?.

hasherfrog 04-04-2006 14:39 424784

Забыл отписаться :]

Почти прав был.
Цитата:

Есть дилетантское подозрение, что samba (как wins-сервер) возвращает машине (осуществляющей ping) нормальный IP по имени, но виндовая машина ещё и сама пытается выполнить броадкастовое разрешение имени по netbios-ssn (и обламывается).
почти в том смысле, что броадкаст - да, был, но...

Фишка повторилась в другом месте, уже на Самбе 3.0.3-5, fedora core 2. На самом деле всё оказалось проще... Типа проще... %] Просмотр TCP-шных пакетов NetBios'а показал, что wins-сервер-то и не пашет вовсе :] А всё свелось к одной "кем-то забытой строке" в smb.conf:
Код:

dns proxy = no
По умолчанию ("dns proxy = yes") и wins-server эмулируется нормально.

Но вот возникла другая трабла.

Почему-то wins ни с того, ни с сего заимел привычку отключаться. Подозреваю, что это происходит по ночам (бу-у-у-у :]), когда Самба чего-то там проверяет и заново "снимает" состояние сети (в логах остаётся запись "вот я проверила, всё ништяк, я мастер домена", но нет надписи "я ещё и локал браузер мастер"). Почему так?

BuGfiX 04-04-2006 18:01 424886

Взято из man smb.conf:

Код:

os level (G)
 
    This integer value controls what level Samba advertises itself as for browse
 elections. The value of this parameter determines whether nmbd(8) has a chance
 of becoming a local master browser for the workgroup in the local broadcast area.
 
    Note :By default, Samba will win a local master browsing election over all Microsoft
 operating systems except a Windows NT 4.0/2000 Domain Controller. This means
 that a misconfigured Samba host can effectively isolate a subnet for browsing
 purposes. This parameter is largely auto-configured in the Samba-3 release series
 and it is seldom necessary to manually over-ride the default setting. Please refer to
 chapter 9 of the Samba-3 HOWTO document for further information regarding the
 use of this parameter.
 
    Default: os level = 20
 
    Example: os level = 65

В общем, попробуйте поставить os level побольше.

hasherfrog 04-04-2006 20:58 424948

Побольше, это сколько? :-) Уже 65. К тому же, в логах нет записей о "перевыборах" мастер-браузера. Боюсь, тут что-то другое. Я совсем недавно читал, что больше 32 компов в подсетке требуют ещё один wins-сервер. Я wins proxy один сделал сегодня, завтра посмотрим, что они вдвоём за ночь учудят...

Guest 80 247 100 05-04-2006 12:07 425130

hasherfrog
Цитата:

больше 32 компов в подсетке требуют ещё один wins-сервер
вроде нет, сейчас около 150 компов - wins-сервер один...

kim-aa 05-04-2006 12:16 425137

Цитата:

Почему-то wins ни с того, ни с сего заимел привычку отключаться. Подозреваю, что это происходит по ночам (бу-у-у-у :]), когда Самба чего-то там проверяет и заново "снимает" состояние сети (в логах остаётся запись "вот я проверила, всё ништяк, я мастер домена", но нет надписи "я ещё и локал браузер мастер"). Почему так?
smb.conf надо однако. Без него сапсем плохо видно, однако. Часть с пописанием шар, не надо, однако.

Цитата:

больше 32 компов в подсетке требуют ещё один wins-сервер
Брехня однако, Мастер Wins, все равно 1, остальные резервные.

mar 05-04-2006 13:48 425176

Цитата:

Я совсем недавно читал, что больше 32 компов в подсетке требуют ещё один wins-сервер.
а ссылку можно? я давно, конечно с самбой дела всерьез не имела, но не думаю, что это что-то новое? (Такого не помню)

hasherfrog 05-04-2006 15:30 425211

mar
тут: http://www.opennet.ru/base/net/samba_wins2.txt.html

kim-aa
:-)

Guest 80 247 100
Видимо, правильно говорить не "винс-сервер", а "бэкап-сервер" (статья).

P.S. а может, я вообще всё неправильно понял.
P.P.S. у меня обнаружился ещё один багззз, нарушено было "доверие" между двумя серверами (самбы разных версий), поправил, теперь жду следующей ночи :]

mar 05-04-2006 15:40 425215

а, так это backup browser.
Цитата:

Backup browser кэширует browsing lists у себя и инициирует
перевыборы, если не может найти master browser.
интересно, они сами себя такими назначают в ходе broadcast-запросов-выборов, или их надо такими делать, скажем, меняя os level ?

hasherfrog 05-04-2006 16:18 425232

Вот! Вот как раз интересно! Вроде как этих backup browser назначает сам "выбранный" master browser. Дальше - туман :]

тут
Подозреваю, что [wins proxy = yes] как раз даёт самбовским машинам играть в игру "выбери меня backup-browser'ом". Потому что ключа реестра MaintainServerList в самбе нет :]

kim-aa 05-04-2006 20:04 425294

Цитата:

интересно, они сами себя такими назначают в ходе broadcast-запросов-выборов, или их надо такими делать, скажем, меняя os level ?
os level это значение заявляемое потенциальным Мастер-броузером сети (правильнее сказать сегмента сети) во время Выборов.
У кого os level выше тот и побеждает на выборах.
Единственное исключение в доменной структуре. Контроллер домена Win обязательно должен быть мастер броузером домена.


hasherfrog 05-04-2006 20:10 425295

kim-aa
Но при определении backup browser'ов значение os level не учитывается?
Или учитывается? Когда PDC стал PDC, он смотрит на чужие os level'ы?

kim-aa 05-04-2006 20:23 425297

Я как-то пояснял вопрос (но не в этой эхе). Привожу без купюр (лень замучила)
* * *
Если на Linux системе нет Samba (т.е. она не видна в сети и ее ресурсы нельзя использовать с WIN машин, т. е. она используется для почты, web или как полочка для фикуса, то нижеследующее можно не читать).
1) "Нажатие на сетевое окружение" - это просмотр сети.
За функцию просмотра сети, т.е. создание, хранение, обновление списка Win машин
отвечает Главный Браузер сети (Master Browser).
Когда Win Машина входит в сеть она "громогласно заявляет", что нужен браузер, если браузер откликается, то "Good" - машина вносится в список + машина запоминает куда ей за списком лезть, если нет - инициируется процесс выбора нового Master browser (Так же выборы начинаются если Мастер браузер долго не откликается на запросы).
Алгоритм там достаточно сложный, но в 2х словах его можно описать так:
Чем выше версия Win, тем больший вес на выборах. Сервера имеют однозначное преимущество над станциями не зависимо от версий. Контроллер домена имеет преимущество над серверами своего домена.
В добавок к Браузеру сети, в Win доменах, существует должность Браузера домена, который Отрабатывает функции браузера сети, но только для конкретного домена (доменов).
Если сеть с единственным сервером - контроллером домена, то он и является Master Browser + Domain Browser одновременно.

Перейдем к Samba.
файл smb.conf

#########################################################
# Подозрительные Опции
#########################################################

#Быть браузером сети
#Если поставить NO то Samba не будет учавствовать в выборах.
local master = no

# Вес на "выборах" 255 - max, т.е. по сути всегда Browser,
# Если есть WIN контроллер домена, то 255 ни в коем разе не включать
# 33 - по умолчнию.
os level = 33

# Быть браузером домена.
# Если есть WIN контроллер домена, то ни в коем разе не включать
domain master = no

# Форсирование выборов при запуске - "быть мастером, во что бы то ни стало"
# Если есть WIN контроллер домена, то ни в коем разе не включать
preffered master = no


# Явное Указание включить разрешение (сопоставление) WINS имен через DNS
# если DNS Сервер не описывает имеющуюся WINS сеть, то будет бяка.
dns proxy = no


#-----------------------------------------------------------------------
# Быть Wins сервером
wins support = yes
# На пробу можно переставить в NO.

# Использовать данные имеющегося WINS сервера.
# wins server = X.X.X.X

# - Неоходимо указать СУЩЕСТВУЮЩИЙ WINS сервер, или закоментировать.
# - Можно или быть WINS сервером или Использовать данные, но не одновременно.

#-----------------------------------------------------------------------
#Имя домена
workgroup = Domain
# Для работы в домене, надо вписать имя Существующего домена.

# Быть контроллером домена
# Если есть WIN контроллер домена Domain, то ни в коем разе не включать.
Domain Logons = no


##########################################################################
# Влияющие опции, но вряд ли
##########################################################################

# В каких WINS сетях о себе объявлять.
# Желательно или точно указать сеть или закоментировать.
remote announce = X.X.X.255


Цитата:

Когда PDC стал PDC, он смотрит на чужие os level'ы
В своем домене, по моему, нет. Сразу выдвигает семя на роль Мастер-браузера домена.
А в остальной сети (если еще есть рабочие группы или домены) он обычно выигрывает за счет преимущества в os level.
Как разбираются 2 домена без доверительных отношений - тайна великая есть.

попробуйте выставить
preffered master = уеs


Guest 80 247 100 06-04-2006 08:54 425412

kim-aa
Цитата:

# В каких WINS сетях о себе объявлять.
# Желательно или точно указать сеть или закоментировать.
remote announce = X.X.X.255
ээээ, а я всегда считал этот параметр позволяет задать список IP-адресов, по которым демон nmbd будет переодически анонсировать себя. Т.е. тут ставятся IP-адреса "серверов просмотра" %о))) ... типа
remote ennounce = 192.168.1.66 192.168.2.123/WORKGROUPNAME
разве нет???

по существу интересно, как сделать САМБУ одним из backup-browser's сети. Или действительно этовсё выбирается при выборах в сети..?

mar 06-04-2006 09:14 425421

kim-aa
выбор master browser по os level, - тут как раз понятно - это очень старая вещь. А вот кто назначает backup - не понятно. Поскольку Os-level единственный параметр, кторый влияет на какие-то выборы, и было спрошено :)


kim-aa 06-04-2006 13:37 425498

http://de.samba.org/samba/docs/using_samba/ch07.html

Browser elections are decided in multiple rounds of self-elimination. During each round, potential browsers broadcast election request datagrams containing their qualifications to notify other potential browsers that an election is happening and that if the recipient is more qualified, it should also broadcast a bid. When a potential browser receives an election request datagram from a more qualified opponent, it drops out, disqualifying itself from becoming the master browser. Otherwise, it responds with its own election request datagram. After a few rounds, only one potential browser is left in the election. After an additional four rounds of sending out an election request datagram and receiving no response, it becomes the master browser and sends a broadcast datagram announcing itself as the local master browser for the subnet. It then assigns runners-up in the election as backup browsers, as needed.

Судя по этим строчкам Backup browsers назначаются Master Browser'ом победившим на "демократических выборах" :)

Цитата:

ээээ, а я всегда считал этот параметр позволяет задать список IP-адресов, по которым демон nmbd будет переодически анонсировать себя. Т.е. тут ставятся IP-адреса "серверов просмотра" %о))) ... типаremote ennounce = 192.168.1.66 192.168.2.123/WORKGROUPNAME разве нет???
Опять же судя по

With the remote announce option, list the subnets and the workgroup that should receive the broadcast. For example, to ensure that machines in the 172.16.2 and 172.16.3 subnets and the METRAN workgroup are sent broadcast information from our Samba server, we could specify the following:

[global]
remote announce = 172.16.2.255/METRAN \
172.16.3.255/METRAN

Указываются СЕТИ, а не хосты. (Хотя если принудительно указать Сервера просмотра функционирующие в данных сетях, то эффект будет тот же)

hasherfrog 19-04-2006 11:40 429471

>> попробуйте выставить preffered master = уеs
да, это конечно.

***

>> теперь жду следующей ночи :]
Отчитываюсь :] У меня всё работает. В смысле работаЛО. Какое-то время. Теперь возникли траблы.

Новая проблема

Кусок из smb.conf для FC2, самба Version 3.0.3-5
Код:

[global]

        # Domain data
        workgroup = xxx
        netbios name = yyy
        server string = zzz

        # Debug logs
        log file = /var/log/samba/%m.log
        max log size = 0

        # PDC options
        os level = 65
        domain master = Yes
        domain logons = Yes
        preferred master = Yes
        encrypt passwords = Yes
        logon path = \\%L\Profiles\%U
        logon home = \\%L\%U\.profile.smb
        logon script = diskssetup.bat

        # i/o charsets
        unix charset = UTF-8
        dos charset = 866
        display charset = UTF-8

        # wins server block
        local master = Yes
        wins support = Yes
        name resolve order = hosts lmhosts wins bcast
#      dns proxy = No <- "No" causes wins to mute

        # default file permitions
        create mask = 0664
        directory mask = 0775

        # some security
        hosts allow = xxx.yyy.zzz.
        # discard message "unknown interface"
        interfaces = eth0
        # discard 0.0.0.0.log[s]
        bind interfaces only = yes
       
        # disable 139/445 mix errors (getpeername)
        smb ports = 139

        # other
        printing = lprng
        socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192

Что сейчас происходит неприятного: WINS сервер на самбе со временем начинает "забывать" хосты из ypcat -k hosts. Сегодня "пропал" один, завтра - ещё пара, послезавтра - ещё один... Например, вчера "вдруг" прекратился резольв имени машины, на которой я только-только сидел через rsh. Сегодня пропали из резольва ещё два хоста. При это сообщений никаких самба в логи не пишет.

Код:

nmblookup -M -- -.
querying __MSBROWSE__ on xxx.yyy.zzz.63
xxx.yyy.zzz.62 __MSBROWSE__<01>

Вчера вечером:
#nmblookup -U xxxserver -R yyyhost
querying yyyhost on xxx.yyy.zzz.62
xxx.yyy.zzz.53 yyyhost<00>

Сегодня утром:
# nmblookup -U xxxserver -R yyyhost
querying yyyhost on xxx.yyy.zzz.62
name_query failed to find name yyyhost

Что вообще происходит? Что за прогрессирующая амнезия??? В логах ошибок (и сообщений о драке за место wins-сервера/master browser'а) нет. Причём интересно: один из "потерянных" хостов - виндовая машина(!), т.е. броадкастом её цепляет, но при этом wins про неё забыл. Уфффффффффф... "Но почему?" (с) Крокодил Гена

kim-aa 19-04-2006 12:20 429487

C NIS, тем паче в спарке с SAMBA не работал, за сим ни чего умного подсказать не могу.
Терпеть не могу давать такие советы, но... Может SAMBA "поднять" до текущей версии 3.0.22?
Посоветовал бы еще бубен, но думаю, как у профессионала, он у Вас уже есть :)


Время: 02:14.

Время: 02:14.
© OSzone.net 2001-