1 (01.12.2011 13:23:10 отредактировано Nigelist)

Стоит сервер на базе Debian Squeeze 6.0.3 + Samba. Сервер необходимо ввести в AD, организовать доступ к ресурсам файлового сервера посредством аккаунтов AD, организовать раздачу и учет трафика, опять же посредством аккаунтов AD. Пытался реализовать вышеописанное по этой статье, не получилось, застрял на этапе ввода в домен. Ввожу:

 Консоль:
net ads join -U samba

Ввожу пароль:

 Консоль:
Enter samba's password:

Получаю:

 Консоль:
Failed to join domain: failed to find DC for domain PHARMLIDER.LOCAL

Может кто из форумчан имеет опыт введения Debian-сервера в AD? И натыкался на эти грабли? Или может кто даст ссылку на хорошую, подробную статью с разъяснениями действий и описанием подводных камней?

Читал пару статей на форуме, но они немного сумбурно изложены. Понять не смог. Был бы благодарен за ссылки подробные статьи с пояснениями, по следующим темам:

  • Настройка шлюза, настройка брандмауэра, настройка маршрутизации

  • Организация системы учета и проверки трафика, блокирование ресурсов по заданному списку и по маске. Доступ должен проводиться посредством аккаунтов AD

  • Ввод сервер на базе Debian в AD Windows Server 2003,

  • Организация доступа к ресурсам файлового сервера, посредством аккаунтов AD.

Мне интересно, в каком порядке все это устанавливается/настраивается? Какую систему учета трафика выбрать исходя из вышеуказанных требований? Что лучше выбрать для проверки трафика (ClamAV, Dr.Web)?

Схема организации шлюза

+ открыть спойлер

http://10pix.ru/img1/4583/4888064.png

Ссылки, которые нашел:
Debian Squeeze, Squid, Kerberos/LDAP аутентификация, интеграция Active Directory и Cyfin Reporter

Очень прошу давать подробные, обстоятельные ответы, с пояснениями и комментариями. Если все получиться, соберу в отдельную статью.

2

в вкратце

Нам дано:

Домен RA.LOCAL

Имя компьютера домена RA-DC.RA.LOCAL ип 192.168.32.1

Имя нашего прокси сервера RA-Proxy ип 192.168.32.2

Правим hosts

 Консоль:
nano /etc/hosts

192.168.32.2 RA-Proxy.RA.local
192.168.32.1 RA-DC.RA.LOCAL

Важно!!! nslookup RA-DC.RA.LOCAL должен отрабатывать правильно.

Ставим

 Консоль:
apt-get install samba winbind krb5-admin-server krb5-clients krb5-config krb5-doc krb5-kdc krb5-user ntpd

Пока не продолжили важно синхронизировать время!

 Консоль:
nano /etc/ntp.conf

Приводим к такому виду параметр server

 Консоль:
#server 0.debian.pool.ntp.org iburst
#server 1.debian.pool.ntp.org iburst
#server 2.debian.pool.ntp.org iburst
#server 3.debian.pool.ntp.org iburst
server    RA-DC.RA.LOCAL

Приводим конфиги в нормальный вид. Можно брать мои ток правьте под себя.

 Консоль:
cat /etc/krb5.conf

[libdefaults]
default_realm = RA.LOCAL
dns_lookup_realm = false
dns_lookup_kdc = false
ticket_lifetime = 24h

# The following krb5.conf variables are only for MIT Kerberos.
krb4_config = /etc/krb.conf
krb4_realms = /etc/krb.realms
kdc_timesync = 1
ccache_type = 4
forwardable = true
proxiable = true

# The following encryption type specification will be used by MIT Kerberos
# if uncommented. In general, the defaults in the MIT Kerberos code are
# correct and overriding these specifications only serves to disable new
# encryption types as they are added, creating interoperability problems.
#
# Thie only time when you might need to uncomment these lines and change
# the enctypes is if you have local software that will break on ticket
# caches containing ticket encryption types it doesn’t know about (such as
# old versions of Sun Java).

# default_tgs_enctypes = des3-hmac-sha1
# default_tkt_enctypes = des3-hmac-sha1
# permitted_enctypes = des3-hmac-sha1

