Online video hd

Смотреть русское с разговорами видео

Официальный сайт 24/7/365

Смотреть видео бесплатно

le087 31.10.2011 21:57

Linux Network AdministrationПляшем с бубном тру-шаманские танцы или личный опыт внедрения Samba на предприятии.

Большинство присутствующих на нашем замечательном ресурсе системных администраторов как минимум задумывались попробовать реализовать домен на правильной операционной системе или на её сестричке (BSD), наверняка есть и те, кто реализовал данное решение или напротив - полностью отказался. Здесь не очень уместно говорить о технической несостоятельности людей, отвечающих за сети на предприятии (если вдруг админ не справился с задачей в сабже), но однозначно стоит заметить, что очень и очень много зависит от специфики на производстве. Как и везде в IT, здесь необходимо смотреть на месте и прикидывать - стоит оно того, или не стоит.

Ну что это я все вокруг да около, давайте добавим немного конкретики... Итак, существует в прекрасном царстве предприятие. Оно ни большое и не очень маленькое. Всего 100 машин и с пол десятка серверов. Машины 99% работают на Windows XP и на 80% из них абсолютно одинаковая конфигурация (т.е. эти компьютеры универсальные, и любой из сотрудников может сесть за любой из компьютеров и не отказывать в себе ни в одной производственной радости). Все машины этого предприятия изначально находились в домене другой, большой и разухабистой конторы, и соответственно использовали сетевые ресурсы большого брата, пока в один прекрасный день их вежливо ни попросили закрыть дверь с другой стороны шлюза.

На машинах установлено уникальное ПО! Да да, именно то что вы подумали: написанное на коленке за 7 лет кучей разных программистов, капризное и вредное, норовящее постоянно зависнуть или вылететь, даже если сотрудник вдруг поведет мышку не в ту сторону. Но отказаться от него предприятие не в силах, ибо задачи очень специфичны а производственная схема невероятно сложна и требует не только качественного продукта, но и сложной системы контроля этого самого качества с сопутствующей переработкой довольно значительного количества статистической информации. К моему счастью, это ПО не зависит от домена, что несомненно сэкономило мне значительное количество времени и нервов.

Почему Samba? Все очень просто - не дали денег на Windows Server, и не дадут в ближайшем будущем точно. А пиратить на предприятии - мне свобода дороже (тачки на Windows XP честная лицензия если что). Кстати, ни в коем случае не думайте, что Samba 3.5 в полной мере способна заменить полноценный Active Directory Server - нужно быть либо любителем черного юмора, либо ничего не знать про AD, что бы так говорить(заметьте, что речь идет именно об Samba 3.5). И все же Samba - это уже что-то, чем совсем ничего.

Основная причина, по которой мне был необходим домен - возможность централизованного управления учётными записями пользователей, а также разграничение доступа к сетевым ресурсам (включая выход в интернет). Знаете, Samba с этими задачами прекрасно справляется.

Давайте я расскажу, как это выглядит у меня. На Samba поднят первичный контроллер домена уровня WindowsNT, для кошерного администрирования которого установлен и настроен Webmin. Webmin - это такая удобная веб-морда к серверу со всякими интересными плюшками. Собственно через нее можно управлять пользователями(в том числе и самбы), смотреть загруженность сервера, расшаривать сетевые каталоги и даже формировать правила для iptables и делать ещё кучу всяких обыденных штук не прибегая к помощи putty. Соответственно все машины входят в домен и пользователи могут логиниться в систему с любого рабочего места. Каждый пользователь имеет свой личный каталог на сервере, а также доступ к общедоступному сетевому диску. Помимо этого имеется еще пара файлопомоек на основе Unix-like систем, которые так же входят в домен. Насколько я знаю, webmin использует пакет smbtools для работы с доменными учетными записями, что не может не радовать.

