#
# Перевод Copyright(C) by Kosta Kudrin
# cola@tcsb.perm.su aka 2:5054/69@fidonet
# Данный текст является переводом файла DIAGNOSIS из
# пакета samba-1.9.16p11
#
ДИАГНОСТИКА ВАШЕГО СЕРВЕРА SAMBA.
============================
Этот файл содержит список тестов , которые вы можете использовать при
тестировании вашего сервера Samba. Он также сообщает вам какие могут быть
встречены проблемы на каждом из этих шагов. Если все шаги пройдены успешно
то похоже все работает прекрасно. Вы должны провести все эти тесты в том
порядке , в котором они приведены.
I have tried to
carefully choose them so later tests only use capabilities verified in
the earlier tests.
Я буду рад добавлениям к этим тестам. Пожалуйста тогда пишите мне на адрес
samba-bugs@samba.anu.edu.au
Если вы посылаете мне сообщение , говоря "это не работает", и вы не
следовали процедуре тестирования , то вы не должны удивляться если я
проигнорирую ваше сообщение.
СОГЛАШЕНИЯ.
-----------
Во всех тестах я предполагаю что вы имеете сервер Samba называемый BIGSERVER
и клиентскую рабочую станцию (PC) называемую ACLIENT. Я так же предполагаю, что
рабочая станция работает под управлением "Windows для рабочих групп" с
новой копией tcp/ip стека для windows. Я так же предполагаю что вы знаете
имя доступных для всех ресурсов в вашем smb.conf файле. Я также предполагаю
, что ресурс доступный для всех называется "tmp". Вы можете добавить этот
ресурс в вашу сеть , записав в файл smb.conf следующую информацию:
[tmp]
comment = temporary files
path = /tmp
read only = yes
ЭТИ ТЕСТЫ ПРЕДПОЛАГАЮТ ЧТО ВЫ ИСПОЛЬЗУЕТЕ ВЕРСИЮ SAMBA 1.9.16 ИЛИ БОЛЕЕ
ПОЗДНЮЮ. НЕКОТОРЫЕ КОМАНДЫ НЕ СУЩЕСТВУЮТ В БОЛЕЕ РАННИХ ВЕРСИЯХ.
ТЕСТ 1:
-------
Выполните команду "testparm". Если вы получите какое-либо сообщение об ошибке,
то в вашем файле конфигурации smb.conf какаято строка записана не верно.
ТЕСТ 2:
-------
Выполните команду "ping BIGSERVER" с вашей рабочей станции и "ping ACLIENT"
с unix машины , на которую предполагается ставить samba. Если вы не
получаете правильный отклик , то ваше программное обеспечение TCP/IP не
корректно инсталлировано или настроенное.
Замете , что вам необходимо будет запустить на клиентской рабочей станции
"dos окно" в window для выполнения команды ping.
Если вы получаете сообщение "host not found" ("хост не найден") или похожее
, то ваш DNS сервер не правильно настроен , или не корректно установлен файл
/etc/hosts.
It is possible to
run samba without DNS entries for the server and client, но я предполагаю
что вы имеете корректно установленную информацию для остальных тестов.
ТЕСТ 3:
-------
Выполните на unix машине команду "smbclient -L BIGSERVER" . Вы должны
получить список доступных ресурсов.
Если вы получите сообщение об ошибке содержащее строку "Bad password" ,
то вероятно вы имеете или не корректные строки "hosts allow", "hosts deny" или
строку "valid users" в вашем файле конфигурации smb.conf, или ваше имя
пользователя не правильно. Проверьте , что ваше имя правильно используя "testparm"
и временно удалите все строки с "hosts allow", "hosts deny", "valid users"
или с "invalid users" . Если вы получите сообщение "connection refused" ,
то smbd сервер возможно не запущен. Если вы запускаете его из inetd.conf ,
то возможно что этот файл был некорректно отредактирован.
Если вы инсталлировали Samba как демона ,то проверьте что он действительно
работает. Так же с помощью команды "netstat -a" проверьте что netbios-ssn порт
находится в списке LISTEN.
Если вы получаете сообщение "session request failed" (запрос на сессию не
верен) , то сервер не принимает ваш запрос на соединение. Если сервер
сообщает вам "your server software is being unfriendly" (ваше ПО не
дружественно) ,то это вероятно потому , что вы запускаете smbd с неверными
параметрами, или имеете какие-то проблемы при инициализации samba .
С помощью программы "testparm" проверите файл конфигурации smb.conf , а так
же наличие каталогов ,в которых samba открывает lock и log файлы.
Выше приведенные сообщения об ошибках могут выдаваться и по следующим
причинам: возможно уже какой-нибудь демон занимает порт 139 (возможно
smbd запущен уже из inetd.conf), или что-либо напоминающее Digital's
Pathworks. Проверьте ваш ined.conf файл перед попыткой вновь запустить smbd
демона.
TECT 4:
-------
Выполните команду "nmblookup -B BIGSERVER __SAMBA__". Вы должны получить
назад IP адрес вашего Samba сервера.Если вы его не получаете значит nmbd
некорректно инсталлирован. Проверьте ваш ined.conf если вы запускаете nmbd из
него, или что демон запущен и имеет в списке портов порт 137.
Одной из общих проблем является то , что файл ined.conf не может содержать в
командной строке большое число параметров. Если в вашем случае это
действительно так , то просто создайте скрипт-файл ,который содержит
правильные параметры и запустите иго из ined.conf.
TECT 5:
-------
Выполните команду "nmblookup -B ACLIENT '*'"
В ответ вы должны получить IP адрес вышей PC машины. Если вы их не получаете
значит ПО клиентской части инсталлировано некорректно , или не запущено ,
или вы имеете неправильное имя PC.
TECT 6:
-------
Выполните команду "nmblookup -d 2 '*'"
В этот раз мы пытаемся сделать то же самое что и в предыдущем тесте ,
но на этот раз посылаем broadcast сообщение на все адреса.
Число Netbios/TCPIP хостов в сети должно быть получено в ответ, однако Samba
может не уловить в короткий промежуток времени все отвечающие хосты.
Если вы не получаете похожий результат как и в предыдущем тесте ,то nmblookup
не корректно получает broadcast адрес через свой автоматический механизм.
В этом случае вы должны поэксперементировать с опцией "interfaces" в файле
smb.conf , для того что бы вручную сконфигурировать ваш IP адрес, broadcast
адрес и сетевую маску (netmask). Если ваш сервер и РС машина находятся не
в одной подсети , то вам необходимо будет использовать опцию -B для
установки broadcast адреса таким же как подсеть на вашем PCs.
TEСT 7:
-------
Выполните команду "smbclient '\\BIGSERVER\TMP'". После чего в должна
получить приглашения на ввод пароля. Вы должны использовать пароль , который
используется для вашего входа в unix. Если вы хотите протестировать другой
account, то добавте в командной строке опцию -U .После того как
вы введете пароль вы должны получить командную строку вида "smb>" . Если вы
его не получаете , то смотрите сообщение об ошибке. Если оно говорит "invalid network
name" (неправильное сетевое имя) , то служба "tmp" некорректно установлена в
вашем файле конфигурации smb.conf. Если оно говорит "bad password" (неверный
пароль) , то возможно что :
- Вы имеете shadow пароль (или некоторую другую систему паролей), но при
компиляции samba эта опция была опущена.
- ваша конфигурация "valid users" некорректна.
- вы вводили пароль как в верхнем так и в нижнем регистрах ,но при этом
имеете опцию "password level" установленную в недостаточно высокий уровень.
- параметр "path =" в файле конфигурации smb.conf задан неверно. Проверьте с
его с помощью программы testparm.
- Вы разрешили шифрование пароля , но не открыли SMB зашифрованный файл
паролей.
Присоединившись к серверу вы можете попробовать команды "dir" "get"
"put" и другие. Наберите "help <команда>" для получения большей информации .
Вы должны специально проверить что свободное дисковое пространство
показывается верно после выполнения команды "dir".
TECT 8:
-------
На вашем РС компьютере выполните команду "net view \\BIGSERVER". Эту команду
необходимо будет выполнить из дос окна window. Вы должны получить список
всех доступных ресурсов на севере.
Если вы получаете сообщение "network name not found" (сетевое имя не
найдено) или похожую ошибку , то значит netbios name resolution не работает.
В этом случае проблема кроется в nmbd.
Для того что бы преодолеть проблему вы должны сделать следующее (вам
необходимо выбрать одно):
- попробовать переустановить the nmbd.
- добавить IP адрес BIGSERVER сервера в окне "wins server" в расширенных
опциях установки tcp/ip (advanced tcp/ip setup on the PC) на вашей РС.
- разрешить windows находить имена через DNS в расширенных опциях установки
tcp/ip.
- добавить сервер BIGSERVER в ваш файл lmhosts на PC.
Если вы получаете "invalid network name" или "bad password error" то вам
необходимо провести такие же действия какие были проведены для команды
"smbclient -L" в тесте выше. В особенности проверьте что строка "hosts allow"
корректна.
TЕСT 9:
--------
Выполните команду "net use x: \\BIGSERVER\TMP". Вы должны ввести правильный
пароль , после чего вы получите сообщение "command completed successfully"
(команда выполнена удачно). Если нет ,то тогда ПО на вашем PC неверно
установлено , или ваш файл конфигурации smb.conf неверен. Проверьте что
строка "hosts allow" и другие строки в файле smb.conf введены правильно.
Так же возможно что ваш сервер не может работать с тем именем которое вы
имеете. Для решения этой проблемы добавте в строку "user = USERNAME" в секцию [tmp]
вашего вайла конфигурации smb.conf, где "USERNAME" есть имя пользователя
(username) соответствующее набранному паролю . Если вы вы решили проблему ,
то возможно вым будет необходимо использовать опцию username map.
TEСT 10:
--------
Из файл Менаджера попробуйте увидеть сервер. Ваш samba сервер должен появится
в списке ваших локальных групп (local workgroup).Вы должны дважды щелкнуть
мышкой на имени серверами получить список его доступных ресурсов. Если вы
получаете сообщение "invalid password" (неверный пароль),то вероятно вы
работаете под WinNT is refusing to browse a server that has no encrypted password
capability and is in user level security mode.
Остались проблемы?
----------------------
Тогда попробуйте подписаться на mailing list или на соответствующую ньюс-группу ,
или воспользуйтесь утилитой tcpdump-smb для решения проблем.
Так же смотрите другие документы ,входящие в пакет поставки Samba !