# The following libdefaults parameters are only for Heimdal Kerberos.
v4_instance_resolve = false
v4_name_convert = {
host = {
rcmd = host
ftp = ftp
}
plain = {
something = something-else
}
}
fcc-mit-ticketflags = true

[realms]
RA.LOCAL = {
kdc = RA-DC.RA.LOCAL
admin_server = RA-DC.RA.LOCAL
default_domain = RA.LOCAL
}
[domain_realm]
.RA.LOCAL = RA.LOCAL
RA.LOCAL = RA.LOCAL

[login]
krb4_convert = true
krb4_get_tickets = false

 Консоль:
cat /etc/samba/smb.conf

# netbios имя домена
workgroup = RA
netbios name = ra-proxy

# Строка комментария сервера
server string = Squid with LDAP auth

# Режим безопасности, в нашем случае ads
security = ads

# расположение лог файла и его размер
log file = /var/log/samba/samba.log
max log size = 500

# Здесь необходимо указать dns имя или ip контроллера домена,
# если указываете dns имя необходимо убедиться, что разрешение
# имен работает правильно
password server = 192.168.32.1

# dns имя Active Directory
realm = RA.LOCAL

# Тип хранилища.
passdb backend = tdbsam

# Сетевые настройки.
socket options = TCP_NODELAY

# Указываем, что самба не является PDC
local master = no
domain master = no
preferred master = no
domain logons = no
os level = 0

# Настройка кириллицы
display charset = UTF-8
unix charset = UTF-8
dos charset = cp866

# Использовать шифрованные пароли
encrypt passwords = yes

# Настройки winbind
winbind use default domain = no
winbind uid = 10000-20000
winbind gid = 10000-20000
winbind enum users = yes
winbind enum groups = yes

squid.conf

 Консоль:
auth_param ntlm program /usr/bin/ntlm_auth –helper-protocol=squid-2.5-ntlmssp
auth_param ntlm children 5
auth_param basic program /usr/bin/ntlm_auth –helper-protocol=squid-2.5-basic
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours

acl users proxy_auth REQUIRED
http_access allow users

 Консоль:
cat /etc/nsswitch.conf | grep winbind

group: files winbind
passwd: files winbind
shadow: files winbind

После того как всё поправили надо сразу подправить winbind

 Консоль:
nano /etc/init.d/winbind

chgrp proxy $PIDDIR/winbindd_privileged/ || return 1

Если не перезагружать демоны то какой то странный глюк.

 Консоль:
nano /etc/rc.local

/etc/init.d/samba restart
/etc/init.d/winbind restart
exit 0

Перед тем как продолжить лучше перезагрузить демоны

 Консоль:
/etc/init.d/ntp restart

/etc/init.d/samba restart

/etc/init.d/winbind restart

Теперь важно чтоб всё обработало как ниже:

 Консоль:
net ads join -U Admin%pass

Using short domain name — RA
Joined ‘GentooRouter’ to realm ‘RA.LOCAL’

Тут у меня выскочило ошибка днс но я тупо пропустил

No DNS domain configured for ra-proxy. Unable to perform DNS Update.
DNS update failed!

Проведём ряд тестов

 Консоль:
wbinfo -p

Ping to winbindd succeeded on fd 4

wbinfo -t

checking the trust secret via RPC calls succeeded

wbinfo -u

YOURDOMAIN\DomainAdminAccount
YOURDOMAIN\администратор
YOURDOMAIN\гость
YOURDOMAIN\tsinternetuser
YOURDOMAIN\krbtgt
YOURDOMAIN\freebsd$
YOURDOMAIN\server$

wbinfo -g

YOURDOMAIN\компьютеры домена
YOURDOMAIN\контроллеры домена
YOURDOMAIN\администраторы схемы
YOURDOMAIN\администраторы предприятия
YOURDOMAIN\издатели сертификатов
YOURDOMAIN\администраторы домена
YOURDOMAIN\пользователи домена
YOURDOMAIN\гости домена
YOURDOMAIN\владельцы-создатели групповой политики
YOURDOMAIN\серверы ras и ias
YOURDOMAIN\dnsadmins
YOURDOMAIN\dnsupdateproxy

Если у вас такие же результаты, то значит все нормально и winbind работает правильно. Теперь просмотрим информацию о домене и AD.

 Консоль:
