В своей работе мне не раз приходилось сталкиваться с вроде бы работающими сетками, но в которых любой незначительный инцидент мог вылиться в часы простоя на ровном месте. Сдох КД? Не беда, у нас есть второй. Как шары не открываются? Почему шлюз не пингуется? А, на том КД был единственный DHCP-сервер и теперь все отпали.
В данной статье я постараюсь описать правильные, с моей точки зрения, решения по созданию инфраструктуры сети малого предприятия. И конечно, данная статья отражает личный good practics автора и может отличаться от идеалов читателя.
Итак. Мы имеем в активе до 100 клиентов. Все стандартно, пользователи ходят в интернет, шлют почту, пользуются файловыми хранилищами, работают в 1с, хотят более крутой компьютер и пытаются ловить вирусы. И да, облака мы пока не умеем.
Пара столпов практически любой инфраструктуры,
а далее мы с вами пробежимся по очевидным и не очень нюансам. Кстати, повторяю, у нас малый-средний бизнес, не усугубляйте.
Сохранность данных. «В серверную попал фугас».
Если к вам в серверную попал фугас, то вероятнее всего сохранность данных будет интересовать вас в последнюю очередь. Намного более вероятно, что 31 декабря трубу сверху прорвало, от этого там случился пожар и провалился пол.
— Данные — наше всё. Один из серверов резервного копирования должен находиться вне серверной. Это спасательный круг. Пусть даже на нем лежит только самое важное, за сутки-двое можно снова купить-арендовать сервера и развернуть рабочую инфраструктуру. Безвозвратно потерянную базу 1с вам не удастся восстановить уже никогда. Между прочим, старичок а-ля P4-2400/1024 с правильно организованными бекапами обычно справляется.
Мониторинг. «01.01.2013 02:24 | From: Zabbix | Subject: Nuclear launch detected!»
Вы прекрасно проводите время отмечая Новый Год в кругу друзей. Кстати, не только вы, сторож здания где вы арендуете помещения тоже времени зря не теряет. Таким образом, залитое водой сгоревшее помещение будет с утра приятным бонусом к вашей больной голове в Счастливом Новом Году.
— Если что-то идет не так вы просто обязаны узнать об этом первым. Те же SMS-оповещения о критически событиях — это норма. Кстати, если с утра через 5 минут после прозвеневшего будильника вам не отписался сервер мониторинга, пора бить тревогу. Ведь сервер который следит за сервером мониторинга тоже ничего не написал. А вообще, ничего страшного, у вас есть сервер резервного копирования вне серверной, который все же написал вам, что потерял всех, но сам в строю.
План восстановления. «Спокойно, Казладоев, сядем усе!»
Это самый страшный Новый Год в вашей практике. Да, получив смс и оценив ситуацию, пожарных вызвали сразу, и приехали они почти за 5 минут, и потушили быстро. Вот только все равно одна часть серверной обгорела, вторая была залита пеной, а третья провалилась в итоге под пол.
— Вранье, конечно. Это не самый приятный, но и не самый страшный Новый Год. Да, вас ждет напряженная неделя, но благодаря четкому плану вы знаете с чего начинать и что делать. Рекомендую в плане disaster recovery расписывать все досконально подробно, включая консольные команды. Если потребуется восстановить какой-нибудь MySQL-сервер, настроенный три года назад, врят ли вы вспомните какой-то незначительный нюанс на который в итоге придется потратить пол дня. Кстати, все пойдет несколько не так как вы планировали, возможно даже совсем не так, будьте к этому готовы.
Теперь к основам сети на AD.
Я не собираюсь расписывать преимущества кластеризации и прочих LiveMigration. У нас малое предприятие и денег на vMotion-ы нет. Врочем и не надо, большинство сервисов прекрасно резервируются «из коробки». Ниже не будет хау-ту по настройке, но я постараюсь дать верное направление для самоизучения.
- Active Directory. Контроллера домена должно быть два, физически на разных железяках. Кстати, Microsoft не рекомендует (не рекомендовало) делать все КД в виртуальных машинах, т.е. хотя бы один КД должен быть чисто железным. В общем-то это ерунда, на разных физических хостах можно делать разные КД, только выполните общие рекомендации Майкрософт по настройке КД в виртуальной среде. Кстати, не забудьте хранить GC на обоих контроллерах домена.
- DNS — это просто основа. Если у вас криво работает Служба Доменных Имен, вы будете постоянно огребать косяки на ровном месте. DNS-серверов должно быть минимум два и для этого нам вполне подойдут КД. И вопреки рекомендациям «Анализатора соответствиям рекомендациям» на самих КД я советую указывать мастером самого себя. И вот еще что, забудьте про практику прописывания серверов на клиентах по IP-адресам: если это NTP-сервер, то клиенты должны знать его как ntp.company.xyz, если это прокси, то что-то типа gate.company.xyz, ну в общем понятно. Кстати, это может быть один и тот же сервер с именмем srv0.domain.xyz, но с разными CNAME. При расширении или перемещении сервисов это очень поможет.
- DHCP-сервера должно быть тоже два. На этих же самых КД, вполне рабочая схема. Только настраивайте так, чтобы диапазоны выдачи не пересекались, но чтобы кажыдй DHCP мог покрыть весь парк машин. И да, пусть каждый DHCP-сервер выдает первым DNS-сервером тоже себя. Думаю, понятно, почему.
- Файловый сервер. Тут тоже все легко. Делаем DFS с репликацией, на тех же КД. А вообще, репликация даже не при чем, просто всегда прописывайте ссылки на шары через DFS, старайтесь придерживаться этой практики по отношению ко всем файловым ресурсам. Когда понадобится перенести шару в новое место, просто переносите шару и меняете ссылку в DFS. Клиент, может, вообще ничего и не заметит.
- MSSQL-сервер 1с. Это уже не просто. И дорого. У вас отчасти большая база, а держать резервный SQL-сервер непозволительно. Эту штуку отрезервировать не получится, в любом случае нужен новый инстанс, который стоит денег. Бекапы — наше все, ничего страшного. Продумайте где вы сможете по-быстрому развернуть временный сервер СУБД. Кстати, есть бесплатный MSSQL Express с ограничением на размер базы, может быть вам его хватит перебиться.
- Шлюз. Linux и прочие FreeBSD. Как бы не было неприятно, но на TMG и прочие керио денег нет. Все равно придется разбираться в iptables. Тут могу дать однозначный совет — дружишь с OSI — проблем не будет, не дружишь — проблемы будут и с керио. Кстати, если вы считаете, что вы админ и не знаете, в чем разница между фреймом и кадром, то вам будет тяжело.
- Безопасность. Очень обширная тема, поэтому следующие пункты про этот интимный вопрос.
Юзеры должны работать под Пользователями домена. Любое, подчеркиваю, любое приложение можно настроить для работы в среде с ограниченными правами. Иногда достаточно добавить права на запись в каталог с установленной программой и внутри запретить запись исполняемых файлов. Иногда для выяснения особенностей потребуется мониторить реестр и файловую систему. Иногда захочется забить и выдать админские права. Иногда это целесообразно. Выбирать вам, но не отключайте UAC никогда. Да и вы, сидя за рабочим местом, максимум должны обладать правами локального админа над всеми рабочими станциями, ни в коем случе не админ домена. При необходимости рулите серверами через терминал. - Учетные записи. Про пользователей я промолчу, думаю понятно, что один аккаунт на одного юзера. Но не все понимают, что под каждый сервис должна быть своя учетная запись. К примеру, MSSQL, работающему в среде AD нафиг не нужны права админа домена. Создайте обычный пользовательский аккаунт и при установке СУБД укажите его. Инсталлятор сам пропишет нужные права и все будет прекрасно работать. И так почти с любыми сервисами. Если какой-нибудь openfire для подключения к AD просит указать admin account — это одно название, ему нужно всего лишь читать службу каталогов.
- Обновление ПО. Разверните WSUS и не забывайте хотя-бы по вторым средам месяца заходить и проверять наличие новых обновлений. Выделите 10-15 машин из вашего парка и включите в тестовую группу. Новые обновления проверяйте именно на этой группе, а когда не обнаружите косяков, разворачивайте всем. Кстати, вот тут есть инфа как обновлять любой софт через WSUS.
- Антивирус. Должен работать, а вы должны его контролировать. Про мониторинг я писал в начале.
- СКС. Очень больная тема для многих учреждений. Тут совет только один. Если делаете сами, то делайте как для себя, в любом другом случае докажите руководству, что вашей компании жизненно необходимо предоставить работы на аутсорс. Помните, следующий админ может легко найти ваше место жительства.
Для начала, пожалуй, хватит. Если было интересно, я готов продолжить, подробно расписав и дополнив каждый из пунктов. Пишите здоровую критику, всем спасибо.
Автор: yosemity