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

Исходное сообщение
"Samba. Тормоза в ntlm аутентификации"

Отправлено Koshak , 18-Мрт-09 23:00 
Здравствуйте уважаемые поклонники всевозможных *NIXов.

Вопрос такой: есть сервер Samba. При входе на расшаренные ресурс с Windows машин происходит некоторое торможение (8 секунд), потом дерево каталогов кэшируется и всё нормально. При открытии файлов торможение регулярно. Скорость копирования файлов на Самбу и с неё хорошая - 5-8 Мбайт/сек.

Собственно вопрос: как избавится от этой задержки в 8 секунд?

Имеем:

uname -a
FreeBSD  7.1-RELEASE ... amd64

самба из портов
/usr/local/sbin/smbd -V
Version 3.0.32

конфиг:
[global]
        server string       = dev server
        netbios name        = RID_W_FS1
        workgroup           = ITGROUP
        load printers       = no
        guest ok            = no
        printable           = no
        public              = no
        log file            = /var/log/samba/%m.log
        log level           = 8
        max log size        = 50000000
        dns proxy           = No
        smb passwd file     = /usr/local/etc/samba/smbpasswd
        security            = user
        encrypt passwords   = yes
        socket options      = SO_KEEPALIVE SO_BROADCAST TCP_NODELAY SO_SNDBUF=8192 SO_RCVBUF=8192
        wins server         = 10.24.1.20
        interfaces          = 10.24.15.110/255.255.255.0 127.0.0.1/255.0.0.0
        disable spoolss     = Yes
        show add printer wizard = No
        client NTLMv2 auth = Yes
[MyDep]
        comment             = Мой отдел
        path                = /usr/samba
        read only           = No
        create mask         = 0660
        directory mask      = 0770
        hide files          = .snap
        map archive         = No
--------------------------------------------------------
Логирование включал и на 10й уровень, но большей детализации чем на 8м (в том моменте где эти пресловутые 8 секунд потерялись) получить не удалось.
Собственно лог:

[2009/03/19 00:24:28, 3] libsmb/ntlmssp.c:debug_ntlmssp_flags(63)
  Got NTLMSSP neg_flags=0xe2088297
    NTLMSSP_NEGOTIATE_UNICODE
    NTLMSSP_NEGOTIATE_OEM
    NTLMSSP_REQUEST_TARGET
    NTLMSSP_NEGOTIATE_SIGN
    NTLMSSP_NEGOTIATE_LM_KEY
    NTLMSSP_NEGOTIATE_NTLM
    NTLMSSP_NEGOTIATE_ALWAYS_SIGN
    NTLMSSP_NEGOTIATE_NTLM2
    NTLMSSP_NEGOTIATE_128
    NTLMSSP_NEGOTIATE_KEY_EXCH
    NTLMSSP_NEGOTIATE_56
[2009/03/19 00:24:28, 5] auth/auth.c:get_ntlm_challenge(97)
  auth_get_challenge: module guest did not want to specify a challenge
[2009/03/19 00:24:28, 5] auth/auth.c:get_ntlm_challenge(97)
  auth_get_challenge: module sam did not want to specify a challenge
[2009/03/19 00:24:28, 5] auth/auth.c:get_ntlm_challenge(137)
  auth_context challenge created by random
[2009/03/19 00:24:28, 5] auth/auth.c:get_ntlm_challenge(138)
  challenge is:
[2009/03/19 00:24:28, 5] lib/util.c:dump_data(2264)
  [000] 18 AF F3 48 3A 3C F2 F0                           ...H:<..
[2009/03/19 00:24:36, 5] lib/util.c:show_msg(484)
[2009/03/19 00:24:36, 5] lib/util.c:show_msg(494)
  size=246
  smb_com=0x73
  smb_rcls=22
  smb_reh=0
  smb_err=49152
  smb_flg=136
  smb_flg2=51201
  smb_tid=0
  smb_pid=65279
  smb_uid=100
  smb_mid=6656
  smt_wct=4
  smb_vwv[ 0]=  255 (0xFF)
  smb_vwv[ 1]=    0 (0x0)
  smb_vwv[ 2]=    0 (0x0)
  smb_vwv[ 3]=  151 (0x97)
  smb_bcc=203