wbinfo -D RA.LOCAL

Name : RA
Alt_Name : RA.LOCAL
SID : S-1-5-21-220523388-842925246-839522115
Active Directory : Yes
Native : Yes
Primary : Yes
Sequence : 3143

net ads info

LDAP server: 192.168.32.1
LDAP server name: RA-DC.RA.local
Realm: RA.LOCAL
Bind Path: dc=RA,dc=LOCAL
LDAP port: 389
Server time: Сбт, 30 Апр 2011 02:45:47 MSD
KDC server: 192.168.32.1
Server time offset: -1

Проверим аутентификацию

 Консоль:
wbinfo –authenticate=RA\\ADMIN%PASS

plaintext password authentication succeeded
challenge/response password authentication succeeded

Если у вас такие же результаты, то поздравляю, самбу мы настроили. Теперь осталось только указать пользователя, от имени которого будет проходить аутентификация.

 Консоль:
net setauthuser -U RA\\ADMIN[%PASS]

Проверяем

 Консоль:
net help getauthuser

RA\RA\ADMIN[%PASS]

Теперь настройте Squid как вам по душе. Ну на этом всё! Теперь прошедшие авторизацию AD могут спокойно пользоваться проксёй без как либо паролей.

Полезные мелочи:

Для кеширования записей можно добавить в smb.conf

winbind offline logon = true
winbind cache time = 6000

Всё проверенно на debian 6 но говорю сразу глюки есть squid + ad (я отказался от затеи)

Ищу дополнительный заработок (удалёнка).
Пьянка без секса – признак алкоголизма.

3

Чуть не забыл ещё надо будет BIND

Ищу дополнительный заработок (удалёнка).
Пьянка без секса – признак алкоголизма.

4

Kettler пишет:

Всё проверенно на debian 6 но говорю сразу глюки есть squid + ad (я отказался от затеи)

А есть ли внятная замена Squid, которая будет нормально работать с AD?

5

не знаю если честно пока смотрю в сторону 4 samba

Ищу дополнительный заработок (удалёнка).
Пьянка без секса – признак алкоголизма.

6

Kettler пишет:

я не знаю если честно пока смотрю в сторону 4 samba

А traffpro не пробовали в связке с AD?

Nigelist пишет:

Важно!!! nslookup RA-DC.RA.LOCAL должен отрабатывать правильно.

Так правильно?

 Консоль:
nslookup 1cserver.pharmlider.local
Server:         212.154.163.162
Address:        212.154.163.162#53

** server can't find 1cserver.pharmlider.local: NXDOMAIN

7 (28.11.2011 12:34:01 отредактировано Kettler)

а какой ип у 1cserver.pharmlider.local
traffpro нет но вроде есть не плохая интеграция

Ищу дополнительный заработок (удалёнка).
Пьянка без секса – признак алкоголизма.

8

Kettler пишет:

а какой ип у 1cserver.pharmlider.local
traffpro нет но вроде есть не плохая интеграция

Опа, я неправильное имя тестировал, 1cserver.pharmlider.local - имя proxy-сервера, а имя контроллера домена - zeus.pharmlider.local. Адрес IP - 192.168.29.1. Выхлоп команды nslookup:

 Консоль:
nslookup zeus.pharmlider.local
Server:         212.154.163.162
Address:        212.154.163.162#53
** server can't find 1cserver.pharmlider.local: NXDOMAIN

Еще вопрос. При установке пакетов связанных с kerberos, задают вопрос:

Введите имена хостов для серверов Kerberos в области Kerberos PHARMLIDER.LOCAL через пробел.

Какие хосты надо вводить?

9

Сначала Bind настрой у тя запросы не правильно

Ищу дополнительный заработок (удалёнка).
Пьянка без секса – признак алкоголизма.

10 (28.11.2011 13:57:34 отредактировано Nigelist)

Kettler пишет:

Сначала Bind настрой у тя запросы не правильно

Не подскажете как?

--------------------Upd--------------------
Не прописал в /etc/resolv.conf IP контроллера домена. Добавил, теперь выдает такое:

 Консоль:
nslookup zeus.pharmlider.local
Server:         192.168.11.1
Address:        192.168.11.1#53