Доступ в интернет предоставляется через прокси, построенном на связке Squid+SAMS c NTLM-авторизацией. Это значит, что я могу управлять доступом на основе доменных учётных записей и вести подробную статистику по каждому пользователю. SAMS предоставляет достаточно большое количество возможностей для ограничения доступа к определённым сайтам, назначение квот и нарезки скорости (последним я бы увлекаться не рекомендовал). SAMS имеет web-интерфейс и умеет строить графики и даже формировать няшные отчеты в PDF для вашего начальства. Но тут есть один большой недостаток: совсем недавно стало известно, что разработчики прекратили работы над SAMS и передают проект в руки сообщества, которое к сожалению кажется так и не отыщится.

Программное обеспечение по большей части своей самописанное, и как правило его обновление производится простым копированием сверху. Тем не менее у нас очень широко используется OpenOffice и LibreOffice, которые прекрасно устанавливается через msexec. Поэтому масштабное обновление ПО или установка оного с нуля в автоматическом режиме производится посредством PsTools и паре самописанных батников (здесь уже кто на что горазд, хочется - ставь msi, хочется - прописывай значения в реестр через reg-файл, это уже не важно, главное - пишешь один раз, а ставится оно на 70-100 машин уже само). Собственно вот так и живем.

Что со всем этим не так:
1. Не могу придумать способ, как управлять локальными политиками на уровне всего домена без непосредственного редактирования реестра. Если необходимо внести какие-либо изменения, приходится обходить все компьютеры и вносить изменения вручную.
2. Пока не получилось настроить нормальную синхронизацию времени между контроллером и рабочими станциями, в результате время местами разница на 2-3 минуты, что ни есть хорошо (чтение манов и гуглохождение в самом разгаре).
3. Для установки и обновления ПО нужно следить, что бы все машины были включены, что частенько обламывает получить полный кайф от своей крутости, ибо приходится поднимать пятую точку и делать предварительный обход.
4. Значительно более высокий порог вхождения, чем при использовании AD. Читать придется много, экспериментировать ещё больше.


Достоинства:
1. Халява. Действительно, помимо старого железа и трудочасов админа, больше не было вложено ни копейки. Впрочем, тут ещё надо посчитать, сколько они сэкономили. Правда с финансированием тут ситуация такая, что лучше делать потихоньку и на бесплатном ПО, чем работать ещё в 4 раза больше и надеятся, что тебе таки выделят деньги на некоторый необходимый софт.
2. Низкое потребление ресурсов - контроллер домена кушает 400мб, прокси - 170мб, шары и того меньше.
3. Отличный повод покапаться в недрах Windows машин и разобраться с множеством интересных проблем, которые несомненно в будущем облегчат вам жизнь..
4. Если еще немного почитать маны, то можно поднять домен с использованием OpenLDAP, что дает возможность прикрутить к домену еще и почту так же за бесплатно.
5. Повышенное ЧСВ от использования тру-софта.

На основании вышесказанного, можно сделать вывод, что если не придераться, то Samba вполне подойдет для небольших сетей (порядка 100 машин). При невозможности использовать MS AD, это является очень даже серьезным подспорьем в боевых буднях сисадмина и поможет сэкономить значительное количество времени, нежели вы попытаетесь обойтись совсем без домена.

Собственно вот и все, что касается моего небольшого опыта использования Samba на предприятии. За 3 месяца, пока эта штука у меня работает, я вполне доволен. Стабильно, дешево и сердито. Аж душа радуется =).

PS Если надумаете разворачивать домен на Samba, не забудьте развернуть вместе с первичным контроллером, ещё и вторичный.

PSS кто-нибудь уже смотрел Samba 4?


Тэги: samba личный опыт
+ 11 -
Похожие Поделиться

NutipA 01.11.2011 05:38 #
+ 1 -
Есть вопрос, который не совсем по поводу самбы, но тем не менее упоминается в вашей статье.
Доступ в интернет предоставляется через прокси, построенном на связке Squid+SAMS c NTLM-авторизацией. Это значит, что я могу управлять доступом на основе доменных учётных записей и вести подробную статистику по каждому пользователю.

