Привет всем!
Итак возникла проблема с настройкой самбы. А именно - готовлю сервер для удаленной площадки.
Дано:
1. В лавке стоит самба PDC. IP адрес - 192.168.43.5, назовем его FileServer. Работает на сеть 192.168.43.0/24.
Конфигурационный файл (глобальная секция) этой самбы:
Показать
workgroup = MYCORP
server string = Samba Server Version %v
netbios name = fileserver
interfaces = lo eth0 eth0:0 192.168.43.5
bind interfaces only = yes
socket address = 192.168.43.5
hosts allow = 127. 192.168.43. 192.168.53.
name resolve order = lmhosts host bcast
smb ports = 139
log level = 3
log file = /var/log/samba/log.%m
max log size = 50
security = user
passdb backend = tdbsam
null passwords = yes
username map = /etc/samba/smbusers
admin users = root, admin, administrator
add user script = /usr/sbin/useradd -m %u
delete user script = /usr/sbin/userdel -r %u
add group script = /usr/sbin/groupadd %g
delete group script = /usr/sbin/groupdel %g
add user to group script = /usr/bin/gpasswd -a %u %g
delete user from group script = /usr/bin/gpasswd -d %u %g
add machine script = /usr/sbin/useradd -g computers -s /bin/false -d /dev/null %u
set primary group script = /usr/sbin/usermod -g %g %u
logon path =
logon drive =
logon home =
logon script = %G.bat
domain logons = yes
winbind uid = 10000-20000
winbind gid = 10000-20000
winbind cache time = 10
socket options = TCP_NODELAY SO_SNDBUF=8196 SO_RCVBUF=8196 IPTOS_LOWDELAY SO_KEEPALIVE
time server = yes
preferred master = yes
domain master = yes
local master = yes
os level = 255
wins support = yes
oplocks = yes
kernel oplocks = no
level2 oplocks = yes
use sendfile = yes
deadtime = 120 ; разрывать соединение с юзером после 120 минут бездействия
nt acl support = yes
2. На ремутной площадке устанавливаю самба-сервер, как член домена, который обслуживается PDC FileServer. Его IP адрес - 192.168.53.1. Обслуживать он будет сеть 192.168.53.1.
Глобальная секция конфига этого сервера:
Показать
workgroup = MYCORP
server string = File Server Proizv
netbios name = ProizvServer
interfaces = lo p2p1 192.168.53.1
bind interfaces only = yes
socket address = 192.168.53.1
hosts allow = 127. 192.168.43. 192.168.53.
name resolve order = lmhosts host bcast
smb ports = 139
security = DOMAIN
password server = 192.168.43.5
# passdb backend = smbpasswd
max log size = 10
time server = Yes
socket options = TCP_NODELAY IPTOS_LOWDELAY SO_KEEPALIVE SO_RCVBUF=8192 SO_SNDBUF=8192
os level = 65
domain master = No
wins server = 192.168.43.5
admin users = root, administrator, admin
log level = 3
log file = /var/log/samba/log.%m
oplocks = yes
kernel oplocks = no
level2 oplocks = yes
use sendfile = yes
;locking = no
deadtime = 120 ; разрывать соединение с юзером после 120 минут бездействия
nt acl support = yes
Testparm на втором сервере замечаний не находит и определяет его конфигурацию, как domain member.
Сети связаны через openVPN через пару шлюзов, трафик форвардится между ними тотально, без ограничений. На указанных самбовых серверах в настройках iptables доступ на порты 137,138,139 и 445 открыт без ограничений. Юзерский ремутный компьютер (из сети 192.168.53.0/24) регистрируется на центральном сервере (FileServer, 192.168.43.5) без проблем.
Однако, имеем проблемы с новым, ремутным сервером:
1. Проблема ввода нового сервера:
[console]#net rpc join -U ХХХХХ%ХХХХХ
Unable to find a suitable server for domain MYCORP
Unable to find a suitable server for domain MYCORP
[/console]
Если задавать явно имя сервера или его адрес, то:
[console]# net rpc join -U ХХХХХ%ХХХХХ -S fileserver
Connection failed: NT_STATUS_BAD_NETWORK_NAME
Could not connect to server fileserver
Connection failed: NT_STATUS_BAD_NETWORK_NAME
[/console]
Хотя один раз оно, вроде, сработало и написало, что сервер в домен введен. Однако - повторить сие еще раз не могу.
2. Далее, на ремутном компьютере (сеть 192.168.53.0/24) юзер из обозревателя видит (иконки) как центрального сервера, так и нового, ремутного. При попытке регистрации юзера на ремутном сервере - юзер получает отлуп. В регистрационном журнале удаленного сервера имеем запись:
Показать
Got user=[Evstafiev] domain=[MYCORP] workstation=[PROD-DZ] len1=24 len2=24
[2011/08/02 11:10:16.098282, 3] auth/auth.c:216(check_ntlm_password)
check_ntlm_password: Checking password for unmapped user [MYCORP]\[Evstafiev]@[PROD-DZ] with the new password interface
[2011/08/02 11:10:16.098384, 3] auth/auth.c:219(check_ntlm_password)
check_ntlm_password: mapped user is: [MYCORP]\[Evstafiev]@[PROD-DZ]
[2011/08/02 11:10:16.098448, 3] smbd/sec_ctx.c:210(push_sec_ctx)
push_sec_ctx(0, 0) : sec_ctx_stack_ndx = 1
[2011/08/02 11:10:16.098501, 3] smbd/uid.c:429(push_conn_ctx)
push_conn_ctx(0) : conn_ctx_stack_ndx = 0
[2011/08/02 11:10:16.098547, 3] smbd/sec_ctx.c:310(set_sec_ctx)
setting sec ctx (0, 0) - sec_ctx_stack_ndx = 1
[2011/08/02 11:10:16.099036, 3] smbd/sec_ctx.c:418(pop_sec_ctx)
pop_sec_ctx (0, 0) - sec_ctx_stack_ndx = 0
[2011/08/02 11:10:16.099126, 2] auth/auth.c:314(check_ntlm_password)
check_ntlm_password: Authentication for user [Evstafiev] -> [Evstafiev] FAILED with error NT_STATUS_NO_LOGON_SERVERS
[2011/08/02 11:10:16.099205, 3] smbd/error.c:80(error_packet_set)
error packet at smbd/sesssetup.c(111) cmd=115 (SMBsesssetupX) NT_STATUS_NO_LOGON_SERVERS
[2011/08/02 11:10:16.099621, 3] smbd/sec_ctx.c:310(set_sec_ctx)
setting sec ctx (0, 0) - sec_ctx_stack_ndx = 0
[2011/08/02 11:10:16.099725, 3] smbd/connection.c:31(yield_connection)
Yielding connection to
[2011/08/02 11:10:16.099975, 3] smbd/server.c:902(exit_server_common)
Server exit (failed to receive smb request)
То есть ремутная самба говорит, что не находит сервера для авторизации (NO_LOGON_SERVERS). То же самое говорится и на попытки командой net посмотреть что либо в домене. Нету logon-сервера. Чешем репу:
[console] # nmblookup fileserver
added interface lo ip=127.0.0.1 bcast=127.255.255.255 netmask=255.0.0.0
added interface p2p1 ip=192.168.53.1 bcast=192.168.53.255 netmask=255.255.255.0
add_interface: not adding duplicate interface 192.168.53.1
Socket opened.
querying fileserver on 127.255.255.255
querying fileserver on 192.168.53.255
name_query failed to find name fileserver [/console]
Но ведь в конфиге явно указано, где искать сервер - совсем не в сети 192.168.53.0...
Задаем поиск явно:
[console]# nmblookup -B 192.168.43.5 fileserver
added interface lo ip=127.0.0.1 bcast=127.255.255.255 netmask=255.0.0.0
added interface p2p1 ip=192.168.53.1 bcast=192.168.53.255 netmask=255.255.255.0
add_interface: not adding duplicate interface 192.168.53.1
Socket opened.
querying fileserver on 192.168.43.5
Got a positive name query response from 192.168.43.5 ( 192.168.43.5 )
192.168.43.5 fileserver<00>
[/console]
И получаем правильный результат. Самое интересное, что в логах nmb после запуска пишутся вполне корректные сообщения, что nmb сходил в лавку и законнектился там с центральным сервером...
Коллеги, помигите разобраться и правильно настроить сервера