** server can't find 1cserver.pharmlider.local: NXDOMAIN


Вроде бы правильно.

11

теперь лучше

Ищу дополнительный заработок (удалёнка).
Пьянка без секса – признак алкоголизма.

12 (28.11.2011 14:11:29 отредактировано Nigelist)

Kettler пишет:

теперь лучше

Nigelist пишет:

Еще вопрос. При установке пакетов связанных с kerberos, задают вопрос:

Введите имена хостов для серверов Kerberos в области Kerberos PHARMLIDER.LOCAL через пробел.

Какие хосты и как надо вводить?

Мой контроллер домена - zeus.pharmlider.local
Мой файловый сервер - 1cserver.pharmlider.local
Что вводить?
http://s1.ipicture.ru/uploads/20111128/thumbs/27g3YHC5.png
-------------------------Upd-------------------------
В предыдущем сообщении неправильный выхлоп вставил. На самом деле так:

 Консоль:
nslookup zeus.pharmlider.local
Server:         192.168.11.1
Address:        192.168.11.1#53
Name:   zeus.pharmlider.local
Address: 192.168.11.1

13

В каком конфиге это нашол?

Ищу дополнительный заработок (удалёнка).
Пьянка без секса – признак алкоголизма.

14

Что именно?

15

Да пофиг что потом конфиг всё равно отлаживать

Ищу дополнительный заработок (удалёнка).
Пьянка без секса – признак алкоголизма.

16

Попробовал:

 Консоль:
net ads join -U samba
Enter samba's password:
Using short domain name -- PHARMLIDER
Joined '1CSERVER' to realm 'pharmlider.local'

Это значит, что получилось? И что значит строчка:

 Консоль:
Using short domain name -- PHARMLIDER

17

проверьте ещё службу winbind пашет ли

Ищу дополнительный заработок (удалёнка).
Пьянка без секса – признак алкоголизма.

18

Перевёл сквид на групповую политику посмотрим дня 2 что выйдет

Ищу дополнительный заработок (удалёнка).
Пьянка без секса – признак алкоголизма.

19

А можно в /etc/network/interfaces, в параметре gateway указывать не ip-адрес или dns-имя, а напрямую интерфейс? Например:

 Консоль:
auto eth0
    iface eth0 inet static
    address 192.168.11.4
    netmask 255.255.255.0
    gateway eth1

20

Наконец то получилось ввести в домен!
Тесты прошли:

+ открыть спойлер

 Консоль:
root@1cserver:~# wbinfo -p
Ping to winbindd succeeded
root@1cserver:~# wbinfo -t
checking the trust secret for domain PHARMLIDER via RPC calls succeeded
root@1cserver:~# wbinfo -u
администратор
гость
support_388945a0
krbtgt
smanager1
admin
smanagerboss
director
smanager2
smanager3
smanager4
smanager
zmanager2
bookerboss
booker1
booker2
booker3
booker4
cashier
samba
root@1cserver:~# wbinfo -g
helpservicesgroup
telnetclients
пользователи dhcp
администраторы dhcp
компьютеры домена
контроллеры домена
администраторы схемы
администраторы предприятия
издатели сертификатов
администраторы домена
пользователи домена
гости домена
владельцы-создатели групповой политики
серверы ras и ias
dnsadmins
dnsupdateproxy
internet users

Теперь осталось нормально настроить шлюз и организовать проверку трафика (dr.web, clamav), блокирование ресурсов маске, раздачу интернету аккаунтам AD, ограничение трафика по аккаунтам AD. А также дать доступ к ресурсам файлового сервера по аккаунтам AD.

21

Kettler пишет:

Перевёл сквид на групповую политику посмотрим дня 2 что выйдет

Сорри за такой вопрос. А есть где почитать про груп. политику? Samba4 вроде как работает, а вот с правами и со всеэ жто канителью не разберусь. Так и не отрыл где разрешить пользователю заходить удаленно. В dsa создавал пользователя, добавлял его в \PDC\Administrators. Как был в группе Domain Users -> Users так и осталась. Нужна мат часть...

MX 23.6 Libretto x86_64
Чем больше я работаю админом, тем больше понимаю, насколько волшебна фраза - "Нет технической возможности!"