Во-первых, считаете ли вы трафик, отличный от сквидовских портов, если да, то чем? Во-вторых, насколько мне известно, все анализаторы логов кальмара, типа SAMS, могут из access.log почерпнуть лишь ip адрес клиента, без всякой привязки к "личности" этого клиента. Отсюда вытекает неприятный факт, что я должен статически назначать адреса для клиентов, чтобы в подобной статистике был смысл. Так вот, собственно, основной вопрос: как вы обеспечиваете это взаимодействие сквида и домена именно в разрезе статистики? Чтобы было максимально понятно, что я спрашиваю, приведу пару простых примеров: допустим у некоторых сотрудников есть виртуальные машины, которые в режиме бриджа являются полноценными участниками сети (то есть на одного фактического пользователя домена приходится несколько ip адресов), либо второй пример - банальный DHCP (то есть у каждого сотрудника может быть другой адрес каждый день). Как-то вы обрабатываете такие ситуации, и если да, то было бы очень любопытно узнать как. Спасибо за статью!
le087 01.11.2011 07:55 #
+ 2 -
Работаю я в своей компании не так давно, да и админ я начинающий, поэтому при переделке сети компании, у меня еще далеко не все проблемы решены. Через Squid+SAMS трафик считается только для http(s). К сожалению SQUID не умеет проксировать POP и SMTP, поэтому я сейчас хотел поковырять другую забавную поделку отечественного производства - 3proxy. Еще не смотрел толком, как она умеет работать с доменами, но прокидывает почтовый трафик отлично.

У большинства пользователей (90%) нет почты, нет im-клиентов и по факту во внешнюю сеть им нужен только http. Остальные (руководство) настолько заняты, что им не до мирских забав. Поэтому учет траффика по другим каналам почти не ведется, но планируется.
Во-вторых, насколько мне известно, все анализаторы логов кальмара, типа SAMS, могут из access.log почерпнуть лишь ip адрес клиента, без всякой привязки к "личности" этого клиента.

Вот строчка лога:
1
1320118622.409    677 10.xx.xx.xx TCP_MISS/200 189444 GET http://surgut-oxrana.ru/view/images/on_pages/fasad.png DOMAIN.LOCAL+ivanov-ig DIRECT/217.112.35.50 image/png


Заметьте, в строчке присутствует DOMAIN.LOCAL+ivanov-ig, на основании которой и определяется, кто по данному адресу полез в интернет. Все это пишется в MySQL.

В конфиге squid прописана авторизация по NTLM, данный об учетных записях для этой авторизации предоставляет установленный на прокси-сервере winbind. Поэтому без разницы, на какое место присел пользователь, он логинится в домене, и от этой учетной записи и происходит выход в интернет. IE и FireFox работают со squid отлично. Авторизация происходит автоматически без каких либо телодвижений, кроме указания настроек прокси в системе. В качестве редиректора используется встроенный в SAMS собственный механизм. Хотя вы можете использовать и rejik, и squidguard, как вам больше нравится.

SAMS читает access-лог каждые то ли минуту, то ли 5 минут, там помоему даже в настройках есть, и на основании данных в MySQL модифицирует squid.conf, запрещая, или разрешая пользователям выходить в интернет.
Shtsh 01.11.2011 10:22 #
+ 0 -
По прочитанному возник вопрос: почему бы тогда пользователям не рубить выход в интернет по портам, отличным от 80/443/25/110/143/993 на уровне iptables
le087 01.11.2011 10:24 #
+ 0 -
Ну так и рубим =), на уровне iptables.
NutipA 01.11.2011 16:06 #
+ 0 -
Спасибо большое за ваш ответ, работал со сквидом и самсом только с обычной аутентификацией и в прозрачном режиме, поэтому не знал, что в случае NTLM лог выглядит иначе. Именно на такое я и надеялся, задавая свой вопрос:)