[2009/03/19 00:24:36, 10] lib/util.c:dump_data(2264)
  [000] A1 81 94 30 81 91 A0 03  0A 01 01 A1 0C 06 0A 2B  ...0.... .......+
  [010] 06 01 04 01 82 37 02 02  0A A2 7C 04 7A 4E 54 4C  .....7.. ..|.zNTL
  [020] 4D 53 53 50 00 02 00 00  00 12 00 12 00 30 00 00  MSSP.... .....0..
  [030] 00 95 82 8A E2 18 AF F3  48 3A 3C F2 F0 00 00 00  ........ H:<.....
  [040] 00 00 00 00 00 38 00 38  00 42 00 00 00 52 00 49  .....8.8 .B...R.I
  [050] 00 44 00 5F 00 57 00 5F  00 46 00 53 00 31 00 02  .D._.W._ .F.S.1..
  [060] 00 12 00 52 00 49 00 44  00 5F 00 57 00 5F 00 46  ...R.I.D ._.W._.F
  [070] 00 53 00 31 00 01 00 12  00 52 00 49 00 44 00 5F  .S.1.... .R.I.D._
  [080] 00 57 00 5F 00 46 00 53  00 31 00 04 00 00 00 03  .W._.F.S .1......
  [090] 00 00 00 00 00 00 00 55  00 6E 00 69 00 78 00 00  .......U .n.i.x..
  [0A0] 00 53 00 61 00 6D 00 62  00 61 00 20 00 33 00 2E  .S.a.m.b .a. .3..
  [0B0] 00 30 00 2E 00 33 00 32  00 00 00 49 00 54 00 47  .0...3.2 ...I.T.G
  [0C0] 00 52 00 4F 00 55 00 50  00 00 00                 .R.O.U.P ...
[2009/03/19 00:24:36, 10] lib/util_sock.c:read_smb_length_return_keepalive(623)
  got smb length of 376

Здесь интересны следующие строки (между которыми 8 секунд):

[2009/03/19 00:24:28, 5] lib/util.c:dump_data(2264)
  [000] 18 AF F3 48 3A 3C F2 F0                           ...H:<..
[2009/03/19 00:24:36, 5] lib/util.c:show_msg(484)
--------------------------------------------------------

что я делал:
пытался отключить ntlm аутентификацию:

client NTLMv2 auth = No
ntlm auth = No
client lanman auth = Yes
lanman auth = Yes

Правил /etc/rc.conf внося туда IP машины с Windows и полное(FQDN) и сокращённое её имя.

--------------------------------------------------------
Некоторые общие моменты:
Самба в домен не включена, аутентификация средствами самой Самбы. Включить в домен возможности нет (политика компании такова).

Интересное наблюдение:
команда nslookup с FQDN клиентской машины выполненная на сервере, где стоит Самба даёт моментальный результат

# nslookup ИмяКлиентскойМашины.itgroup.local
Server:  10.24.1.20
Address: 10.24.1.20#53

Name: ИмяКлиентскойМашины.itgroup.local
Address: 10.39.6.37

команда nslookup с именем без (доменной части) клиентской машины выполненная на сервере, где стоит Самба даёт примерно 8ми секундную задержку и такой вывод:

# nslookup ИмяКлиентскойМашины
;; Got SERVFAIL reply from 10.24.1.20, trying next server
;; Got SERVFAIL reply from 10.24.1.30, trying next server
;; connection timed out; no servers could be reached

Если кто сталкивался - помогите плиз.......


Содержание

Сообщения в этом обсуждении
"Samba. Тормоза в ntlm аутентификации"
Отправлено sage444 , 19-Мрт-09 09:51 
а добавить в /etc/resolv.conf
строчку
domain yourdomain.com  
пробовали?

"Samba. Тормоза в ntlm аутентификации"
Отправлено Koshak , 19-Мрт-09 10:29 
>а добавить в /etc/resolv.conf
>строчку
>domain yourdomain.com
>пробовали?

Спасибо!!!!!!!!
Почти заработало!!!!!!!

многие документы стали быстрее открываться, но иногда опять вылазят эти 8 секунд:

[2009/03/19 10:37:49, 5] lib/util.c:dump_data(2264)
  [000] 27 9E CD E0 32 03 84 9F                           '...2...
[2009/03/19 10:37:57, 5] lib/util.c:show_msg(484)
[2009/03/19 10:37:57, 5] lib/util.c:show_msg(494)

всё на той же NTLM.......



"Samba. Тормоза в ntlm аутентификации"
Отправлено Сергей , 19-Мрт-09 11:37 
Еще можно в nsswitch.conf попробовать
hosts:       files wins dns
Но тут нужно чтобы winbind был настроен правильно...

"Samba. Тормоза в ntlm аутентификации"
Отправлено Koshak , 19-Мрт-09 12:22 
>Еще можно в nsswitch.conf попробовать
>hosts:       files wins dns
>Но тут нужно чтобы winbind был настроен правильно...

Спасибо. если пользователи ещё жаловаться будут - обязательно попробую.



"Samba. Тормоза в ntlm аутентификации"
Отправлено Koshak , 20-Мрт-09 11:32 
Тему можно закрывать. Однозначно помогло добавление строки domain yourdomain.com в /etc/resolv.conf.

Тормоза ушли не моментально (примерно через 5 минут - наверное какие-то кэши заполнялись, или что-то типа того), но вот уже больше суток всё летает.


"Samba. Тормоза в ntlm аутентификации"
Отправлено llecher , 20-Мрт-09 13:32 
>Тему можно закрывать. Однозначно помогло добавление строки domain yourdomain.com в /etc/resolv.conf.
>
>Тормоза ушли не моментально (примерно через 5 минут - наверное какие-то кэши
>заполнялись, или что-то типа того), но вот уже больше суток всё
>летает.

У меня наблюдалось подобное когда в smb.conf параметр log level был равен 10
после смены на 1 все стало летать.