SAMBA не работает! помогите.... срочно....

Простые/общие вопросы по UNIX системам. Спросите здесь, если вы новичок

Модераторы: vadim64, terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Гость
проходил мимо

SAMBA не работает! помогите.... срочно....

Непрочитанное сообщение Гость » 2010-12-14 9:19:34

Нашёл ваш форум одним из лучших, т.к. всё что искал в интернете находится именно на вашем сайте, много раз выкидывало из гугла прямиком на ваш форум, так что решил
задать свой вопрос именно у вас. Уважаемые Гуру freebsd пожалуйста помогите мне, я занимаюсь этим делом уже 3 месяца безрезультатно.

по существу: SAMBA не работает если я ставлю в настройках сетевых DNS адрес провайдера, а не DNS сервера внутренней сети.

подробно:

Исходные данные:

sag10 - администратор домена, с правами ввода в домен.
salo.ru - домен, под управлением контроллера домена Windows Server 2003, IP адрес котрого: 192.168.2.2, он же является DNS сервером локальной сети.

freebsd.salo.ru - имя компьютера, который я собственно и настраиваю. freebsd + samba, IP адреса у него два внутренний и внешний.
СЕТЕВАЯ КАРТА ВНЕШНЯЯ, ПРОВАЙДЕРА (смотрит в интернет) IP: 80.170.200.150 МАСКА 255.255.255.248 ШЛЮЗ 80.170.200.151 MAC 00:1F:7F:4C:95:33
DNS адреса для интернета: 80.170.180.220, 80.170.180.221

СЕТЕВАЯ КАРТА ВНУТРЕНЯЯ (смотрит в локальную сеть) IP: 192.168.1.1 МАСКА 255.255.248.0
DNS адреса для разрешения внутренних имён (локальные DNS 192.168.2.2, 192.168.2.7 ):




ХОЧУ СОБРАТЬ ПРОКСИ СЕРВЕР SAMBA + SQUID и ничего лишнего.
Само собою разумеется у меня в /etc/resolv.conf должны стоять DNS адреса провайдера, иначе интернета на сервере не будет и юзерам раздавать будет нечего.

но SAMBA не работает если я ставлю в настройках сетевых DNS адрес провайдера, а не DNS сервера внутренней сети!

ВОТ:


Если в /etc/resolv.conf установленно (DNS адреса моего интернет провайдера):

domain salo.ru
nameserver 80.170.180.220
nameserver 80.170.180.221

то вот что получается:

freebsd# kinit sag10
sag10@SALO.RU's Password:
kinit: krb5_get_init_creds: unable to reach any KDC in realm SALO.RU
freebsd# klist
klist: No ticket file: /tmp/krb5cc_0
freebsd# /usr/local/bin/net ADS join -U sag10
Failed to join domain: failed to find DC for domain SALO.RU
freebsd# /usr/local/bin/wbinfo -g
Error looking up domain groups
freebsd#

Если в /etc/resolv.conf установленны внутренние DNS локальной сети,

domain salo.ru
nameserver 192.168.2.2
nameserver 192.168.2.7

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

sag10@SALO.RU's Password:
freebsd# klist
Credentials cache: FILE:/tmp/krb5cc_0
Principal: sag10@SALO.RU

Issued Expires Principal
Dec 14 10:29:10 Dec 14 20:29:08 krbtgt/SALO.RU@SALO.RU

(Перед добавлением в домен я всегда перегружаю Самбу :
/usr/local/etc/rc.d/samba restart, иначе у меня не вводится..., впрочем это нисколько мне не мешает....)
freebsd# /usr/local/etc/rc.d/samba restart
Performing sanity check on Samba configuration: OK
winbindd not running? (check /var/run/samba34/winbindd.pid).
Stopping smbd.
Stopping nmbd.
Removing stale Samba tdb files: ........ done
Starting nmbd.
Starting smbd.
Starting winbindd.