Сейчас к этому делу найти бы систему которая также на основе данных службы каталогов считала бы не http-трафик per user и интегрировать это все дело со сквидом. Получилась бы огонь система аккаунтинга!
Shtsh 01.11.2011 10:16 #
+ 0 -
2. Пока не получилось настроить нормальную синхронизацию времени между контроллером и рабочими станциями, в результате время местами разница на 2-3 минуты, что ни есть хорошо (чтение манов и гуглохождение в самом разгаре).


Почему не настроить синхронизацию с ntp-сервером на всех машинах? Как вариант, поднять свой, он синхронизируется с интернетом, а клиенты уже обращаются к нему. Делается через ntpd.
По настройке клиента нагуглилось это. Но я не уверен, что это то, что нужно.
le087 01.11.2011 10:22 #
+ 0 -
При логине пользователя в домен выполняется скрипт logon.bat, в котором написана та заветная строчка синхронизации:
1
net time \\domain /set /yes


И вроде как оно уже должно синхронизировать время на клиентах, но все сидят у меня от обычного пользователя, поэтому доступа к изменению настроек времени у них нет. Искал, как эту штуку можно разрешить в реестре, но как-то сходу не нашлось. Надо еще смотреть.
Shtsh 01.11.2011 10:24 #
+ 0 -
Посмотри по ссылке, что я дал - там есть ключи для настройки ntp-клиента.

Плюс, попробуй воспользоваться планировщиком от имени администратора. Хотя я не знаю, будет ли работать без активной админовской сессии.
flex 01.11.2011 11:58 #
+ 0 -
время на винде действительно не синхронизируется.
Нужно давать в винде доступ на изменение системного времени в gpedit.msc
le087 01.11.2011 13:02 #
+ 0 -
Есть способ, как это можно сделать с помощью батника =)? Я так понимаю, просто импортировать нужную ветку реестра, но может есть другие способы?
jh 01.11.2011 15:33 #
+ 0 -
а если просто прописать сервер в настройках приложения часов вместо time.microsoft.com? делаеться от админа один раз.
le087 01.11.2011 17:08 #
+ 0 -
Спасибо за комментарий и дельный совет.
Но к сожалению не все так просто. Часть компьютеров находится в другой подсети, из которых во внешний мир можно попасть либо через прокси, либо никак (если конечно не настраивать VPN, но и с ним в моих сетях есть тонкости). В посте только то, что касается конкретно домена, но на самом деле все устроено намного сложнее. У меня ушло полтора месяца на полную проверку всего и вся на совместимость с доменом на Samba и только после я начал постепенный перевод машин. У меня производство 24/7, и любые задержки в любое время дня и ночи предприятие переживает тяжело.
jh 01.11.2011 19:01 #
+ 0 -
есть команда runas можно запустить процесс от имени админа из сессии пользователя.
le087 01.11.2011 19:49 #
+ 0 -
Да, я знаю что существует такая команда =). Но скорее всего я все же настрою ntp внутри локальной сети, как мне советовал Shtsh.
flex 02.11.2011 09:55 #
+ 0 -
runas плохо т.к. нужно будет указывать пароль админа.
ntp это хорошо, НО на виндовых машинах время обновляться не будет т.к. у пользователя (по умолчанию) нет прав на изменение времени. Выхода я вижу два:
1. дать пользователю право на изменение системного времени (gpedit.msc)
2. делать не пользователей, а опытных пользователей - при этом права на изменение времени есть
le087 02.11.2011 10:07 #
+ 0 -
посмотрим =), пока это не очень критично, но скорее всего я разрешу пользователям изменять время.
jh 03.11.2011 04:29 #
+ 0 -
совершенно не понимаю зачем пользователям права на изменение времени. у меня был прописан один раз при настройке локальный сервер времени - время прекрасно синхронизировалось средствами ОС без скриптов и прочих заморочек
ZeroNull 03.11.2011 08:15 #
+ 0 -
Можно в сервер DHCP прописать раздачу клиентам сервера времени для синхронизации.
le087 03.11.2011 10:31 #
+ 0 -
В силу особенностей сети и используемого софта нет возможности использовать DHCP. Костылей у меня тут очень много и большинство из них делал не я.
Shtsh 01.11.2011 10:18 #
+ 0 -
3. Для установки и обновления ПО нужно следить, что бы все машины были включены, что частенько обламывает получить полный кайф от своей крутости, ибо приходится поднимать пятую точку и делать предварительный обход.