22 (29.11.2011 08:51:13 отредактировано Nigelist)

--=XliN=--, вообще то здесь в качестве контроллера домена рассматривается Windows Server 2003. smile Cоответственно политика домена определяется на Windows Server 2003

23

Nigelist пишет:

вообще то здесь в качестве контроллера домена рассматривается Windows 2003.

Я в курсе.... Просто Kettler, знает о чем я говорю...  ag

MX 23.6 Libretto x86_64
Чем больше я работаю админом, тем больше понимаю, насколько волшебна фраза - "Нет технической возможности!"

24

--=XliN=--, а Samba4 на какой стадии разработки? Вроде там будет возможность использования в качестве первичного (основного) контроллера домена и множество других вкусняшек, которые я еще не осознаю. :rolleyes:

25

Nigelist, Ну пока бетка. Тестирую потихоньку... По крайней мере контроллер домена теперь делается в пару строк и без ручного редактирования ldif файлов и т.д., но куча непоняток осталось. Я просто в принципе ни когда не работал с AD и не понимаю некоторых особенностей. Пока ввел в новый домен два компа... тестирую на них.

Очень хочется еще разобраться с переносимыми пользователями, без них я не вижу фишки в AD на Samba 4. Про групповые политики я вообще молчу. Темный лес.

MX 23.6 Libretto x86_64
Чем больше я работаю админом, тем больше понимаю, насколько волшебна фраза - "Нет технической возможности!"

26

--=XliN=--, политики домена, это - возможность раздавать пользователям права удаленно, т.е. не надо ходить и настраивать права доступа на каждой машине, под каждого пользователя. Политику домена можно настроить один раз, экспортировать ее куда нибудь и при необходимости восстанавливать. В свою очередь, пользователь может авторизоваться на любой машине под своим аккаунтам и получить доступ к своим документам (имхо это и есть переносимый пользователь). Каталог пользователей находиться на контроллере домена, на машине входящей в домен нет пользователей.

27

--=XliN=-- пишет:
Kettler пишет:

Перевёл сквид на групповую политику посмотрим дня 2 что выйдет

Сорри за такой вопрос. А есть где почитать про груп. политику? Samba4 вроде как работает, а вот с правами и со всеэ жто канителью не разберусь. Так и не отрыл где разрешить пользователю заходить удаленно. В dsa создавал пользователя, добавлял его в \PDC\Administrators. Как был в группе Domain Users -> Users так и осталась. Нужна мат часть...

Я ешё не переводил.
Вообщем 2003 AD + SQUID гемор  ac

Ищу дополнительный заработок (удалёнка).
Пьянка без секса – признак алкоголизма.

28

--=XliN=-- пишет:

Nigelist, Ну пока бетка. Тестирую потихоньку... По крайней мере контроллер домена теперь делается в пару строк и без ручного редактирования ldif файлов и т.д., но куча непоняток осталось. Я просто в принципе ни когда не работал с AD и не понимаю некоторых особенностей. Пока ввел в новый домен два компа... тестирую на них.

Очень хочется еще разобраться с переносимыми пользователями, без них я не вижу фишки в AD на Samba 4. Про групповые политики я вообще молчу. Темный лес.

Можно что бы профиль хранился на сервере это настраиваешь уже самбу на wiki есть

Ищу дополнительный заработок (удалёнка).
Пьянка без секса – признак алкоголизма.

29

Kettler, по поводу этого вопроса, ничего не подскажете?
http://linuxforum.ru/viewtopic.php?pid=229278#p229278

30 (29.11.2011 14:50:20 отредактировано Kettler)

Nigelist пишет:

А можно в /etc/network/interfaces, в параметре gateway указывать не ip-адрес или dns-имя, а напрямую интерфейс? Например:

 Консоль:
auto eth0
    iface eth0 inet static
    address 192.168.11.4
    netmask 255.255.255.0
    gateway eth1

Не понимаю токо зачем? Сделай такс

 Консоль:
auto eth0
    iface eth0 inet static
    address 192.168.11.4
    netmask 255.255.255.0

И пропиши маршрут
route add -net 192.168.11.0/24 dev eth0

Ищу дополнительный заработок (удалёнка).
Пьянка без секса – признак алкоголизма.