freebsd# /usr/local/bin/net ADS join -U sag10
Enter sag10's password:
Using short domain name -- SALO
Joined 'FREEBSD' to realm 'salo.ru'
freebsd#

id sag10
-показывает группы в которых пользователь состоит.
ну и выводятся пользователи, группы, как надо... работают 2 шары которые я сделал.... всё как нужно....


ВОТ КАК СТАВИЛ:

Имя компьютера (на котором установлена SAMBA): freebsd
===============
Установка:
===============

182 Russian Federation
Russia KOI8-R
Custom -
- Partition - A - Q - standart (На виртуальной машине может спросить про геометрию, YES)
- Label - A - Q
- Distributions - All - (Would You like to install the FreeBSD ports collection?) - No
- (Установить коллекцию портов? - нет!)
-Exit
- Media - CD\DVD
- Commit
? - Yes
...Установка...
- Visit? - no
cancel
Exit Install
User Confirmation Requested Are you sure you wish to exit? The system will reboot. Пользовательское Требуемое Подтверждение
Действительно ли Вы уверены, что хотите выйти? Система перезагрузит.
-yes - ok.
ГОТОВО
===============
Настройка
===============

passwd - задать пароль ...
-----------------------------------------------------------------------------
Создадим учётной записи kot с правами wheel
adduser
kot
Login group [...]:wheel
password
...yes? no. теперь можно зайти по ssh (putty) 22 порт
etit
(Удаление учётной записи: rmuser kot)
-----------------------------------------------------------------------------
ee /etc/rc.conf

keymap="ru.koi8-r"
hostname="freebsd.salo.ru"
defaultrouter="80.170.200.151"
ifconfig_rl0_alias0="lladdr 00:1F:7F:4C:95:33"
ifconfig_rl0_alias1="inet 80.170.200.150 netmask 255.255.255.248"
ifconfig_rl1="inet 192.168.1.1 netmask 255.255.248.0"
sshd_enable="YES"
-----------------------------------------------------------------------------
Добавим записи о DNS серверах:
ee /etc/resolv.conf
( nameserver (IP адрес сервера имён. Сервера опрашиваются в порядке описания. Максимальное количество адресов -- три.))
(domain salo.ru - обязательная строчка без неё DNS работать не будет! (workgroup))

domain salo.ru
nameserver 80.170.180.220
nameserver 80.170.180.221
-----------------------------------------------------------------------------
Перезагрузка сетевых интерфейсов:
(Если химичим через ssh то все манипуляции с интерфейсами и таблицей маршрутизации одновременно можно сделать так:)
/etc/rc.d/netif restart && /etc/rc.d/routing restart
-----------------------------------------------------------------------------
Проверка:
login:kot
su
ping http://www.mail.ru
nslookup mail.ru
-----------------------------------------------------------------------------
Установка портов (примерно 50 мегабайт):
su
cd /usr/
ls
bin games include libdata local ports share
compat home lib libexec obj sbin src - если папка ports есть то удаляем:
rm -r ports
-------------
sysinstall
configure - distributions - ports - ok - FTP - выбираем самый первый пункт MainSite
Running multi-user, assume that the network is already configured? Многопользовательское выполнение, предположите, что сеть уже сконфигурирована?
-yes
cancel - Exit install
-----------------------------------------------------------------------------
Настройка времени (сначала установить внешний DNS в ee /etc/resolv.conf):