Nagios + NSClient на машинах + Centreon для удобного использования. Можно мониторить, какие машины включены, какие - выключены.
le087 01.11.2011 10:22 #
+ 0 -
А вот это уже интересно, нахаляву?
Shtsh 01.11.2011 10:24 #
+ 0 -
Да, полностью бесплатно и открыто.
le087 01.11.2011 10:27 #
+ 0 -
Да, полностью бесплатно и открыто.

Определенно разберусь с вопросом. Был личный опыт общения с этой штукой?
Shtsh 01.11.2011 10:35 #
+ 0 -
баловался с nsclient - всё просто и легко настраивается.

С nagios + centreon - да, я с этой связкой работаю. Но мониторю только linux-серверы.
ZeroNull 02.11.2011 13:03 #
+ 1 -
Выключенную машину можно включать удаленно, если сетевая карта и материнская плата это поддерживает. Но нужно знать MAC адрес сетевой карты выключенной машины.
le087 02.11.2011 17:37 #
+ 0 -
угу, wake-on-lan такая штука помоему называется.
ZeroNull 03.11.2011 08:11 #
+ 0 -
именно так. Я домашнюю машину удаленно с роутера таким образом включаю, по необходимости. :)
Sergey Vlasenko 02.11.2011 13:49 #
+ 0 -
А какой дистрибутив linux? А то у меня на archlinux SAMS не получилось завести. После долгих мучений с компиляций все собралось, но вот настройки из SAMS не работают.
le087 02.11.2011 17:41 #
+ 0 -
Debian Squezzy. SAMS собирал из сырцов, так же не сразу заработал, пришлось полазить по форуму, в итоге поправил пару известных багов и все завелось. Дальше нужно смотреть, если у вас не работает запрет по URL, читайте документацию по настройке редиректора и по тому, как отрубать у пользователей нежелательные сайты. Пока не прочитал официальный мануал, тоже ничего не отрабатывало.
Sergey Vlasenko 02.11.2011 19:01 #
+ 0 -
а можно ссылки? и что за известные баги?

Да мне кажется у меня все не работает, кроме парсера логов)
le087 03.11.2011 10:35 #
+ 0 -
Там нельзя однозначно сказать, что все собрано в одном месте. Просто есть несколько тем, из которых слепил решение. Лучше начните с того, что скажете что конкретно у Вас не работает, либо перечислите то, что Вы хотите получить, но оно не отрабатывает. Ссылка на форум:http://www.permlug.org/forum/sams/
Sergey Vlasenko 04.11.2011 23:08 #
+ 0 -
и последний вопрос: Обязательно запускать php в safe_mode?
le087 05.11.2011 08:45 #
+ 0 -
Я так понимаю, вы используете помимо веб-интерфейса SAMS еще ряд других веб-приложений для работы со службами и файлами сервера?

Да, у меня включен safe_mode сейчас, но я непомню, что пробовал запустить без него. Я просто следовал инструкции при настройке. По php я совсем не специалист, но может быть там есть возможность использовать нечто вроди "профилей" для различных веб-служб, написанных на php.
xT 13.11.2011 07:06 #
+ 0 -
safe_mode депрекейтед в 5.3 и в 6 будет удалено
вашим серверам, конечно, пофиг на это : ) просто кто составлял мануал, зачем-то прописал это
le087 13.11.2011 09:59 #
+ 0 -
php 6 - О боже, это так же радикально как python 3 по сравнению со второй веткой? =)

Смотреть онлайн бесплатно

Онлайн видео бесплатно


Смотреть русское с разговорами видео

Online video HD

Видео скачать на телефон

Русские фильмы бесплатно

Full HD video online

Смотреть видео онлайн

Смотреть HD видео бесплатно

School смотреть онлайн