sysinstall
` - Configure - TimeZone - No - 5.Asia - 37.RussianFederation - +02 Urals yes - ok

Синхронизация времени (http://support.ntp.org/bin/view/Servers/NTPPoolServers):
ntpdate www
ntpdate asia.pool.ntp.org

Вывод времени: date
-----------------------------------------------------------------------------
БЭКАПЛЮ ВИРТУАЛКУ. С:\1.vdi
-----------------------------------------------------------------------------

РУССИФИКАЦИЯ FreeBSD

Также можно использовать Метод инициализационных файлов оболочки
Для этого в файл внесите следующие строки:
ee /etc/profile
LANG=ru_RU.KOI8-R; export LANG
MM_CHARSET=KOI8-R; export MM_CHARSET
Теперь необходимо произвести настройку консоли. Для этого внесите в файл следующие строки:
ee /etc/rc.conf
scrnmap=koi8-r2cp866
keymap=ru.koi8-r
font8x16="cp866b-8x16"
font8x14="cp866-8x14"
font8x8="cp866-8x8"
Меняем все значения cons25 на cons25r. (включая терминал 0) в файле:
ee /etc/ttys
Осталось поправить соответствие виртуальных терминалов в файле /etc/ttys кодовой таблице KOI8-R.
Ее тип терминала: cons25r. Т.е. следующие строки файла /etc/ttys должны выглядеть так:
ttyv0 "/usr/libexec/getty Pc" cons25r on secure
ttyv1 "/usr/libexec/getty Pc" cons25r on secure
ttyv2 "/usr/libexec/getty Pc" cons25r on secure
ttyv3 "/usr/libexec/getty Pc" cons25r on secure
ttyv4 "/usr/libexec/getty Pc" cons25r on secure
ttyv5 "/usr/libexec/getty Pc" cons25r on secure
ttyv6 "/usr/libexec/getty Pc" cons25r on secure
ttyv7 "/usr/libexec/getty Pc" cons25r on secure
ttyv8 "/usr/local/bin/xdm -nodaemon" xterm off secure
Для верности осталось выйти/зайти в систему и проверить вывод какой-нибудь простой команды:
date
среда, 8 декабря 2010 г. 11:52:50 (YEKT)

shutdown -p now выключение компа
-----------------------------------------------------------------------------
БЭКАПЛЮ ВИРТУАЛКУ. С:\2.vdi
-----------------------------------------------------------------------------

Назначим права на папку для группы wheel (можно всё).
chmod 775 /usr/ports/distfiles
Теперь СКИНУТЬ ПАПКУ distfiles
ntpdate 192.168.2.2
-----------------------------------------------------------------------------
БЭКАПЛЮ ВИРТУАЛКУ. С:\3.vdi
-----------------------------------------------------------------------------

cd /usr/ports/net/samba34/
make config
Options for samba34 3.4.8
[ ] LDAP With LDAP support
[X] ADS With Active Directory support
[ ] CUPS With CUPS printing support
[X] WINBIND With WinBIND support
[ ] SWAT With SWAT WebGUI
[ ] ACL_SUPPORT With ACL support
[ ] AIO_SUPPORT With Asyncronous IO support
[ ] FAM_SUPPORT With File Alteration Monitor
[ ] SYSLOG With Syslog support
[ ] QUOTAS With Disk quota support
[ ] UTMP With UTMP accounting support
[ ] PAM_SMBPASS With PAM authentication vs passdb backends
[ ] DNSUPDATE With dynamic DNS update(require ADS)
[ ] AVAHI With Bonjour service discovery support
[ ] EXP_MODULES With experimental modules
[ ] POPT With system-wide POPT library
[ ] MAX_DEBUG With maximum debugging
[ ] SMBTORTURE With smbtorture
make && make install && make clean
(ДАЛЕЕ ИДУТ НЕЗАВИСИМЫЕ ОТ ПРЕДЫДУЩЕГО ОКНА ОПЦИИ):
Options for libiconv 1.13.1_1
[ ] EXTRA_ENCODINGS Include extra character sets (Включает дополнительные наборы символов)
[ ] EXTRA_PATCHES Apply patches to fix CP932, add EUCJP-MS (Включить японские кодировки)
Options for perl 5.10.1_1
[ ] DEBUGGING Build with debugging support (Сборка с отладкой поддержки)
[ ] GDBM Build GDBM_File extension (Создать расширение GDBM_File)
[ ] PERL_MALLOC Use Perl malloc (Использовать Perl malloc)
[ ] PERL_64BITINT Use 64 bit integers (on i386) (Использовать Perl malloc для 64 битных процессоров)
[ ] THREADS Build threaded perl (Многопоточный perl)
[ ] MULTIPLICITY Use multiplicity (Используйте разнообразие)
[ ] SUIDPERL Build set-user-id suidperl binary (Создайте идентификатор пользователя набора suidperl двоичный файл)
[ ] SITECUSTOMIZE Run-time customization of @INC (Настройка времени выполнения @INC)
[X] USE_PERL Rewrite links in /usr/bin (Перезаписать ссылки /usr/bin)
Options for m4 1.4.14_1,1
[ ] LIBSIGSEGV Use libsigsegv for better diagnostics (Используйте libsigsegv для лучшей диагностики)
Options for openldap-client 2.4.23
[ ] SASL With (Cyrus) SASL2 support (Включить поддержку (Cyrus) SASL2)
[ ] FETCH Enable fetch(3) support (Библиотека передачи файлов для FreeBSD http://www.freebsd.org/cgi/man.cgi?quer ... &sektion=3)

shutdown -p now выключение компа
-----------------------------------------------------------------------------
БЭКАПЛЮ ВИРТУАЛКУ. С:\4.vdi
-----------------------------------------------------------------------------

(Копия ригинала файла тут: cp /usr/share/examples/etc/nsswitch.conf /etc/nsswitch.conf)
ee /etc/nsswitch.conf

Этот файл объяснит системе, откуда брать пароли и группы пользователей, а именно от winbind
строки теперь говорят системе, что пользователей и группы нужно искать с помощью winbind.
passwd: files winbind
group: files winbind

получилось:

Код: Выделить всё

# nsswitch.conf(5) - name service switch configuration file
# $FreeBSD: src/etc/nsswitch.conf,v 1.1.10.1.4.1 2010/06/14 02:09:06 kensmith Ex
#
group: files winbind
group_compat: nis
hosts: files dns
networks: files
passwd: files winbind
passwd_compat: nis
shells: files
services: compat
services_compat: nis
protocols: files
rpc: files
-----------------------------------------------------------------------------
БЭКАПЛЮ ВИРТУАЛКУ. С:\5.vdi
-----------------------------------------------------------------------------

Дополнительно пропишем
ee /etc/rc.conf
samba_enable="YES"
для автоматического запуска Samba при перезагрузках сервера.
===============================================================
-----------------------------------------------------------------------------
БЭКАПЛЮ ВИРТУАЛКУ. С:\6.vdi
-----------------------------------------------------------------------------

(Копия ригинала файла тут: cp /usr/local/etc/smb.conf.sample /usr/local/etc/smb.conf)
ee /usr/local/etc/smb.conf

Код: Выделить всё

[global]
 # указываем рабочую группу
        workgroup = salo
 # указываем домен
        realm = salo.ru
 # указываем режим работы samba (Active Directory support)
        security = ADS
 # домен-контроллер ( password server = 192.168.2.2 192.168.2.7)
password server = *
 # имя нашего сервера с прокси
        netbios name = freebsd
 # комментарий к имени нашего компьютера в сети
        server string = freebsd
 # указываем сетевой интерфейс для работы samba
        interfaces = em1
 # принимать SMB-запросы только на указанных интерфейсах
        bind interfaces only = yes
 # IP-адрес нашего сервера
        socket address = 192.168.1.1
        socket options = SO_RCVBUF=8192 SO_SNDBUF=8192 TCP_NODELAY
 # порт для работы samba
        smb ports = 139
 # подсети, с которых принимаем SMB-запросы
        hosts allow = 192.168. 127.
#Безопасности учетной записи домена хранятся в passdb backend
        idmap backend = tdb
 # время в сек. хранения ответа на запрос winbind'ом (неделя)
        idmap cache time = 604800
 # диапазон пользовательских идентификаторов, полученных winbind'ом
        idmap uid = 1000000-2000000
 # диапазон идентификаторов для групп, полученных winbind'ом
        idmap gid = 1000000-2000000
 # использовать зашифрованные пароли при общении с AD
        encrypt passwords = yes
 # заставляем winbind нумеровать доменных пользователей
        winbind enum users = yes
 # заставляем winbind нумеровать доменные группы
        winbind enum groups = yes
 # Этот параметр разрешает winbindd (8) управлять пользователями без доменной части в имени пользователя
        winbind use default domain = yes
 # не загружать принтеры
      load printers = no
 # говорим samba не становиться мастер-браузером
        local master = no
 # говорим samba, что она не домен контроллер
        domain master = no
 # говорим samba, что она не wins-сервер
        dns proxy = no
 # говорим samba, что она не первичный мастер-браузер
        preferred master = no
 # кодировка для отображения сообщений на стандартном выводе
        display charset = koi8-r
 # кодировка при общении с другими SMB-клиентами
        unix charset = koi8-r
 # кодировка при общении с DOS-подобными системами
        dos charset = cp866
 # время неактивности, по истечении которого клиент отключается от samba
        deadtime = 5

[distfiles]
valid users = "sag10","rii10"
path = /usr/ports/distfiles/
read only = No
Guest Ok = No
force user = root

[smb logs]
valid users = "sag10","rii10"
path = /var/log/samba34/
read only = No
Guest Ok = No
force user = root
[/color]

====================================================
Проверим конфигурацию:


/usr/local/bin/testparm

/usr/local/etc/rc.d/samba start
/usr/local/etc/rc.d/samba restart
===============================================================
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$ Добавление в домен Windows $$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
--------------------------------------------

ee /etc/resolv.conf
domain salo.ru
nameserver 192.168.2.2
nameserver 192.168.2.7
----------------------
Получаем билет от Kerberos (проверка установленного времени с контроллером)
Теперь введем наш сервер в домен. Командой kinit получаем билетик для kerberos,
чтобы подключиться к домену. Необходимо указать доменного пользователя,
который имеет право на присоединение компьютера к домену, а так же его доменный пароль:

kinit sag10
Действия по настройке kinit необходимы исключительно для тестирования связи
с сервером Kerberos, и выполнять их необязательно.

klist (Просматриваем полученный билет: ticket file: /tmp/krb5cc_0)
Credentials cache: FILE:/tmp/krb5cc_0
Principal: sag10@salo.ru
Issued Expires Principal
Nov 19 15:55:37 Nov 19 22:35:36 krbtgt/salo.ru@salo.ru
----------------------------------------------------------------------------
Ввод в домен (перед этим перегрузить SAMBA, после получения билета kerberos):
/usr/local/etc/rc.d/samba restart

/usr/local/bin/net ADS join -U sag10
В smb.conf прописать security = ADS.
И кстати желательно при nej ads join -U admin ... ads писать в том же регистре что и в конфиге...
иначе есть риск увидеть " ads_connect: No such file or directory"

(слово ADS обновляет компьютер в сетевом окружении компьютеров Windows)
Password:
Joined domain SALAVATGLASS.
ИЛИ (если пароль неверный)
[2010/11/30 10:25:20, 0] libads/kerberos.c:ads_kinit_password(228)
kerberos_kinit_password sag10@salo.ru failed: Preauthentication failed
Failed to join domain: Logon failure

Если вы видите такое же сообщение – то демон winbind успешно запущен
перед этой командой выполнить:
/usr/local/etc/rc.d/samba restart
/usr/local/bin/wbinfo -p
Ping to winbindd succeeded

/usr/local/bin/wbinfo -t
checking the trust secret via RPC calls succeeded

Теперь произведем отображение существующих в домене пользователей и групп.
/usr/local/bin/wbinfo -g
/usr/local/bin/wbinfo -g | wc -l
46 (44)

/usr/local/bin/wbinfo -u
/usr/local/bin/wbinfo -u | wc -l
793 (795)

Командой id вы сможете узнать принадлежность какого-либо пользователя к группам:
id sag10

Проверяем аутентификацию в домене:
wbinfo -a sag10%пароль
plaintext password authentication succeeded
challenge/response password authentication succeeded


И ВОТ ТЕПЕРЬ САМОЕ ИНТЕРЕСНОЕ:

ee /etc/resolv.conf
domain salo.ru
nameserver 80.170.180.220
nameserver 80.170.180.221
wbinfo -u
wbinfo -g
id sag10

ПЕРЕСТАЮТ РАБОТАТЬ.

ee /etc/krb5.conf - я не настраивал, он пустой. т.к. с внутренними DNS работало отлично. я незнаю нужен он или нет и зачем нужен. так что не делал.


ПОДСКАЖИТЕ ЧТО ЕЩЁ МОЖНО СДЕЛАТЬ ЧТОБЫ РАБОТАЛО В ВНЕШНИМИ ПРОВАЙДЕРСКИМИ DNS СЕРВЕРАМИ в etc/resolv.conf ?

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35456
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: SAMBA не работает! помогите.... срочно....

Непрочитанное сообщение Alex Keda » 2010-12-14 10:09:25

многа букав
ниасилил
Убей их всех! Бог потом рассортирует...

Аватара пользователя
manefesto
Группенфюррер
Сообщения: 6934
Зарегистрирован: 2007-07-20 8:27:30
Откуда: Пермь
Контактная информация:

Re: SAMBA не работает! помогите.... срочно....

Непрочитанное сообщение manefesto » 2010-12-14 13:26:12

оформление никакое, еще и комменты в конфиге самбы
я такой яростный шо аж пиздеЦ
Изображение

snorlov
подполковник
Сообщения: 3927
Зарегистрирован: 2008-09-04 11:51:25
Откуда: Санкт-Петербург

Re: SAMBA не работает! помогите.... срочно....

Непрочитанное сообщение snorlov » 2010-12-14 13:43:57

Поставьте у себя в resolv.conf d качестве dns dns - вашего контроллера AD, затем в файрволе разрешите все запросы dns от вашего контроллера AD, ну а в самом контроллере AD выбирайте что вам лучше надо, самому разрешать имена интернета обращиясь к корневым доменам(ничего делать не надо) либо отправлять запросы на сервер провайдера (закладочка форвард, впишите туда ip dns вашего провайдера). Уверяю вас все будет работать в лучшем виде без головной боли и дополнительного трафика.И на будующее, почитайте перед сном про DNS и зачем он нужен в AD....

RAGNAR
ст. прапорщик
Сообщения: 530
Зарегистрирован: 2009-07-10 22:12:06
Откуда: Ржев
Контактная информация:

Re: SAMBA не работает! помогите.... срочно....

Непрочитанное сообщение RAGNAR » 2010-12-15 19:59:12

эт спам какойто :smile:
... Да освятится имя твое и pасшиpение твое, Господи...

kot318
проходил мимо
Сообщения: 2
Зарегистрирован: 2010-12-10 18:37:44

Re: SAMBA не работает! помогите.... срочно....

Непрочитанное сообщение kot318 » 2010-12-16 7:02:04

RAGNAR писал(а):эт спам какойто :smile:
Сам справился. спасибо за помощь в виде таких высказываний. прописал имя локального компа, в /etc/hosts и заработало без DNS вообще! всё как и хотел,

только теперь вводить в домен приходится не командой
/usr/local/bin/net ADS join -U sag10, как раньше, а командою:
/usr/local/bin/net rpc join -U sag10, ктонибудь знает в чём разница и почему так?

snorlov
подполковник
Сообщения: 3927
Зарегистрирован: 2008-09-04 11:51:25
Откуда: Санкт-Петербург

Re: SAMBA не работает! помогите.... срочно....

Непрочитанное сообщение snorlov » 2010-12-16 10:26:39

Дык, по разному разрешает имена, в первом случае через dns, во втором через netbios over tcpip...