Академический Документы
Профессиональный Документы
Культура Документы
СЬ
www.samag.ru
ЛИ
Почему MS SQL медленно работает?
Ищем причины
ЛИ
ТЯ Е
Ж ПИ
Строим защищенную беспроводную сеть:
ЗА ДНИ
РА КУ
Настраиваем UPS под Linux
ЛЫ ГО
ТИ РАС
Как восстановить
удаленные файлы под BSD
КУ ВО
РО
танавливаем Symantec Antivirus 9.0
НИ НО
в корпоративной сети
СТ
№2(51) февраль 2007
Эффективно управляем
полями пользователей в AD
БЫ
Контролируем безопасность сети
с помощью OSSIM
www.samag.ru
ЬД О
РА СКА
ТЕ
К
ИС НН
ЕН
УС
БО
НА ТПУ
ИЛ ДА
ТП
НЧ ЖИ
ВО
РА Е О
КО ЕО
АВ СЛ
Л
Л
ХА
ЗА Н
ПО
УЕ
Резервирование и балансировка
трафика во FreeBSD
Так видит журнал читатель, оформивший подписку:
Принципы построения
№5(30) май 2005
подписной индекс 81655
www.samag.ru
Дмитрий Шурупов
25 января 2007 года компании Motorola, NEC, NTT DoCoMo, Panasonic Mobile Communications,
Samsung Electronics и Vodafone объявили о формировании организации LiMo Foundation,
созданной для поддержки первой в мире глобальной инициативы по созданию платформы
с открытым кодом на базе Linux для мобильных устройств.
П
ервая информация об этом n минимизировать фрагментацию ходящимися на одном уровне. Это со-
союзе появилась еще летом мобильных Linux-реализаций, ус- вет по архитектуре (занимается техни-
2006 года, однако только теперь корить процессы разработки, ин- ческими проблемами, управляет ра-
он принял официальный статус, обрел теграции и тестирования для но- бочими группами), совет по требова-
ясность в своих целях, вопросах, об- вых продуктов и услуг; ниям, управление программой орга-
щей структуры и ближайших планов. n создать благоприятный рынок для низации (возглавляется исполнитель-
разработчиков с целью ускорения ным директором).
Цели LiMo Foundation инноваций; В LiMo Foundation уповают на сто-
Главная заявленная цель международ- n обеспечить возможность разграни- ронних разработчиков, которые, вос-
ного союза – разработка так называе- чения дизайна, приложений и ус- пользовавшись SDK, примут актив-
мой «Foundation Platform», т.е. основан- луг для изготовителей оборудова- ное участие в проекте путем созда-
ной на Linux программной платфор- ния (OEM), операторов беспровод- ния различных приложений для новой
мы с открытым кодом, предназначен- ных сетей и независимых продав- платформы.
ной для коммуникационных мобиль- цов ПО (ISV);
ных устройств. n предоставить возможность влиять Что будет сделано
Чего хотят добиться участники про- на эволюцию и разработку индуст- Планы у организации наполеоновс-
екта путем создания «новой, открытой риальной платформы. кие, но как все это будет достигнуто?
и экономически выгодной платформы Общее представление об этом имеет-
на базе Linux»? Об этом они говорят Внутренняя структура ся уже сейчас.
сами в «User Guide to the Foundation» организации Весь код, который будет создан
(этот материал, как и другие офици- Главная управляющая роль отводит- LiMo Foundation, формально разделен
альные документы LiMo Foundation, ся совету директоров, 13 членов ко- на 4 категории:
доступен в формате PDF на сайте ор- торого выбираются ежегодно. Сове- n Framework – абстрактный слой,
ганизации): щания проводятся 4 раза в год. Сле- который предоставит набор про-
n снизить расходы на разработку мо- дующий звеном предстает исполни- граммных интерфейсов приложе-
бильных устройств; тельный совет, ответственный за опе- ния (API), необходимых для взаи-
n уменьшить время, необходимое рационные и стратегические вопро- модействия со всеми функциями
для выхода на рынок новых мо- сы и управляющий тремя последую- ядра (которые не должны зависеть
бильных устройств; щими руководящими элементами, на- от железа).
тенденции
n Plug-in – «подключаемые» к базо-
вой структуре дополнительные ме- OpenMoko готовит к продаже «В мире Linux до сих пор никто еще
ханизмы, расширяющие ее функ- открытый Linux-смартфон не создавал интегрированного набора
циональность (может быть несколь- Тем временем, начинающая компания программного обеспечения для мобиль-
ко различных механизмов, реали- из Тайваня OpenMoko планирует в ближай- ных телефонов, но теперь мы сделали
зующих одну и ту же функцию). шее время начать продажи первого Linux- это», – заявил Шон Мосс-Пультц (Sean
n Общий код, соответствующий за- смартфона, созданного исключительно Moss-Pultz), менеджер по разработке про-
данной спецификации и реализу- на открытых стандартах. дуктов в FIC.
ющий все необходимые для этого Смартфон, получивший название Открытый Linux-смартфон взаимо-
функции. Именно его и будут рас- Neo1973, был представлен еще в ноябре действует с персональным компьютером
пространять привилегированные прошлого года, а начало его продаж за- посредством USB и поддерживает USB-
члены LiMo. планировано на февраль. эмуляцию сети для подключения ПК к Ин-
n Не общий код, состоящий из до- Ключевая особенность продукта – вся тернету через сеть сотового оператора. Ус-
полнительных модулей, в которых его начинка является программным обес- тройство оснащено 128 Мб оперативной па-
может присутствовать реализация печением с открытым кодом (Open Source). мяти, MicroSD-картой на 64 Мб, 2,8-дюй-
каких-то специфичных (например, Устройство было создано при содействии мовым сенсорным экраном, возможнос-
для данного железа) функций. компании FIC (First International Computer), тью GPS; требует наличия GSM/GPRS-сети
специализирующейся на производстве ма- для функционирования. Первые 6 месяцев
Базовый пользовательский интер- теринских плат и периферии для ноутбу- Linux-смартфон Neo1973 будет продавать-
фейс приложений будет использовать ков, ПК и КПК. ся напрямую FIC по цене в 350 USD.
свободно распространяемые разработ-
ки GTK+ (на его основе построена по- (таких, как ядро Linux и библиотека Capable) с правом на требование де-
пулярная графическая среда для UNIX- GTK+). Здесь все просто: лицензии ти- нежных отчислений за патенты.
и GNU/Linux-систем GNOME). па GPL, LGPL и т. п. останутся нетро-
Среди промежуточного ПО (middle- нутыми, а лицензированное по ним ПО Диагноз
ware), что будет подготовлено, выделя- возьмут для своих целей. Появление LiMo Foundation вряд ли
ются элементы: Но ведь проект не обойдется и без можно назвать сенсационным – ско-
n реестр (с набором записей вида написания собственного кода, реали- рее, долгожданным. Новейшая ис-
ключ и его значение); зующего все то, что FOSS-сообщество тория знает не один пример попы-
n обработка конфликтов (при запро- либо не сделало вообще, либо созда- ток крупных компаний объединиться
сах к разделяемым ресурсам); ло в виде, не удовлетворяющем спе- на почве бурно процветающей экосис-
n обработка событий; цификациям LiMo. темы GNU/Linux и Open Source, в том
n структура безопасности; Для лицензирования такого кода числе и в мобильном мире. Однако,
n телефонная структура; будет использоваться новая лицензия, несомненно, в этой области до сих
n сетевая структура; получившая название FPL (Foundation пор еще не возникало сопоставимых
n структура обмена сообщениями; Public License). FPL не требует денеж- по размаху инициатив, и уже хотя бы
n структура мультимедиа; ных отчислений за использование ли- поэтому данный шаг достоин внима-
n структура управления цифровыми цензированного по ней ПО и следу- ния, уважения и поддержки.
подписями (DRM); ет принципу свободы в духе GPL, обя- Что из всего этого выйдет, покажет
n база данных (управление данными зывая в случае внесения в код попра- время, но я, учитывая очевидность вос-
по принципу ACID). вок возвращать модифицированные требования (полноценных, унифициро-
исходники. Однако FPL накладыва- ванных, готовых к работе, инновацион-
Список этот пока не полон и вклю- ет и сильное (впрочем, логичное) ог- ных и тем более поддерживаемых гига-
чает в себя лишь основные компо- раничение: запрещено в любом виде нтами индустрии) решений с открытым
ненты. распространять код тем, кто не состо- кодом на рынке мобильных устройств,
ит в LiMo Foundation. склонен считать, что LiMo Foundation
Правовые аспекты У FPL есть две разновидности, од- сможет со временем внести сущес-
LiMo Foundation пошла по единствен- на из которых предназначена для об- твенный вклад в эту отрасль. Может
но верному пути «mixed source» и ре- щего кода (Common Capable), а дру- быть, даже произвести в некотором ро-
шила допускать наличие программно- гая – для не общего (Non-Common де революцию. Но все это – лишь в пер-
го обеспечения с идеологически проти- Capable). спективе... Поживем – увидим.
воречивыми типами лицензий. Кроме того, предусмотрена «под-
Во-первых, организация по по- держка» проприетарных лицензий, 1. h t t p : / / l i n u x d e v i c e s . c o m / n e w s /
нятным причинам постарается «взять что актуально для мобильных уст- NS2923387573.html или http://www.
максимум» из того, что уже имеется ройств. Эта возможность подразу- nixp.ru/news/8085.
и что адекватно отвечает требовани- мевает обязательное представление 2. http://www.limofoundation.org.
ям к итоговому продукту. Соответс- равных условий для всех членов LiMo 3. http://news.com.com/Mobile+phone+
твенно, будет использоваться код из- Foundation и дальнейшую трансфор- companies+join+forces+on+Linux/2100-
вестных проектов мира Open Source мацию лицензии в FPL (Non-Common 1039_3-6083883.html.
Сергей Супрунов
На форумах, посвящённых системному администрированию, с завидной регулярностью
появляются вопросы о том, как обеспечить резервирование или распределение трафика
при наличии двух каналов в Интернете. Ввиду отсутствия однозначного ответа проведём
собственное исследование.
И
так, вы «раскрутили» своего дый провайдер захочет с этим возить- определённости в дальнейших приме-
шефа на подключение локаль- ся, если вы для него – лишь один из ты- рах будем считать, что внешними ин-
ной сети компании ещё к одно- сяч клиентов, подключённых по обыч- терфейсами являются rl0 и rl1, а ed0 –
му провайдеру. Со временем возника- ному ADSL. Поэтому мы рассмотрим, внутренний. В зависимости от условий
ет желание распорядиться этим «бо- что можно сделать без взаимодейс- договоров с провайдерами могут воз-
гатством» более рационально, неже- твия с провайдером, имея в своём рас- никнуть следующие подзадачи:
ли определять факт пропадания кана- поряжении лишь машину с установлен- n переключение на более дорогой ка-
ла по начинающейся в бухгалтерии па- ной FreeBSD, выполняющей роль шлю- нал только на время проблем с де-
нике и вручную переопределять шлюз за для локальной сети. шёвым;
по умолчанию. n направление трафика, чувствитель-
Конечно, «академически» правиль- Анализ проблемы ного к задержкам, в более «быст-
ным решением была бы настройка пол- Итак, в общих чертах задача ясна – рый» канал, в то время как весь
ноценного маршрутизатора (возможно, нужно обеспечить рациональное ис- не критичный к скорости достав-
даже программно-аппаратного ком- пользование двух каналов в сеть Ин- ки пакетов трафик (например, FTP-
плекса типа Cisco), обеспечивающе- тернет и позаботиться об автомати- закачки) заворачивать в «медлен-
го динамическое регулирование тра- ческом резервировании, чтобы рабо- ный», но более дешёвый канал;
фика на основании такой информа- тоспособность сети быстро восста- n пропорциональная балансировка
ции, как доступность того или иного навливалась при проблемах на одном нагрузки между каналами, имею-
узла, «стоимость» маршрута, требо- из каналов. щими сопоставимые по качеству
вания к качеству обслуживания (се- Чтобы не потерять за деревьями и стоимости характеристики.
тевики этот QoS уже в ночных кошма- леса, будем считать, что оба канала
рах видят). Однако это зачастую свя- «приходят» к нашему серверу в виде Думаю, и без длительных объяс-
зано с необходимостью регистриро- Ethernet, т.е. подключаются на обычные нений понятно, что как-то влиять мы
вать собственную автономную систему сетевые карты и настраиваются путём сможем лишь на тот трафик, который
(AS), настраивать один из протоколов указания IP-адреса самого интерфей- инициируется хостами локальной сети,
маршрутизации (например, BGP) и т. д. са, адреса шлюза по умолчанию и мас- получающими доступ в Интернет че-
Для небольших компаний такие реше- ки подсети (т.е. как статические мар- рез данный сервер, либо самим сер-
ния обычно оказываются неоправдан- шруты). Через третью сетевую кар- вером. То есть мы сможем управлять
но дорогими и сложными, да и не каж- ту подключается локальная сеть. Для тем, через какой из каналов будет за-
администрирование
гружаться запрошенная пользователем страница или «за- других критериев (про-
ливаться» на удалённый FTP-сервер какой-то файл. А вот токол, порты источника
трафик, инициированный «снаружи» (например, почтовый и назначения, IP-адрес
или запросы на веб-сервер компании), придётся обслужи- источника, и т. д.). Впро-
вать на том канале, куда он придёт. чем, об этом мы ещё по-
Конечно, используя некоторые приёмы при настройке говорим.
DNS-зон, например, MX-записи с одинаковым приорите- Особо хочу обратить
том, можно в определённой степени влиять и на входящий ваше внимание, что этот
трафик, но сегодня мы не будем останавливаться на этом метод будет работать
вопросе. только при наличии в со-
ответствующем направ-
Простая маршрутизация лении (то есть уже за ин-
Рисунок 1. Схема с «внешними»
Начнём с простейшей задачи. Допустим, мы подключены терфейсом) NAT-серве- NAT-серверами
к двум провайдерам – «Мегаполис» и «Интерком» (все на- ра, например, реализо-
звания здесь и далее вымышлены; любое совпадение с на- ванного в ADSL-модеме, – это то самое «особое условие»,
именованиями и торговыми марками реально существую- на которое я ссылался выше. В противном случае провай-
щих компаний случайно). Причём «Мегаполис» предостав- дер наверняка будет «рубить» у себя на шлюзе пакеты с
ляет дешёвый трафик внутри сети, но довольно дорогой IP-адресами, не принадлежащими ему. И уж тем более нет
внешний, в то время как «Интерком» продаёт весь трафик никаких оснований полагать, что схема будет работать при
по единой, «средней», цене. Возникает желание весь внут- непосредственном использовании «серых» адресов, вроде
рисетевой трафик направлять через канал «Мегаполиса», показанных в примере 192.168.0.0/24 (см. рис. 1).
в то время как остальной – через «Интерком». Да и даже в том случае, если вы – счастливый облада-
В этом случае логично в качестве маршрута по умол- тель достаточно большого массива реальных адресов, ко-
чанию (параметр defaultrouter в файле /etc/rc.conf) задать торые без проблем пропускают через себя все ваши про-
шлюз «Интеркома» (пусть это будет 10.1.1.1; на интерфей- вайдеры, поставленная задача без NAT-серверов реше-
се rl1 будем полагать адрес 10.1.1.2). А задачу выделения на не будет. Поскольку ответные пакеты будут приходить
трафика на внутренние сети «Мегаполиса» можно решить к вашему серверу в соответствии с правилами маршрути-
путём настройки статических маршрутов (при некоторых зации внешних узлов, на которые вы вряд ли сможете ока-
условиях, о которых читайте дальше): зать какое-то влияние. То есть входящий трафик в любом
случае будет идти так, как прописано на маршрутизаторах
# route add 8x.25y.0.0/16 10.0.1.1 провайдера и выше, а не так, как захочется нам. (Позже бу-
add net 8x.25y.0.0: gateway 10.0.1.1 дет показано, как можно использовать NAT непосредствен-
но на настраиваемой машине, чтобы «форсировать» реше-
# netstat -rn | head -4; netstat -rn | grep 8x.25y
ние данной проблемы).
Routing tables
Здесь 8x.25y.0.0 – внутренняя подсеть провайдера «Мега- Способ довольно грубый, но как аварийное решение
полис». То есть мы прописываем для этих адресов явный вполне годится. Очевидно, варьируя маску «заворачивае-
маршрут через интерфейс rl0 (для определённости его IP мой» сети и контролируя получающийся результат на бо-
будет 10.0.1.2 со шлюзом 10.0.1.1), подключённый к каналу лее-менее длительном временном интервале (например,
«Мегаполиса», в то время как для остального трафика ис- по счётчикам того же ipfw), можно добиться близкого к же-
пользуется маршрут по умолчанию. лаемому соотношения трафика в обоих каналах.
Аналогичного результата можно достичь, используя
функцию «форвардинга» файервола ipfw: Условное перенаправление трафика
Чуть усложним предыдущую задачу. Допустим, что «Интер-
# ipfw table 1 add 8x.25y.0.0/16 ком» предоставляет «внешний» трафик хоть и дешевле,
# ipfw add 5000 fwd 10.0.1.1 ip from 192.168.0.0/24 ↵
to 'table(1)' но худшего качества. То есть работать через «Интерком»
не совсем комфортно, особенно в часы пик, и это вызы-
Благодаря использованию файервола можно более гиб- вает вполне законное возмущение руководящих лиц ком-
ко управлять трафиком, определяя его в тот или иной ка- пании («Мы за Интернет такие деньги платим, а страницы
нал не просто по IP-адресу назначения, но и по целому ряду по полчаса открываются»)...
Здесь 10.0.1.2 – IP-адрес на rl0; напомню, что шлюзом по Squid, кстати, тоже умеет использовать отдельные ис-
умолчанию у нас является 10.1.1.1. Для полного счастья этого ходящие каналы для конкретных подсетей:
ещё недостаточно (поскольку трафик к «чужим» IP‑адресам
по-прежнему будет стремиться уйти через шлюз по умол- acl subnet1 src 192.168.0.0/255.255.255.240
acl subnet2 stc 192.168.0.128/255.255.255.240
чанию), поэтому заключительным штрихом будет перена- tcp_outgoing_address 10.0.1.2 subnet1
правление трафика с адреса, к которому мы таким обра- tcp_outgoing_address 10.1.1.2 subnet2
зом привязали Squid, в наш второй канал, скажем, тем же
fwd-правилом: Ну и нужно не забыть про уже набивший оскомину фор-
вардинг с соответствующего адреса в альтернативный
# ipfw add fwd 10.0.1.1 ip from 10.0.1.2 ↵ шлюз. В некоторых экзотических случаях можно попробо-
to not 192.168.0.0/24 out
вать запустить два экземпляра прокси-сервера для обслу-
Эта схема будет работать и без последующего NAT-пре- живания своих подсетей, но в большинстве случаев это мо-
образования, но при условии, что IP-адрес, заданный на rl0 жет оказаться нерационально.
(и к которому мы привязываем Squid) будет из диапазона,
выданного нам провайдером, предоставляющим подключе- Пропорциональная балансировка
ние на данном канале. Это даст гарантию, что и входящий Описанные примеры сравнительно просты и зачастую
трафик будет маршрутизирован должным образом. позволяют «малой кровью» достичь желаемого эффекта.
Ещё один пример: если один из каналов можно полно- Но когда трафик носит слишком нерегулярный характер
стью выделить под электронную почту, то и почтовый сервер (с утра бухгалтерия какие-то отчёты по электронке шлёт,
можно заставить работать через «альтернативный» канал, забывая, как обычно, предварительно сжимать свои фай-
а не руководствоваться установленным шлюзом по умол- лы Excel; под вечер сисадмин начинает качать очередной
чанию. Конфигурация для Sendmail: сервис-пак; в обеденный перерыв со всех отделов подска-
администрирование
Использование мультиплексора сколько интерфейсов по принципу «один через разные каналы и затем объединить
ng_one2many ко многим», когда пакеты с интерфейса, их в ng‑узел, то можно удвоить пропускную
В качестве особого случая обсуждаемого объявленного как «one», по очереди пере- способность соединения.
здесь вопроса можно рассматривать ситу- направляются в интерфейсы «many*» (под- К сожалению, сейчас ng_one2many
ацию, когда необходимо (или желательно) держивается также возможность дублиро- не поддерживает алгоритмы распределе-
соединить несколько машин, входящих в вания one-пакетов во все many-интерфей- ния пакетов кроме round-robin («по очере-
вашу зону ответственности, используя од- сы, но сейчас это нам неинтересно). Вхо- ди»), так что для настоящего удвоения не-
новременно несколько сетей разных про- дящие пакеты со всех many-интерфейсов обходимы каналы с одинаковой пропускной
вайдеров. Помимо того, что в каждой точке собираются в one-интерфейс. Подробнос- способностью. Существуют также пробле-
можно решать задачу автономно, FreeBSD ти можно узнать на странице справки man мы с определением работоспособности кон-
предоставляет ещё одну возможность – ng_one2many(4), там же приведён пример кретного канала, так что этот метод пока не
использование узла ng_one2many. Этот конфигурации. Таким образом, если на обе- слишком пригоден как средство обеспече-
netgraph-узел позволяет объединить не- их машинах настроить несколько туннелей ния надёжности.
кивает http-трафик), то возникает желание поделить всю round-robin или random, фильтр будет следить за тем, чтобы
нагрузку «пополам». Пакетные фильтры pf и ipf предостав- все соединения с конкретного IP-адреса попадали на одно
ляют в ваше распоряжение средство балансировки трафи- и то же правило трансляции или перенаправления.
ка между несколькими внешними интерфейсами: алгоритм В ipfw тоже есть возможность реализовать нечто подоб-
round-robin. Рассмотрим пример для pf: ное, но на другом принципе. Здесь в правило можно вклю-
чить опцию prob N, где N – число от 0 до 1, указывающее ве-
pass in on ed0 \ роятность, с которой правило будет применяться к пакетам,
route-to { (rl0 10.0.1.1), (rl1 10.1.1.1)} round-robin \
from 192.168.0.0/24 to any keep state подходящим по остальным критериям. В паре с действием
skipto можно попробовать реализовать нечто подобное:
Этим правилом входящий трафик на внутреннем интер-
фейсе (т.е. исходящий для пользователей) будет распреде- ipfw add 500 check-state
ipfw add 1000 prob 0.4 skipto 2000 ip from any ↵
ляться между интерфейсами rl0 и rl1 с соответствующими to any in via ed0
шлюзами по алгоритму round-robin (т.е. внешний интерфейс ipfw add 1500 fwd 10.0.1.1 ip from 192.168.0.0/24 ↵
to any out keep-state
будет меняться циклически – первое соединение будет ис- ipfw add 2000 fwd 10.1.1.1 ip from 192.168.0.0/24 ↵
пользовать rl0, второе – rl1, третье – снова rl0 и так далее). to any out keep-state
Опция keep state сохраняет состояние, благодаря чему все
пакеты в рамках одного соединения будут использовать Правило 1000, имея в своём составе опцию prob 0.4, бу-
один и тот же шлюз. В итоге нагрузка будет распределять- дет выполняться для всех исходящих пакетов (с точки зре-
ся между двумя каналами – нельзя сказать, что трафик по- ния пользователей; для FreeBSD-шлюза это будут входящие
делится абсолютно поровну, но при рассмотрении за боль- пакеты на внутреннем интерфейсе, что и отражается опци-
шой период времени можно считать, что балансировка бу- ями in via ed0) с вероятностью 40%. Эти 40% «счастливчи-
дет приближаться к этому. ков» будут перебрасываться на правило 2000, которым бу-
Правда, в данном случае могут возникнуть некоторые дут отправляться в шлюз интерфейса rl1 (хотя, поскольку
проблемы. Например, если некий веб-сервер отслеживает это шлюз по умолчанию, можно было бы ограничиться дейс-
сессию по исходящему IP-адресу, то такая смена шлюза мо- твием allow). Оставшиеся 60% пакетов продолжат свой путь
жет привести к тому, что уже после ввода логина/пароля и правилом 1500 будут переброшены на шлюз интерфей-
при запросе другой страницы веб-сервер не «узнает» вас са rl0. Важной особенностью здесь является наличие оп-
и потребует повторной аутентификации. Конечно, привяз- ций keep-state – благодаря им под «пробу» будет попадать
ка сессии к IP-адресу в нынешних условиях широкой рас- только первый пакет устанавливаемого соединения, а все
пространённости NAT- остальные пакеты подпадут под действие правила check-
трансляции – реше- state, которое должно быть указано до правила skipto, что-
ние довольно стран- бы избежать «разрыва» уже установленной сессии. Пос-
ное, но всё ещё может кольку динамические правила сохраняют первоначальное
встречаться (напри- действие (в данном случае forward), то все пакеты соеди-
мер, как «второй эше- нения будут отправляться через указанный шлюз.
лон безопасности» В отличие от балансировки по методу round-robin, здесь
в дополнение к ис- есть возможность распределять трафик между интерфей-
пользованию cookies). сами в любой пропорции. Кстати, такой механизм можно
В pf для решения этой реализовать и в pf – используя опцию probability, работаю-
проблемы можно ис- щую аналогично опции prob в ipfw.
пользовать опцию
sticky-address – при её Проблема резервирования
наличии в правиле nat Несмотря на то что резервирование сетевых каналов – од-
Рисунок 2. Схема с «внутренними»
NAT-серверами или route-to с опцией на из основных задач, ради которых заключаются догово-
Отступление про шейперы кретной машины внутри сети гарантирован- Multipath в Linux
Вопросы регулирования трафика с помо- ную полосу пропускания, повысить приори- В Linux, в отличие от FreeBSD, всё замет-
щью так называемого шейпинга (shaping) тет http-трафика перед ftp-трафиком и т. д. но проще благодаря имеющемуся пакету
не относятся напрямую к теме данной ста- Реализуется шейпинг, как правило, iproute2. Он предоставляет возможность
тьи, но всё же о них следует упомянуть. с помощью файервола. Во FreeBSD это задавать несколько шлюзов по умолчанию
Шейпинг позволяет распределять тра- можно сделать либо связкой ipfw/dummynet, с различным весом, за счёт чего баланси-
фик по различным очередям с различными либо PF/ALTQ. Зачастую грамотное распре- ровка трафика в любых пропорциях реа-
параметрами (такими как пропускная спо- деление разных типов трафика по разным лизуется просто и прозрачно. Более под-
собность) и приоритетами, позволяя тем очередям позволяет заметно повысить ка- робные сведения вы найдёте на страни-
самым реализовывать различные полити- чество работы интернет-соединения, при- цах справки и в дополнительной литерату-
ки качества обслуживания. Например, с по- ближающегося к пределу своих пропуск- ре (ссылки на некоторые материалы смот-
мощью шейпинга можно выделить для кон- ных возможностей. рите в конце статьи).
ры сразу с несколькими провайдерами, FreeBSD не предо- торому будет проверяться. Например, если выбрать в ка-
ставляет штатных средств решения этой задачи в автома- честве такового шлюз или DNS-сервер провайдера, то в
тическом режиме (по крайней мере, мне их найти не уда- случае аварии на внешнем канале провайдера эти ресур-
лось). Приходится искать обходные пути. сы будут доступны, и переключение на резервный канал
Например, можно разработать небольшой скрипт, кото- не произойдёт.
рым будет контролироваться работоспособность канала: Можно пытаться определять доступность некоторого
удалённого ресурса (скажем, сервера yandex.ru), указывая
#!/bin/sh с помощью ключа -S команды ping конкретный IP-адрес ис-
GW1=10.161.193.1 точника для отправляемых пакетов (понятно, что этот адрес
GW2=83.221.201.197 должен «заворачиваться» в нужный интерфейс):
/sbin/ping -q -c 1 $GW1 > /dev/null 2>&1
if [ $? != 0 ]; then
/sbin/ping -q -c 1 $GW2 > /dev/null 2>&1 ping -S 10.0.1.2 yandex.ru
if [ $? = 0 ]; then
if [ ! -f /tmp/gw.changed ]; then
/sbin/route change default $GW2 \ Но и в этом случае могут быть разные «казусы», напри-
&& touch /tmp/gw.changed
fi мер, временная недоступность самого ресурса при нор-
fi мальной работе обоих каналов. Хотя если проверять до-
else
if [ -f /tmp/gw.changed ]; then ступность одного и того же ресурса приведённым выше
/sbin/route change default $GW1 \ сценарием, то переключения на резервный канал не про-
&& rm /tmp/gw.changed
fi изойдёт, поскольку его работоспособность также не будет
fi подтверждена.
10
администрирование
Алексей Бережной
«Как поступить со старой серверной техникой?» – такой вопрос возникает во многих
организациях. На базе сервера, давно устаревшего по критериям Microsoft, вы можете сделать
вполне приличный файл-сервер и сервер печати, используя пакет Samba3.x и операционную
систему FreeBSD 6.x.
Л
ежал без дела в серверной ста- ли памяти: 4 слота по 256 Мб – всего место. Возникло решение: не так час-
рый сервер с двухпроцессор- 1 Гб ОЗУ. А это уже не так плохо. К то- то используемые файлы, такие как
ной материнской платой, дву- му же после апгрейда других серве- юридическая справочная база данных,
мя процессорами Pentium III 450 МГц ров у меня скопилось некоторое ко- коллекцию драйверов и другие подоб-
«на борту» и SCSI-адаптером (80 Мб/с, личество SCSI‑винчестеров: шесть ные «пожиратели пространства», пере-
но все же «скайзи»!), правда, без под- дисков (три пары по два одинаковых) нести на отдельный файл-сервер.
держки функций RAID-контроллера. размером 18 Гб и два диска разме- Другая проблема возникла с не-
К моей радости, к материнской плате ром по 9 Гб. обходимостью использования ста-
подошли обычные Non-ECC (то есть А тут на основном файловом сер- ринных программ, написанных для
без контроля четности) SDRAM-моду- вере стало заканчиваться свободное DOS‑совместимых операционных сис-
12
администрирование
тем. Как известно, многие из них не работают с сетевыми Организация дискового пространства
печатающими устройствами. В лучшем случае от них мож- Обозначение устройства
Объем Примечание
но добиться корректного вывода на LPT‑порт из Windows во FreeBSD
2000/XP. А посему просто необходим сервер печати, поз- 9 Гб da0 Диск с установленной системой
воляющий подключать сетевые принтеры на порт LPT ко- 9 Гб da1
Файл подкачки + место для хранения
мандой «net use». резервной копии конфигурационных файлов
18 Гб da2 Первый дисковый массив RAID1
fs# config fs Итак, у нас созданы на дисках da2, da3, da4, da5, da6,
da7 соответствующие метки, указывающие на их прина-
Эта команда создаст директорию /usr/src/sys/compile/fs и по- длежность к тому или иному дисковому массиву.
местит туда файлы, необходимые для компиляции ядра. Необходимо включить поддержку gmirror. Добавляем
Сохраняем изменения, закрываем файл, переходим в /boot/loader.conf функцию geom_mirror_load=YES и пере-
в нужный каталог: загружаемся.
14
администрирование
семейства UNIX, сможет сам назначать права, используя # GMIRROR volume
/dev/mirror/gm0 /vol0 ufs rw 1 2
обычный инструментарий (в данном случае – Проводник /dev/mirror/gm1 /vol1 ufs rw 1 2
Microsoft Windows). /dev/mirror/gm2 /vol2 ufs rw 1 2
Поддержка ACL по умолчанию включена в ядро
GENERIC FreeBSD 6.1. Поскольку при построении наше-
го ядра мы ориентировались на ядро GENERIC, нам нужно Установка Kerberos,
только включить поддержку ACL для выбранных файловых интеграция с Active Directory
систем. У нас самый простой случай, потому что мы вклю- В Active Directory для обеспечения единой системы безопас-
чаем поддержку ACL для несмонтированных файловых сис- ности используется протокол Kerberos. Во FreeBSD для его
тем, на которых нет данных. Итак, приступим. поддержки нужно установить программу heimdal:
Вводим команду:
fs# cd /usr/ports/security/heimdal
fs# make install clean
fs# /sbin/tunefs -a enable /dev/mirror/gm0
Создаем файл /etc/krb5.conf:
На что система нам выдаст ответ:
tunefs: ACLs set
fs# vi /etc/krb5.conf
16
администрирование
# <Limit Cancel-Job CUPS-Authenticate-Job>
# "$Id: cupsd.conf.in 5454 2006-04-23 21:46:38Z mike $" Require user @OWNER @SYSTEM
# Order deny,allow
# Sample configuration file for the Common UNIX Printing </Limit>
# System (CUPS) scheduler. See "man cupsd.conf" for
# a complete description of this file. <Limit All>
# Order deny,allow
</Limit>
# Log general information in error_log - change "info" </Policy>
# to "debug" for troubleshooting...
LogLevel info #
# End of "$Id: cupsd.conf.in 5454 2006-04-23 21:46:38Z
# Administrator user group... # mike $".
SystemGroup wheel #
# Only listen for connections from the local machine. Коротко прокомментируем:
Listen localhost:631
Listen 192.168.1.3:631 Строка:
Listen /var/run/cups.sock
Listen 192.168.1.3:631
# Show shared printers on the local network.
Browsing On
BrowseOrder allow,deny
BrowseAllow @LOCAL указывает, на каком интерфейсе и порту сервер CUPS бу-
дет ожидать соединения с интернет-браузером для настрой-
# Default authentication type, when authentication
# is required... ки параметров.
DefaultAuthType Basic Строки:
# Restrict access to the server...
<Location /> Order deny,allow
Order deny,allow Deny From All
Deny From All Allow localhost
Allow localhost Allow 192.168.1.*
Allow 192.168.1.*
</Location>
разрешают доступ к серверу для настройки только с внут-
# Restrict access to the admin pages...
<Location /admin> ренней подсети 192.168.1.*.
AuthType Basic Строка:
AuthClass System
Encryption Required
Order deny,allow Encryption Required
Deny From All
Allow localhost
Allow 192.168.1.* указывает, что для доступа к веб-интерфейсу управле-
</Location>
ния CUPS будет использоваться шифрованный протокол
# Restrict access to configuration files... https.
<Location /admin/conf>
AuthType Basic Перезапускаем CUPS:
Require user @SYSTEM
Order deny,allow fs# /usr/local/etc/rc.d/cupsd restart
Deny From All
Allow localhost
Allow 192.168.1.*
</Location> Для того чтобы CUPS стартовал автоматически
при каждом запуске системы, мы уже добавили строку
# Set the default printer/job policies...
<Policy default> «inetd_enable=”YES”» в файл /etc/rc.conf.
# Job-related operations must be done by the owner or Далее посредством интернет-браузера подключаемся
# an adminstrator...
<Limit Send-Document Send-URI Hold-Job Release-Job Restart- к адресу: https://192.168.1.3:631. Система предложит при-
Job Purge-Jobs Set-Job-Attributes Create-Job-Subscription нять сертификат. Соглашаемся.
Renew-Subscription Cancel-Subscription
Get-Notifications Reprocess-Job Cancel-Current-Job Suspend- В разделе «Администрирование» сервер будет запра-
Current-Job Resume-Job CUPS-Move-Job> шивать пароль. Вводим логин root и соответствующий па-
Require user @OWNER @SYSTEM
Order deny,allow роль. Все, можно подключать и настраивать принтеры
</Limit> (см. рис. 1, 2).
# All administration operations require an adminstrator Возможные проблемы и пути их разрешения:
# to authenticate... 1. На файерволе (если вы все же решите использовать
<Limit Pause-Printer Resume-Printer Set-Printer-Attributes
Enable-Printer Disable-Printer Pause-Printer-After-Current-Job файервол на этом серврере и/или на рабочей станции)
Hold-New-Jobs Release-Held-New-Job закрыт TCP-порт 631. Соответственно нужно или от-
s Deactivate-Printer Activate-Printer Restart-Printer
Shutdown-Printer Startup-Printer Promote-Job Schedule-Job- крыть этот порт или использовать другой.
After CUPS-Add-Printer CUPS-Delete-Printer CUP 2. Используется прокси-сервер, который не позволяет ин-
S-Add-Class CUPS-Delete-Class CUPS-Accept-Jobs CUPS-Reject-
Jobs CUPS-Set-Default> тернет-браузеру нормально работать c веб-интерфей-
AuthType Basic сом CUPS. Нужно или отключать прокси или указать
Require user @SYSTEM
Order deny,allow в настройках интернет-браузера – не использовать прок-
</Limit> си-сервер для соединения с данным сервером.
# Only the owner or an administrator can cancel 3. Не запущен «демон» cupsd. Проверить это можно ко-
# or authenticate a job... мандой:
Рисунок 2. Консоль управления подключенным принтером root inetd 533 5 tcp4 *:901 *:*
fs# ps aux | grep cupsd После чего вводим в строке интернет-браузера адрес
http://192.168.1.3:901, в ответ на запрос пароля вводим ло-
В ответ вы увидите сообщение: гин и пароль root. Все, мы подключились к серверу Samba
через веб-консоль программы SWAT.
root 418 0.0 0.3 4120 2616 ?? Ss Fri01AM 0:06.13
/usr/local/sbin/cupsd
Нас интересуют в первую очередь вкладки «GLOBALS»
и «WIZARD». Управляя параметрами, приведенными в них,
Если «демон» не запущен, сообщение выведено не бу- необходимо создать соответствующий конфигурацион-
дет. Запустить cupsd можно следующим образом: ный файл. Изменения сохраняются при нажатии кноп-
ки «Commit». Проконтролировать его содержание можно
fs# /usr/local/etc/rc.d/cupsd start во вкладке «VIEW» (см. рис. 3, 4, 5).
Приведу пример основной части моего конфигураци-
после чего нужно проверить наличие строчки «cupsd_enable= онного файла:
”YES”» в файле /etc/rc.conf.
# Samba config file created using SWAT
# from 192.168.1.32 (192.168.1.32)
Настройка файлового сервера # Date: 2007/01/12 15:19:15
Итак, наступил решающий момент. Мы настраиваем наш
[global]
конфигурационный файл Samba – smb.conf. dos charset = cp866
«Классический» метод настройки данного сервиса за- unix charset = koi8-r
display charset = cp866
ключается в копировании файла /usr/local/etc/smb.conf. workgroup = ARS
sample в /usr/local/etc/smb.conf с последующим редактиро- realm = MYDOMAIN.RU
server string = Samba Server
ванием smb.conf в текстовом редакторе: security = DOMAIN
auth methods = winbind
fs# cp usr/local/etc/smb.conf.sample ↵ map to guest = Bad User
usr/local/etc/smb.conf client NTLMv2 auth = Yes
fs# vi usr/local/etc/smb.conf client lanman auth = No
18
администрирование
client plaintext auth = No
log file = /var/log/samba/log.%m
max log size = 50
client signing = Yes
preferred master = No
local master = No
domain master = No
dns proxy = No
wins server = 192.168.1.1
ldap ssl = no
usershare allow guests = Yes
idmap uid = 10000-20000
idmap gid = 10000-20000
winbind use default domain = Yes
printer admin = root
acl group control = Yes
hosts allow = 192.168.1., 127.
map acl inherit = Yes
case sensitive = No
fs# wbinfo -t
fs# wbinfo -u
fs# wbinfo -g
[printers]
comment = All Printers
path = /var/spool/samba
printable = Yes
browseable = No
[vol0]
comment = vol0
path = /vol0
read only = No
guest ok = Yes
hosts allow =
browseable = No
[vol1]
path = /vol1
read only = No
guest ok = Yes
hosts allow =
browseable = No
[vol2]
path = /vol2
read only = No
guest ok = Yes
hosts allow =
available = No
[hp_LaserJet_1320_series_192.168.1.15]
comment = hp LaserJet 1320 series
Рисунок 5. Вкладка «STATUS», где нужно перезапустить path = /var/spool/samba
«демоны» пакета Samba read only = No
guest ok = Yes
printable = Yes
printer name = hp_LaserJet_1320_series_192.168.1.15
oplocks = No
share modes = No
Заключение
Идея использования операционных систем семейства UNIX
в сети Microsoft Windows, пусть даже на вспомогательных
Рисунок 6. Создаем каталоги и назначаем права обычными
средствами Windows ролях, всегда вызывала некоторое недоверие скептиков.
Однако простота реализации и, главное, возможность де-
телей, находящихся внутри офиса, я решил организовать легирования полномочий, описанные в данной статье, спо-
общие ресурсы следующим образом: создать общие папки собны пошатнуть устоявшееся мнение о трудности совмес-
\\fs\vol0, \\fs\vol1, \\fs\vol2, сделать их скрытыми, разрешив тного использования UNIX- и Windows-платформ. Наличие
при этом гостевой доступ. Внутри этих папок создать под- таких удобных инструментов управления, как веб-консоли
каталоги, а уже на них средствами Windows установить ог- CUPS и SWAT, ACL и возможность управлять правами досту-
раниченные права. А пользователям подключать сетевые па из обычного Проводника Windows делают реальным ад-
диски командой net use, например: министрирование сервера, даже не имея серьезного опыта
работы с UNIX-подобными операционными системами.
c:\> net use h: \\fs\vol0\_имя_каталога_
1. «Using Samba» By Jay Ts, Robert Eckstein, David Collier-
Что же касается общих принтеров, то с ними вообще Brown 2nd Edition, February 2003 O’Reilly & Associates, ISBN:
не должно возникнуть проблем при подключении коман- 0‑596‑00256‑4 – http://us3.samba.org/samba/docs/using_samba/
дой типа: toc.html.
2. «SAMBA с авторизацией в AD и поддержкой NT ACL» –
c:\> net use lpt2: \\fs\_printer_name_ http://www.lissyara.su.
20
Утилита find полезные советы
Андрей Кишкин
В вашу квартиру или офис проведено несколько локальных сетей, но их одновременному
подключению к компьютеру мешают пересекающиеся адресные пространства. Сети можно
«подружить», если вы используете ОС Linux.
22
администрирование
Л
окальные пользовательские сети стихийно появляют- Исходные данные для подключений
ся и исчезают повсюду, они могут охватывать как це- Интерфейс Адрес Маска Шлюз DNS-сервер
лые городские районы, так и соединять лишь пару
Сеть 1 Eth0 192.168.0.10 255.255.255.0 192.168.0.1 192.168.0.2
компьютеров в квартире.
Ситуация, когда компьютер подключен одновремен- Сеть 2 Eth1 192.168.0.10 255.255.255.0 192.168.0.1 192.168.0.2
но к нескольким сетям, нередка. Но часто одновременной
работе во всех этих сетях препятствует объективная при-
чина – пересекающаяся, а чаще всего и вовсе одинаковая
адресация. Что же делать?
192.168.0.0/24 192.168.0.0/24
Одни эту проблему решают физическим подключе-
нием только одной из «проблемных» сетей к компьютеру
и «перетыкая» кабели по мере необходимости. 192.168.0.10/24
Другие устанавливают для каждой сети отдельную пла- Схема соединения
ту в системный блок и «переключают» сети на уровне опе-
рационной системы, активизируя нужный сетевой интер- зом можно «обмануть» систему маршрутизации, заставив
фейс и выключая все ненужные. ее «плясать под нашу дудку».
Третьи используют для управления сетевым «зоопар- О том, какими критериями нужно пользоваться при
ком» дополнительное оборудование, благо простенький выборе сети, адреса которой мы будем подменять, чи-
маршрутизатор стоит сейчас совсем недорого, кроме то- тайте в конце статьи, пока же для простоты выберем
го, в его роли можно использовать старый никому не нуж- в качестве «подопытной» сеть, подключенную к интер-
ный компьютер. фейсу Eth1.
Последний подход универсален, но при всех своих плю- Задачу конфигурирования системы можно разбить
сах требует, во-первых, дополнительное «железо», а во вто- на три, более мелкие:
рых – умения это «железо» настраивать. 1. Идентификация и инициализация входящего трафи-
Я расскажу о том, как к своему компьютеру с операци- ка.
онной системой Linux подключить несколько локальных 2. Инициализация и маршрутизация ответного трафи-
сетей с произвольной адресацией, и о том, как работать ка.
со всеми подключенными сетями одновременно, не испы- 3. Инициализация и маршрутизация собственного тра-
тывая при этом почти никаких проблем. фика системы.
Для начала рекомендую ознакомиться с материала-
ми [1, 2]. Под идентификацией трафика подразумевается опре-
Эти материалы можно найти и на русском языке, но най- деление сети источника, а под инициализацией – прида-
денные мной переводы несколько устарели. ние идентифицированным пакетам неких специфических
Требования к системе: черт, разговор о которых пойдет дальше.
n Ядро Linux 2.6 (я использовал 2.6.17.9), собранное с под-
держкой следующих опций netfilter: Идентификация и инициализация
входящего трафика
CONFIG_NETFILTER Инициализацию будем производить в зависимости от
CONFIG_IP_NF_CONNTRACK
CONFIG_IP_NF_IPTABLES интерфейса, с которого трафик пришел. Неуникальный
CONFIG_IP_NF_MATCH_MARK адрес хоста назначения (нашего компьютера) (в общем
CONFIG_IP_NF_NAT
случае не уникальна адресация сетевых сегментов, под-
В большинстве ядер из дистрибутивов нужные опции ключенных к компьютеру, но так как из каждого сегмен-
уже включены, но для их работы требуется подгрузить та нашей системе принадлежит только один адрес, будем
нужные модули ядра. именно его называть неуникальным, хотя это может быть
n IPTables 1.2.9 и выше (я использовал 1.3.3). и не так, т.е. адреса разные, но принадлежат одному сете-
вому пространству) будем заменять уникальным. Это по-
При тестировании работы схемы использовался дист- может нам решить и еще одну задачу – задачу маршрути-
рибутив Slackware Linux 10.2, но вы можете работать с дру- зации обратного трафика, но об этом позже.
гими дистрибутивами, так как схема универсальна. Мы выбрали в качестве «подопытной» сеть, подключен-
Команды, приведенные в статье, можно просто наби- ную к интерфейсу eth1, поэтому назначаем дополнительный
рать с консоли, но лучше оформить их в качестве команд- уникальный адрес на этом интерфейсе:
ного файла, запускаемого при старте системы, я для этих
целей использую /etc/rc.local. ip address add 192.168.1.10/32 dev eth1
Итак, мы решили подключить компьютер к двум локаль-
ным сетям с пересекающейся адресацией. Исходные дан- Адрес можно выбирать любой удобный, особой роли
ные для подключений смотрите в таблице. он не играет, важно, чтобы он не входил в сети, подклю-
Схематично это они представлены на рисунке. ченные к другим сетевым интерфейсам.
Алгоритм решения поставленной задачи состоит в за- Обратите внимание на маску сети, в общем случае она
мене неуникальных адресов на уникальные, таким обра- может быть любой, но так как адрес не участвует в реаль-
Инициализация и маршрутизация а
ответного трафика
Маршрутизацию обратного трафика будем производить ping 192.168.1.5
«от источника», т.е. в зависимости от адреса отправителя,
т.к. он уникальный. При обращении к сети, подключенной к интерфейсу eth0
Создадим в системе дополнительную таблицу марш- все остается по-старому.
рутизации для каждой сети. Из консоли дайте следующие Существует один не очень приятный момент: невозмож-
команды: ность работы с DNS-сервером сети, подключенной к интер-
фейсу eth1 (распространяется только на подменяемые на-
echo /etc/iproute2/rt_tables >> 10 TO_ETH0 ми адреса, т.е. все нелокальные для этой сети имена (на-
echo /etc/iproute2/rt_tables >> 20 TO_ETH1
пример, интернет-имена) будут разрешаться корректно).
или добавьте в файл /etc/iproute2/rt_tables строки соответс- То есть посылать DNS-запросы вы, конечно, можете, но от-
твующие «10 TO_ETH0», «20 TO_ETH1» вручную. В скрипт веты сервера теперь будут «некорректными», эта проблема
эти команды добавлять не нужно, достаточно запустить их решается занесением нужных, но уже откорректированных
один раз. записей в файл /etc/hosts. То есть если в сети, подключен-
Добавляем маршрут по умолчанию в эти таблицы: ной к интерфейсу eth1, имеется хост с именем server.local
и адресом 192.168.0.1, то файл /etc/hosts следует прописать
ip route add default dev eth1 table TO_ETH1 server.local 192.168.1.1.
ip route add default dev eth0 table TO_ETH0
Для реализации схемы, описанной выше, нам требует-
А теперь создаем правила, в соответствии с которыми ся только заменить адрес сети на выходе:
все пакеты, у которых в поле «От» указан адрес 192.168.1.10,
нужно маршрутизировать в соответствии с таблицей iptables –t nat –A POSTROUTING –d 192.168.1.0/24 ↵
–j NETMAP –to 192.168.0.0
TO_ETH1, т.е. передавать через интерфейс eth1, а все па-
кеты у которых в поле «От» указан адрес 192.168.0.10, пе- И все. Пакеты будут корректно отмаршрутизированы
редавать через интерфейс eth0. при помощи правил, созданных нами выше.
Маркируем пакеты: Теперь несколько слов о том, как следует подходить
к выбору сети, в которой будем «подменять» адреса.
iptables –t mangle –A OUTPUT –s 192.168.0.10/24 ↵ Во-первых, подменять адреса нужно в более «простой»
–j MARK -–set-mark 0
iptables –t mangle –A OUTPUT –s 192.168.1.10/24 ↵ сети, т.е. в той, где меньше сервисов (выделенные серве-
–j MARK -–set-mark 1 ры и т. д.).
Во-вторых, не стоит выбирать сеть, адреса в которой
Маршрутизируем в зависимости от метки: выдаются по DHCP. Для гарантированной работы конфи-
гурации следует в стартовом скрипте каждый раз выяснять
ip rule add fwmark 1 table TO_ETH1 свой адрес, например, через «ip link sh».
ip rule add fwmark 0 table TO_ETH0
Будьте предельно внимательны при наборе правил,
Теперь осталось заменить адрес, и пакет может отправ- т.к. даже малейшие ошибки могут привести к серьезным
ляться в путешествие по сети: проблемам, поэтому перед подключением к реальным се-
тям работоспособность конфигурации настоятельно реко-
iptables –t nat –A OUTPUT –s 192.168.1.10 –j DNAT ↵ мендую проверить на «испытательном стенде»: вашем ПК
-–to 192.168.0.10
и нескольких подключенных к нему.
Теперь наш компьютер может отвечать на запросы (на-
пример, DNS или ICMP) из обеих подключенных сетей. Мож- 1. Advanced Linux Routing – http://lartc.org/howto.
но попробовать его «попинговать» и насладиться получен- 2. IPTables 1.2.2 Tutorial – http://iptables-tutorial.frozentux.net/
ным эффектом. iptables-tutorial.html.
Инициализация и маршрутизация
собственного трафика системы
Описанных действий достаточно для организации рабо-
ты сервера в двух сетях, отвечающего на запросы, прихо-
дящие из обеих сетей, но не генерирующего собственно-
го трафика.
24
администрирование
Василий Озеров
Система DNS очень важна для работы Интернета в целом, поэтому стоит посвятить
достаточное количество времени на изучение принципов работы системы и на настройку
сервера имен. Сегодня я расскажу о настройке bind для хранения информации о зонах в базе
данных LDAP.
О
чень часто в локальных сетях, всего хранить прямые и обратные зо- n I P - а д р е с D N S - с е р в е р а :
будь то большие сети крупных ны DNS-сервера в LDAP. Разумнее, по- 192.168.1.254 (hostname: dns).
организаций или же небольшие тому что тогда получается централизо- n I P - а д р е с L D A P - с е р в е р а :
«домашние» сети, устанавливается ванное хранилище данных, с которым 192.168.1.250 (hostname: spider).
и настраивается локальный DNS-сер- легко можно работать из различных Итак, приступаем к настройке:
вер. Ставят его для удобства работы ОС, да и программ для работы с LDAP- n Система: FreeBSD-6.1-p6 (и на
или для кэширования запросов к DNS- сервером очень много, как для UNIX, LDAP- и на DNS-сервере).
серверам провайдера. Для UNIX-сис- так и для Windows. Еще один довод n К о р е н ь L D A P - с е р в е р а :
тем стандартом среди DNS-серверов для хранения информации в LDAP – dc=l1523,dc=ru.
является bind. По умолчанию bind хра- динамическое обновление зон. DHCP
нит все записи о зонах в простых тек- может не посылать запросы DNS-сер- Если у вас не настроен LDAP-сер-
стовых файлах, с которыми не всег- веру на обновление зоны, тем самым вер, то можете почитать о его настрой-
да удобно работать. Например, если нагружая DNS-сервер, а может сам об- ке на сайте: http://www.fr33man.ru/
у вас есть несколько DNS-серверов новить запись на LDAP-сервере. Наде- index.php?newsid=5б.
на разных машинах, то править фай- юсь, вы задумались о LDAP как о хра-
лы зон через шелл не очень удобно, так нилище данных DNS-сервера. Теперь Настройка LDAP
как придется выполнить большое чис- приступим к практической реализации. С н а ч а л а н е о б х о д и м о п о д к л ю -
ло однообразных действий, начиная Сразу хочу описать сеть, для которой мы чить две схемы к нашему серверу:
от ввода логина, заканчивая перезаг- будем настраивать DNS-сервер: dnsZone.schema и dhcp.schema. Схе-
рузкой DNS‑сервера. Если у вас в се- n Адрес сети: 192.168.1.0/24. ма dnsZone поставляется по умолча-
ти настроен LDAP-сервер, то разумнее n Домен: teachers. нию с сервером slapd, а вот схема dhcp
26
администрирование
появляется после установки DHCP-сервера. Забирайте # Добавляем запись вида:
# 254 PTR ns.teachers.
dhcp.schema отсюда: http://fr33man.ru/files/dhcp.schema. dn: relativeDomainName=254,zoneName= ↵
Редактируем slapd.conf, добавляем: 1.168.192.in-addr.arpa,ou=dns,dc=l1523,dc=ru
objectClass: top
objectClass: dNSZone
include /usr/local/etc/openldap/schema/dnszone.schema zoneName: 1.168.192.in-addr.arpa
include /usr/local/etc/openldap/schema/dhcp.schema relativeDomainName: 254
pTRRecord: ns.teachers.
После этого перезапускаем slapd:
# Добавляем запись вида:
# 250 PTR spider.teachers.
spider@/root/> /usr/local/etc/rc.d/slapd.sh restart dn: relativeDomainName=250,zoneName= ↵
1.168.192.in-addr.arpa,ou=dns,dc=l1523,dc=ru
Stopping slapd. objectClass: top
Starting slapd. objectClass: dNSZone
zoneName: 1.168.192.in-addr.arpa
relativeDomainName: 250
Все, теперь можно добавить необходимые записи pTRRecord: spider.teachers.
в LDAP. Я предоставляю ldif-файл с комментариями:
Может показаться, что добавлять записи в файлы зон
Dns.ldif намного удобнее, чем в LDAP-сервер, но кто вас заставля-
# Добавляем контейнер, где будут храниться все зоны ет составлять ldif-файлы и добавлять их через shell? Мо-
# нашего DNS-севера жете использовать программы для работы с LDAP-серве-
dn: ou=dns,dc=l1523,dc=ru
ром, например ldapadmin: http://ldapadmin.sourceforge.net.
objectClass: top Я давно пользуюсь этой программой и ни разу не испыты-
objectClass: organizationalUnit
ou: dns вал неудобств.
description: domain zones Вернемся к добавлению записей в LDAP. Составленный
# Добавляем прямую зону teachers
dn: zoneName=teachers,ou=dns,dc=l1523,dc=ru нами ldif-файл нужно добавить в директории LDAP:
objectClass: top
objectClass: dNSZone spider@/root/> ldapadd -x -D "cn=root,dc=l1523,dc=ru" ↵
zoneName: teachers -W -f dns.ldif
relativeDomainName: teachers
dns@/root/> echo named_enable=\"YES\" >> /etc/rc.conf Сервер установлен. Теперь переходим к его настройке:
28
администрирование
dhcpd‑conf‑to‑ldap.pl. Давайте откроем его и отредактиру- # Учетная запись, под которой будет происходить подключение
# к LDAP-серверу.
ем параметры в самом начале: ldap-username "cn=root,dc=l1523,dc=ru";
# Пароль учетной записи
# Этот параметр можно не менять, будет использован ldap-password "123456";
# результат, который вернет функция hostdomain() # Корень LDAP-сервера
my $domain = hostdomain(); ldap-base-dn "dc=l1523,dc=ru";
# Корень сервера ldap ldap-method dynamic;
my $basedn = "dc=l1523,dc=ru";
# В этой строке скрипт заменяет все «.», указанные Теперь запускаем DHCP-сервер:
# в $basedn на «,dc=»
$basedn =~ s/\./,dc=/g; spider@/root/> echo dhcpd_enable=\"YES\" >> /etc/rc.conf
# Параметр можно не изменять, будет использован результат spider@/root/> /usr/local/etc/rc.d/isc-dhcpd.sh start
# вызова функции hostname(), где будут храниться
# настройки DHCP
my $server = hostname();
Starting dhcpd.
Internet Systems Consortium DHCP Server V3.0.5rc2
my $dhcpcn = 'dhcp'; # CN of DHCP config tree
my $dhcpdn = "cn=$dhcpcn, $basedn"; # DHCP config tree DN Copyright 2004-2006 Internet Systems Consortium.
my $second = ''; # secondary server DN / hostname All rights reserved.
my $i_conf = ''; # dhcp.conf file to read or stdin For info, please visit http://www.isc.org/sw/dhcp/
my $o_ldif = ''; # output ldif file name or stdout TLS session successfully started to spider.teachers
my @use = (); # extended flags (failover) Wrote 17 leases to leases file.
Listening on BPF/xl0/00:0a:5e:42:b8:01/192.168.1/24
Sending on BPF/xl0/00:0a:5e:42:b8:01/192.168.1/24
Все, теперь можно запускать: Sending on Socket/fallback/fallback-net
spider@/root/> dhcpd-conf-to-ldap.pl < /root/dhcpd.conf Отлично! Сервер запустился. Осталось настроить ди-
Creating LDAP Configuration with the following options: намическое обновление DNS-зон. К сожалению, пакет
Base DN: dc=l1523,dc=ru bind‑sdb‑ldap не умеет сам обновлять записи в LDAP, так же
DHCP DN: cn=dhcp, dc=l1523,dc=ru
Server DN: cn=spider, dc=l1523,dc=ru как и DHCP. Поэтому придется использовать скрипт, напи-
санный Travis Groth. Подробнее об этом можете почитать
dn: cn=spider, dc=l1523,dc=ru
cn: spider
на странице: http://www.venaas.no/ldap/bind‑sdb. Давайте
objectClass: top скачаем и настроим скрипт:
objectClass: dhcpServer
dhcpServiceDN: cn=dhcp, dc=l1523,dc=ru spider@/root/> mkdir dhcp
spider@/root/> cd dhcp
dn: cn=dhcp, dc=l1523,dc=ru spider@/root/dhcp/> fetch http://www.venaas.no/ldap/ ↵
cn: dhcp bind-sdb/dhcp2ldapd-1.1.gz
objectClass: top
objectClass: dhcpService dhcp2ldapd-1.1.gz 100% of 2185 B 1279 Bps
dhcpPrimaryDN: cn=spider, dc=l1523,dc=ru spider@/root/dhcp/> gunzip dhcp2ldapd-1.1.gz
dhcpStatements: default-lease-time 14400 spider@/root/dhcp/> ll
dhcpStatements: max-lease-time 28800 total 10
dhcpStatements: log-facility local7 drwxr-xr-x 2 root wheel 512B 11 янв 23:18 .
dhcpStatements: authoritative drwxr-xr-x 8 root wheel 1,5K 11 янв 23:18 ..
dhcpStatements: ddns-update-style none -rw-r--r-- 1 root wheel 5,3K 3 май 2005 dhcp2ldapd-1.1
483 ?? Is 0:01,56 /usr/local/sbin/dhcpd -cf /usr/local/etc/dhcpd.conf - Pid не изменился, следовательно, DNS-сервер не пере-
54964 p0 R+ 0:00,00 grep dhcp
запускался и изменения «подхватились» автоматически.
spider@/usr/local/etc/rc.d/> ./dhcpd2ldap.sh start
Скрипт dhcpd2ldap запущен! За и против
Мы получили работающую связку, удобную в управлении.
spider@/usr/local/etc/rc.d/> ps ax | grep dhcp
Для того чтобы обновить зоны или конфигурацию DHCP,
483 ?? Is 0:01,56 /usr/local/sbin/dhcpd -cf /usr/local/etc/dhcpd.conf - достаточно изменить записи в LDAP, а для этого можно ис-
54967 ?? Ss 0:00,40 /usr/bin/perl /root/dhcp2ldapd-1.1 (perl5.8.8)
54969 p0 R+ 0:00,00 grep dhcp пользовать программы для работы с LDAP-сервером. Еще
одним плюсом является то, что при изменении информации
Как видите, скрипт запустился успешно. Переходим на LDAP-сервере изменения вступят в силу без перезагруз-
к тестированию нашей связки. ки зоны. Централизованное хранение данных для крупных
компаний выгоднее по нескольким причинам:
Тестирование n Все данные хранятся в одной базе. Если с этой базой
Давайте для начала посмотрим pid DNS-сервера, для того что-то случится, то восстанавливать придется только ее,
чтобы далее можно было проконтролировать, что named а не бегать по всем серверам и восстанавливать по от-
не перезапускался: дельности каждый сервис.
n Управлять базой можно из любой ОС, так как стандарт
shield@/root> ps ax | grep named работы LDAP один.
264 ?? Ss 0:00,50 /usr/sbin/syslogd -l /var/run/log -l /var/named/var/r
448 ?? Ss 1:17,13 /usr/local/sbin/named -u bind -t /var/named
22315 p0 R+ 0:00,00 grep named Из минусов можно отметить, что управление немного
усложняется, но результат того стоит. Использовать цент-
Pid named – 448. Теперь проверим, резолвится ли ад- рализованную базу лучше только в сетях со сложной струк-
рес машины, которую мы вскоре добавим в нашу сеть. Имя турой, а для маленьких сетей централизованное хранение
машины – fr33man: данных не так выгодно.
30
администрирование
Размещаем пользовательские
бюджеты в LDAP
Часть 2
Алексей Барабанов
Настроив подсистему аутентификации и авторизации на использование LDAP, попробуем
работать с ней прозрачным образом, так же как с файловой базой учетных записей. Проверим,
насколько код стандартных утилит приспособлен для взаимодействия с LDAP.
32
администрирование
В
первой части статьи [1] вы можете найти всё необ- # getent group | grep "^\(video\|dialout\)"
ходимое для настройки сервера OpenLDAP, указа-
dialout:x:16:alekseybb,suser1
ния его в качестве хранилища информации о поль- video:x:33:alekseybb,suser1
зовательских бюджетах и соответствующей инициализа- dialout:*:16:
video:*:33:
ции. Быть может, кто-то из вас даже попробовал предло-
женное в действии и «открыл» свой счет удобств и потерь
от такого усовершенствования. Если же нет, то предлагаю И, увы, эта проблема не поддается простому «лечению».
поверить «на слово» и продолжить рассмотрение вопро- Секрет в том, что исходные тексты pwdutils, куда входит ути-
са так, будто бы система аутентификации и авторизации лита useradd, модифицированы для использования схемы
с LDAP построена в среде openSUSE версии 10.1 или 10.2 rfc2307bis, которая заменила схему nis и по идее должна
(кому что удобнее) в полном соответствии с рекомендаци- обеспечить POSIX-совместимые атрибуты пользователь-
ями из части 1. ских бюджетов. Но вот вместо применяемых в файловых
базах индексов в виде номеров GID/UID, автор модифика-
Использование LDAP ций, все тот же неутомимый Thorsten Kukuk, решил заме-
Попробуем создать пользовательский бюджет так, что- нить их на отличительные имена LDAP (то есть поменять
бы запись о нем была произведена в LDAP. Воспользуем- индексы на LDAP-ссылки), что делает такую схему несов-
ся стандартным системным средством useradd. Для срав- местимой с ранее принятыми алгоритмами работы с учет-
нения создадим обычный бюджет, зарегистрированный ными данными пользователей. Можно, конечно, подож-
в passwd и shadow: дать, пока все участники процесса разработки договорят-
ся и придут к выводу о том, что каждая схема регистра-
# useradd -m -c "shadow user" suser1 ции должна пользоваться собственными атрибутами, под-
# getent passwd | grep suser
держивая определенный уровень совместимости. Но они
suser1:x:1001:100:shadow user:/home/suser1:/bin/bash не договорились ни к выходу openSUSE 10.1, ни к выходу
openSUSE 10.2, и я делаю вывод, что рациональнее пере-
Установим для него некоторый пароль (здесь и далее собрать пакет pwdutils, применяя регрессивную заплатку
пароль совпадает с именем пользователя): следующего содержания:
Все хорошо. Но не совсем. Возникают трудности с на- # slapcat | grep "^userPassword" | tail -n 2 | ↵
awk '{print $2}' | mimencode -b -u
значением пароля. Поскольку в утилите passwd нет воз-
можности указать, с каким отличительным именем обра- {crypt}{SSHA}/zwKlDACjO1kS12Kk4CJH+/I3TEQSJHY{SSHA}xcmHTMd/sM/VD7vWbjZMm/jawIDtROsY
34
администрирование
После их установки получаем адекватные записи
в LDAP:
# usermod -D cn=ldapadmin,dc=office,dc=localnet ↵
--service ldap -e -1 ↵
-p $(slappasswd -s luser1 -h {SSHA} ) luser1
dn: uid=luser1,ou=People,dc=office,dc=localnet
userPassword:: e1NTSEF9bTY3cGNYYnR3N0xRdEhZNjNlMWpRQmZZakZNSXBNSUQ=
dn: uid=luser2,ou=People,dc=office,dc=localnet
userPassword:: e1NTSEF9eGNtSFRNZC9zTS9WRDd2V2JqWk1tL2phd0lEdFJPc1k=
А там вообще какой-то неадекватный мусор. Хотя в кон- # grep passwd /etc/ldap.conf
фигурации nss, как и прежде: nss_base_passwd dc=office,dc=localnet?sub
dn: uid=luser1,ou=People,dc=office,dc=localnet
userPassword:: e1NTSEF9bTY3cGNYYnR3N0xRdEhZNjNlMWpRQmZZakZNSXBNSUQ= Пробуем авторизоваться:
dn: uid=luser2,ou=People,dc=office,dc=localnet
userPassword:: e1NTSEF9eGNtSFRNZC9zTS9WRDd2V2JqWk1tL2phd0lEdFJPc1k=
dn: uid=luser3,dc=office,dc=localnet alekseybb@suse102:~> su - luser3 -c "LC_ALL=C id"
userPassword:: e2V4b3B9bHVzZXIz
Пароль:
Права доступа на базу данных паролей может быть слишком ограниченная.
su: неправильный пароль
Нет слов! Смех переходит в гомерический. Кроме то-
го, что учетная запись luser3 не размещена в нужном кон- Опять те же «грабли»! Здесь лично я делаю вывод,
тейнере, так у нее еще и какой-то странный хеш. Смотрим, что в команде openSUSE не только Thorsten Kukuk любит
что внутри: пошутить. Юмористов там очень много, и шутки их с уве-
личением индекса дистрибутива становятся все разнооб-
# slapcat | grep "^userP" | tail -n 1 | ↵ разнее.
awk '{print $2}' | mimencode -b -u
{exop}luser3 Выводы
Статья может быть использована как практическое ру-
Ну что тут сказать? Создается впечатление, что раз- ководство в настройке общего пользовательского LDAP-
работчики OpenLDAP и YaST проживают на разных плане- каталога. Но описанное здесь позволяет сделать выво-
ды как насчет надежности использу-
емых в Linux настроек общесетевых
каталогов LDAP, понять, чем озабо-
чены разработчики подобных сис-
тем или, напротив, чем они пренеб-
регают, так и установить недостатки
предложенного в силу свойств, при-
сущих LDAP.
Во-первых, описанная схема ра-
ботает только в pwdutils, использу-
емых в openSUSE и еще в PLD. Во
многих других, например RHEL, FC,
Mandriva, ALT Linux, применяются
shadow-utils и их модификации. От-
личие в том, что pwdutils, которые со-
здал Thorsten Kukuk, позволяют ука-
зывать отличительное имя админис-
тратора в командной строке, то есть
дают работать с административны-
ми правами даже в отсутствие па-
раметра rootbinddn в конфигурации
клиента LDAP. Это позволяет избе-
Рисунок 2. Настройка клиента LDAP жать столь уязвимого указания паро-
36
администрирование
ля администратора в текстовой фор-
ме в openSUSE и PLD и приводит к то-
му, что все остальные дистрибутив-
ные ветки при настройке общесете-
вого репозитория LDAP вынуждены
хранить пароль администратора сис-
темы в открытом виде, как минимум,
на тех станциях, с которых допускает-
ся административное управление ка-
талогом. Что делает использование
LDAP менее надежным, чем традици-
онная схема размещения бюджетных
данных, обходящаяся хранением па-
рольных хешей в файлах.
Во-вторых, тот факт, что данная
схема реализуется лишь с помощью
заплаток, отсутствующих в дистрибу-
тивных версиях pwdutils, свидетельс-
твует о том, что никто и в openSUSE
не смущается данными проблема-
ми и, как и ранее, работает через
rootbinddn, и даже более, исполь-
зуя в качестве оного rootdn, как, на-
пример в [3]. Другими словами, хра-
нение пароля администратора в не- Рисунок 3. Параметры клиента LDAP
шифрованном виде является повсе-
местной практикой в Linux. Для срав- И вот теперь сделаем самый глав- Итак, LDAP обречен на взаимо-
нения попробуйте найти нешифро- ный вывод о том, как можно испра- действие с Kerberos. Именно по это-
ванный пароль администратора на вить ситуацию. Фактически вся сла- му пути пошли разработчики Microsoft
сервере или на рабочей станции MS бость использования LDAP по сравне- и точно также поступили в Samba
Windows. И опять приходится при- нию с традиционной формой хранения Team. Точно так же надо делать и в слу-
знать, что Linux-каталог LDAP сущес- учетных данных следует из-за невоз- чае любого применения LDAP как хра-
твенно менее безопасен, чем анало- можности аутентифицировать удален- нилища учетных данных.
гичный в MS Windows. ного привилегированного пользова- Большинство схем, описываю-
В-третьих, даже использование теля на основе сеансовых данных его щих иную настройку (источники [3]
pwdutils не является практичным ре- локальной регистрации. При исполь- и [4] не исключение), можно приме-
шением, так как требует введения па- зовании локального доступа к учет- нять лишь в локальных вариантах,
роля администратора для каждой опе- ным данным UID легко проверяется и то, закрывая глаза на вопросы бе-
рации, что не всегда возможно в слу- и является надежным критерием для зопасности. Но симбиоз OpenLDAP
чае, если эти утилиты используются оценки прав доступа. Так как взаимо- и Kerberos заслуживает отдельного
как основа в обертывающих скриптах. действие с LDAP происходит по кли- рассмотрения. Это значит, продолже-
То есть это проблема «by design». Ана- ент-серверной схеме, то удаленная ние следует...
логичная проблема возникает при ис- сторона обязана потребовать аутен-
пользовании smbldap‑tools. Этот инс- тификации клиентской части прежде, 1. Барабанов А. Размещение пользова-
трументарий предназначен для под- чем разрешить нужный уровень до- тельских бюджетов в LDAP. Часть 1.
ключения его в качестве внутренних ступа. И единственное, на мой взгляд, //«Системный администратор», №1,
утилит в samba3. И такое их использо- средство, которое позволяет избежать 2007 г. – C. 36-43.
вание исключает интерактивную фа- постоянного интерактивного взаимо- 2. Исходные тексты и собранные паке-
зу, в ходе которой можно задать воп- действия с механизмами аутентифи- ты для настоящей статьи – http://www.
рос администратору о парольной фра- кации, это Kerberos. Лишь в случае barabanov.ru/arts/ldap-start.
зе. Что естественным образом приво- построения аутентификации на осно- 3. Как настроить SAMBA в SUSE как PDC
дит к необходимости хранить пароль ве Kerberos можно заранее и на опре- с OpenLDAP, DYNDNS и CLAM – http://
в месте, доступном для автоматичес- деленный срок получить для некото- ru.opensuse.org/Howto_setup_SUSE_
кого считывания (в данном конкретном рого локального администратора до- as_SAMBA _ PDC_with_OpenLDAP,_
случае пароль записан в конфигура- статочный уровень прав на удален- DYNDNS_and_CLAM.
ционный файл). То есть снова прихо- ный каталог LDAP и использовать дан- 4. Нас т р о й к а O penLDAP и е го к л и -
дим к выводу о слабой защищеннос- ную возможность в неинтерактивных ентов – http://www.freesource.info/
ти практических решений на основе скриптах, запускаемых от упомянуто- w i k i / A LT L i n u x / D o k u m e n t a c i j a /
LDAP в Linux. го пользователя. OpenLDAP?v=1845.
Принципы построения
доменов Active Directory
Александр Емельянов
38
администрирование
A
ctive Directory – технологию, по- Дальнейшая его настройка и инстру-
явившуюся в линейке систем менты управления и диагностики будут
Active Directory уже Win2K шесть лет назад, можно освещены в следующих номерах.
давно вошла в разряд было охарактеризовать как револю-
консервативных принципов ционную. По своей гибкости и масшта- Чем поможет
бируемости она превосходит домены Active Directory
логического построения NT 4 на порядок, не говоря уже о сетях, Приведу неполный список всех «вкус-
сетевой инфраструктуры. состоящих из рабочих групп. ностей», которые вы получите, развер-
Но многие администраторы С момента выхода AD было выпу- нув службу каталогов:
продолжают использовать щено огромное количество книг и пуб- n единая база регистрации пользова-
рабочие группы и домены ликаций на тему планирования, про- телей, которая хранится централи-
ектирования топологии, поддержки зованно на одном либо нескольких
Windows NT в своей работе.
доменов, обеспечения безопаснос- серверах; таким образом, при появ-
Внедрение службы каталогов ти и т. п. лении нового сотрудника в офисе
будет интересно и полезно как Сертификационные курсы корпора- вам нужно будет всего лишь завес-
начинающим, так и опытным ции Microsoft обещают, что за 40 часов ти ему учетную запись на сервере
администраторам для вы сможете научиться тому, как раз- и указать, на какие рабочие стан-
централизации управления вернуть свой домен и с успехом его ции он сможет получать доступ;
администрировать. n поскольку все ресурсы домена ин-
сетью и обеспечения
Не верю. Администрирование – дексируются, это дает возмож-
должного уровня это процесс, включающий в себя мно- ность простого и быстрого поиска
безопасности. голетний опыт с «набитыми шишка- для пользователей; например, если
ми», огромным количеством прочи- нужно найти цветной принтер в от-
танной документации (в массе своей деле автоматизации;
на английском языке) и «задушевны- n совокупность применения разре-
ми» беседами с начальством и поль- шений NTFS, групповых политик
зователями. и делегирования управления поз-
Есть еще один нюанс – перед тем, волит вам тонко настроить и рас-
как пройти курс по внедрению Active пределить права между участни-
Directory, вы должны иметь успеш- ками домена;
но сданный курс по администрирова- n перемещаемые профили пользо-
нию сетевой инфраструктуры на ба- вателей дают возможность хранить
зе Windows Server 2003, который тоже важную информацию и настройки
требует некоторых финансовых затрат конфигурации на сервере; факти-
со стороны обучающегося. Лишний чески, если пользователь, облада-
раз убеждаемся, что Microsoft своего ющий перемещаемым профилем
не упустит. Но речь не об этом… в домене, сядет работать за дру-
Изучение внедрения AD никак гой компьютер и введет свои имя
не вписывается в рамки недельного пользователя и пароль, он увидит
курса и уж тем более одной публика- свой рабочий стол с привычными
ции. Однако, вооружившись опытом ему настройками;
предыдущих статей, попытаемся ра- n с помощью групповых политик вы
зобраться, что же такое служба ката- можете изменять настройки опе-
логов по сути своей, каковы основные рационных систем пользователей,
тонкости ее инсталляции и чем она мо- от разрешения пользователю уста-
жет облегчить жизнь системного адми- навливать обои на рабочем столе
нистратора. до настроек безопасности, а так-
Также посмотрим, что нового по- же распространять по сети про-
явилось в Active Directory с выходом граммное обеспечение, например,
Windows Server 2003. Volume Shadow Copy client и т. п.;
Стоит отметить, что в последнем n многие программы (прокси-сер-
квартале прошедшего года Microsoft веры, серверы баз данныхи др.)
выпустила Windows Vista, а вместе не только производства Microsoft
с ней и обновленную службу каталогов. на сегодняшний день научились ис-
Однако старые технологии не потеряли пользовать доменную аутентифи-
своей актуальности и по сей день. кацию, таким образом, вам не при-
В рамках статьи мы пройдем путь дется создавать еще одну базу дан-
от понимания сущности AD до соз- ных пользователей, а можно будет
дания своего собственного домена. использовать уже существующую;
40
администрирование
иметь прав для администрирования
всего домена.
Важной особенностью OU в отли-
чие от групп (немного забегаем впе-
ред) является возможность примене-
ния к ним групповых политик. «А поче-
му нельзя разбить исходный домен на
несколько доменов вместо использо-
вания OU?» – спросите вы.
Многие специалисты советуют
иметь по возможности один домен.
Причина этому – децентрализация ад-
министрирования при создании допол-
нительного домена, так как админист-
раторы каждого такого домена получа-
ют неограниченный контроль (напом-
ню, что при делегировании прав адми-
нистраторам OU можно ограничивать
их функционал).
В дополнение к этому для создания
нового домена (даже дочернего) нужен
будет еще один контроллер. Если же
у вас есть два обособленных подраз- Рисунок 3. Пример логики вложенности объектов Active Directory
деления, соединенных медленным ка-
налом связи, могут возникнуть пробле- n глобальные группы домена могут Например, если вы имеете несколь-
мы с репликацией. В этом случае более включать в себя пользователей до- ко филиалов в разных концах страны,
уместным будет иметь два домена. мена и другие глобальные группы соединенных низкоскоростными ли-
Также существует еще один нюанс этого же домена; ниями связи, то для каждого филиа-
применения групповых политик: поли- n локальные группы домена ис- ла вы можете создать свой сайт. Де-
тики, в которых определены настройки пользуются для разграничения лается это для повышения надежнос-
паролей и блокировки учетных запи- прав доступа, могут включать в се- ти репликации каталога.
сей могут применяться только для до- бя пользователей домена, а также Такое разбиение AD не влияет
менов. Для OU эти настройки политик универсальные группы и глобаль- на принципы логического построе-
игнорируются. ные группы любого домена в лесу; ния, поэтому как сайт может содер-
n локальные группы компьюте- жать в себе несколько доменов, так и
Группы пользователей ров – группы, которые содержит наоборот, домен может содержать не-
и компьютеров SAM (security account manager) ло- сколько сайтов. Но такая топология
Они используются для администра- кальной машины. Область их рас- службы каталогов таит в себе подвох.
тивных целей и имеют такой же смысл, пространения ограничивается Как правило, для связи с филиалами
как и при использовании на локаль- только данной машиной, но они используется Интернет – очень небе-
ных машинах в сети. В отличие от OU, могут включать в себя локальные зопасная среда. Многие компании ис-
к группам нельзя применять группо- группы домена, в котором находит- пользуют средства защиты, напри-
вые политики, но для них можно деле- ся компьютер, а также универсаль- мер, брандмауэры. Служба каталогов
гировать управление. В рамках схе- ные и глобальные группы своего в своей работе использует около полу-
мы Active Directory выделяют два ви- домена или другого, которому они тора десятков портов и служб, откры-
да групп: группы безопасности (при- доверяют. Например, вы можете тие которых для прохождения трафи-
меняются для разграничения прав до- включить пользователя из домен- ка AD через брандмауэр, фактически
ступа к объектам сети) и группы рас- ной локальной группы Users в груп- выставит ее «наружу». Решением про-
пространения (применяются в основ- пу Administrators локальной маши- блемы является использование техно-
ном для рассылки почтовых сообще- ны, тем самым дав ему права ад- логии туннелирования, а также нали-
ний, например, в сервере Microsoft министратора, но только для этого чие в каждом сайте контроллера до-
Exchange Server). компьютера. мена для ускорения обработки запро-
Они подразделяются по области сов клиентов AD.
действия: Сайты
n универсальные группы могут Это способ физического разделения На рис. 3 представлена логика вло-
включать в себя пользователей службы каталогов. По определению женности составляющих службы ката-
в рамках леса, а также другие уни- сайт – это группа компьютеров, со- логов. Видно, что лес содержит два де-
версальные группы или глобаль- единенных быстрыми каналами пере- рева доменов, в которых корневой до-
ные группы любого домена в лесу; дачи данных. мен дерева, в свою очередь, может со-
42
администрирование
рантия осуществляется исполнителем хвате роли служба каталогов полага- жем, по четыре-пять в день. Пос-
роли владельца операции именова- ет, что предыдущего владельца нет, кольку если у вас в сети большое
ния доменов (Domain Naming Master) и не обращается к нему вовсе. Воз- количество машин (50 и больше)
Исполнитель роли владельца схемы вращение в сеть прежнего исполни- и вы управляете ею один, то вряд
(Schema Master) осуществляет все из- теля роли может привести к наруше- ли вы управитесь даже за выход-
менения в схеме каталога. Исполни- нию ее функционирования. Особен- ные, а если и управитесь, то на-
тели ролей владельца доменных имен но это критично для владельца схемы, сколько все будет корректно, неиз-
и владельца схемы должны быть уни- владельца доменных имен и владель- вестно. К тому же для обмена доку-
кальны в рамках леса доменов. ца идентификаторов. ментацией внутри сети вы можете
Как я уже говорил, при создании Что касается производительности: использовать файловый или внут-
объекта ему сопоставляется глобаль- наиболее требовательна к запасу ре- ренний почтовый сервер (такой
ный идентификатор, гарантирующий сурсов компьютера роль эмулятора ос- был описан мной в №11 за 2006 г.).
его уникальность. Именно поэтому кон- новного контроллера домена, поэтому Единственное, в этом случае стоит
троллер, отвечающий за генерацию ее можно возложить на другой конт- корректно разобраться в настрой-
GUID и исполняющий роль владель- роллер. Остальные роли не столь тре- ке прав пользователей для доступа
ца относительных идентификаторов бовательны, поэтому при их распре- к файловому серверу. Потому что,
(Relative ID Master), должен быть один- делении вы можете руководствовать- если, например, он не будет вклю-
единственный в рамках домена. ся нюансами логического построения чен в домен, аутентификация поль-
В отличие от доменов NT в AD нет схемы вашей AD. зователей будет осуществляться,
понятия PDC и BDC (основной и ре- основываясь на записях локаль-
зервный контроллеры домена). Од- Последний шаг ной базы SAM. Там нет данных
ной из ролей FSMO является PDC теоретика о доменных пользователях. Одна-
Emulator (эмулятор основного контрол- Прочтение статьи вовсе не должно пе- ко если ваш файловый сервер бу-
лера домена). Сервер под управлени- ревести вас из теоретиков в практики. дет в числе первых машин, вклю-
ем Windows NT Server может выступать Потому что, пока вы не учли все факто- ченных в AD, и не будет контролле-
в роли резервного контроллера доме- ры от физического размещения узлов ром домена, то будет существовать
на в AD. Но известно, что в доменах NT сети до логического построения все- возможность аутентификации пос-
может использоваться только один ос- го каталога, не стоит браться за дело редством как локальной базы SAM,
новной контроллер. Именно поэтому и воздвигать домен простыми ответа- так и учетной базы AD. Но для пос-
Microsoft сделала так, что в рамках од- ми на вопросы мастера установки AD. леднего варианта вам нужно бу-
ного домена AD мы можем назначить Подумайте, как будет называться ваш дет в локальных настройках безо-
единственный сервер – носитель роли домен и, если вы собираетесь создать пасности разрешить (если это еще
PDC Emulator. Таким образом, отступая дочерние для него, по каким призна- не сделано) доступ к файловому
от терминологии, можно говорить о на- кам они будут именоваться. При на- серверу по сети как участникам до-
личии главного и резервных контрол- личии в сети нескольких сегментов, мена, так и локальным учетным за-
леров домена, имея в виду обладате- соединенных ненадежными каналами писям.
ля роли FSMO. связи, рассмотрите возможность ис-
При удалении и перемещении объ- пользования сайтов. О дальнейшей настройке служ-
ектов один из контроллеров должен Как руководство по установке бы каталогов (создание и управление
сохранить ссылку на этот объект, по- AD могу посоветовать использовать учетными записями, назначение груп-
ка не будет полностью завершена статьи [2] и [3], а также базу знаний повых политик и др.) читайте в следу-
репликация. Такую роль выполняет Microsoft. ющей статье.
владелец инфраструктуры каталога Напоследок несколько советов:
(Infrastructure Master). n Постарайтесь по возможности 1. Коробко И. Active Directory – теория
Последние три роли требуют уни- не совмещать роли PDC Emulator построения. //«Системный админист-
кальности исполнителя в рамках до- и прокси-сервера на одной маши- ратор», №1, 2004 г. – C. 90-94. (http://
мена. Все роли возлагаются на первый не. Во-первых, при большом коли- www.samag.ru/cgi-bin/go.pl?q=articles;
контроллер, созданный в лесу. При со- честве машин в сети и пользовате- n=01.2004;a=11).
здании разветвленной инфраструкту- лей Интернет возрастает нагрузка 2. Марков Р. Домены Windows 2000/
ры AD вы можете передавать эти ро- на сервер, а во-вторых, при удач- 2003 – отказываемся от рабочей груп-
ли другим контроллерам. Могут воз- ной атаке на ваш прокси «упадет» пы. //«Системный администратор»,
никать также ситуации, когда владе- не только Интернет, но и основной №9, 2005 г. – C. 8-11. (http://www.samag.
лец одной из ролей недоступен (вы- контроллер домена, а это чревато ru/cgi-bin/go.pl?q=articles;n=09.2005;
шел из строя сервер). В этом случае некорректной работой всей сети. a=01).
необходимо выполнить операцию за- n Если вы постоянно администриру- 3. Марков Р. Установка и настройка
хвата роли FSMO с помощью утилиты ете локальную сеть, а не собирае- Windows 2К Server. //«Системный ад-
NTDSUTIL (о ее использовании мы по- тесь заняться внедрением Active министратор», №10, 2004 г. – C. 88-94.
говорим в следующих статьях). Но сто- Directory для заказчиков, вносите (http://www.samag.ru/cgi-bin/go.pl?
ит быть осторожным, так как при за- машины в домен постепенно, ска- q=articles;n=10.2004;a=12).
Андрей Бирюков
Известно, что настройки, используемые по умолчанию при установке программного
обеспечения, не являются оптимальными. Как можно настроить межсетевой экран ISA 2004,
чтобы оптимизировать работу сети?
М
ежсетевой экран Microsoft расширяться филиалы, в связи с этим дыдущей версии межсетевого экрана
ISA 2004 содержит множест- возрастает нагрузка на каналы связи. ISA 2000 эти функции были реализо-
во функций, необходимых для Увеличение пропускной способности ваны, однако, по заверениям Microsoft,
организации полноценной работы кор- каналов, как правило, требует допол- не пользовались популярностью, поэ-
поративной сети. В предыдущих стать- нительных финансовых затрат, к тому тому в первом релизе 2004 средства
ях [1, 2] я рассмотрел вопросы, связан- же не всегда возможно. Но снизить на- управления трафиком отсутствовали.
ные с подключением пользователей грузку можно, не прибегая к каким-ли- Но вскоре в Microsoft осознали оши-
к Интернету и организацией удаленно- бо затратам, используя возможности бочность такого подхода, и реализация
го доступа к корпоративным ресурсам. ISA Server. Для этого имеются возмож- данных средств была включена в па-
Теперь наша географически распреде- ности управления трафиком, кэширо- кет обновлений Service Pack 2.
ленная корпоративная сеть может пол- вание, сжатие данных и т. д. Перехожу непосредственно к опи-
ноценно функционировать, обеспечи- санию тех компонентов, с помощью
вая как доступ локальным пользова- Предыстория, которых можно повысить эффектив-
телям к ресурсам Интернета, так и до- исправление ошибок ность сети.
ступ сотрудникам, работающим уда- Изначально в ISA 2004 некоторые Начну с фоновой интеллектуаль-
ленно в филиалах, к ресурсам основ- из вышеперечисленных функций за- ной службы передачи (Background
ной сети. Поскольку с течением вре- ложены не были. Например, отсутс- Intelligent Transfer Service – BITS), ко-
мени численность сотрудников компа- твовали средства управления трафи- торая помогает передавать большие
нии может увеличиваться, также могут ком и активное кэширование. В пре- объемы информации без уменьше-
44
администрирование
ния производительности сети. До- сия, которая уменьшает размер фай-
стигается это за счет передачи дан- ла, используя алгоритмы для снижения
ных небольшими порциями, исполь- избыточности передаваемых данных.
зуя невостребованную доступную про- Таким образом, могут быть безопас-
пускную способность, и соединения но сжаты файлы большинства типов.
порций данных в месте назначения. HTTP-компрессия использует стан-
В ISA Server 2004 SP2 встроен меха- дартные алгоритмы GZIP и Deflate, ко-
низм кэширования данных, получен- торые встроены в Windows 2000, 2003
ных из центра Microsoft Update с по- и новые операционные системы, а так-
мощью BITS. Обновление операцион- же в Internet Explorer версии 4 и выше.
ных систем Microsoft Windows и других Эти же алгоритмы используются для
продуктов компании Microsoft на ком- декомпрессии статических файлов
пьютерах компании может использо- и динамических ответов на стороне
вать большую часть доступной про- клиента, поддерживающего протокол
пускной способности сети. Это может HTTP 1.1. Клиент, настроенный на ис-
создать особые сложности, если для пользование протокола HTTP 1.1, за-
подключения к Интернету использует- прашивает сжатую информацию у веб-
ся канал с низкой пропускной способ- сервера. Веб-сервер в ответе указы-
ностью. Но своевременное выполне- вает, поддерживает ли он компрес- Рисунок 1. Взаимодействие между
ние обновлений необходимо для ста- сию или нет. основным и удаленным офисами
бильной работы Windows-приложе- В ISA- сервере HT TP-компрес -
ний. ISA предоставляет возможность сия является глобальной установкой
для кэширования данных Microsoft для всего трафика данного протокола.
Update с помощью BITS для хранения Она применяется ко всему HTTP-тра-
обновлений так, чтобы кэш ISA-сер- фику, проходящему через ISA-сервер
вера сам отвечал на запросы. Обнов- «к» или «от» отдельной сети или сете-
ления могут быть получены через Ин- вого объекта, а не только для трафи-
тернет один раз, а затем применяться ка, управляемого отдельным прави-
по всей корпоративной сети. Для кэ- лом. HTTP-компрессия представлена
ширования данных Microsoft Update двумя веб-фильтрами:
использует запросы HTTP по диапазо- n Фильтр сжатия. Отвечает за ком-
ну (HTTP Range Requests). За счет то- прессию и декомпрессию запро-
го, что ISA-сервер может кэшировать сов и откликов HTTP. Обладает
такие запросы, достигается дополни- высоким приоритетом и находится
тельная эффективность. Это увеличи- на вершине списка веб-фильтров,
вает скорость обновления при низкой поскольку он отвечает за декомп-
пропускной способности сети и безо- рессию, без чего остальные филь-
пасность сетевого окружения, так как тры не смогут получить доступ к со- Рисунок 2. Выбираем типы контента
быстрая и своевременная установка держимому потока. В случае выбо-
обновлений позволяет повысить ус- ра проверки сжатого содержимого Компрессия по диапазону – это сжа-
тойчивость к сбоям. декомпрессия должна проходить тие отдельного HTTP-запроса. Комп-
Для того чтобы настроить кэширо- до того, как другие веб‑фильтры рессия по диапазону может исполь-
вание на ISA Server, нужно проделать будут проверять содержимое. зоваться для несжатых файлов типа
следующие действия: n Фильтр кэширования сжатого со- PDF (Portable Document Format – фор-
В консоли управления ISA-сервера держимого. Отвечает за кэширо- мат портативных документов).
откройте пункт «Cache», затем опре- вание сжатого содержимого и об- Однако, если в вашей сети ис-
делитесь с правилами «Cache Rules». служивает запросы на сжатое со- пользуется веб-сервер от Microsoft
В панели задач создайте правило кэ- держимое из кэша. У него самый IIS (Internet Information Ser vices),
ширования данных для обновлений: низкий приоритет, и он расположен то не включайте эту функцию, так как
«Create the Microsoft Update Cache в конце списка веб-фильтров, пос- он не поддерживает компрессию.
Rule». На последней странице про- кольку кэширование происходит Применительно к инфраструкту-
смотрите информацию о настройке после того, как все фильтры про- ре ISA, которую мы развернули в пре-
и нажмите «Finish», затем «Apply», что- верят содержимое. дыдущих статьях [1, 2], и в частнос-
бы изменения вступили в силу. ти к связи центрального и удаленного
Не рекомендуется изменять при- офисов, можно развернуть компрес-
Сжимаем трафик оритеты по умолчанию для этих фильт- сию по диапазону между двумя ISA-
Другим средством, позволяющим сни- ров. HTTP-компрессия также дает серверами. К примеру, если в глав-
зить загруженность каналов доступа возможность установки компрессии ном офисе стоит веб-сервер, можно
в Интернет, является HTTP-компрес- по диапазону. отключить компрессию по диапазо-
46
администрирование
способности на всех не хватает, в ре-
зультате может возникнуть весьма не- Смотрим в будущее n д о ба в л е н а з а щ и та от ата к т и п а
приятная ситуация, когда пользовате- В 2006 году вышла новая версия межсе- flooding.
ли заполняют канал, скачивая мульти- тевого экрана ISA 2006. Внешне она ма-
медийный контент, зачастую не имею- ло отличается от предыдущей. Однако Также, по заявлению создателей, те-
щий никакого отношения к бизнес-про- официальное описание продукта на сайте перь межсетевой экран Microsoft ISA Server
цессам (но разрешенный политика- Microsoft сообщает о следующих измене- 2006 Standard и Enterprise Edition доступен
ми безопасности). А в это время кри- ниях и улучшениях: в виде appliance (программно-аппаратных
тически важные для бизнеса прило- n улучшена возможность публикации решений).
жения не могут установить соедине- Outlook Web Access; Продукт уже продается, к тому же лю-
ние или работают слишком медленно. n д о б а в л е н м а с т е р п у б л и к а ц и и бой желающий может загрузить испыта-
Для борьбы с этим можно воспользо- Sahrepoint; тельную версию с сайта Microsoft [4] и свои-
ваться встроенным в ISA Server 2004 n добавлена поддержка Exchange 2007; ми глазами убедиться в том, насколько хо-
SP2 механизмом приоритезации па- n добавлен мастер подключения удален- роша или плоха новая версия межсетевого
кетов. ных офисов по VPN; экрана ISA 2006.
Конечно, следует сразу отметить,
что этот механизм несколько уступает данных при назначении приоритета n audio
службе QoS (Quality of Service), в час- первому пакету. Поэтому приоритет n application/x-tar
тности, ее реализации на активном се- первого пакета выставляется для боль- n x-world/x-vrml
тевом оборудовании. Приоритет паке- шой порции данных. n application/zip
тов – это установка глобальной поли- На вкладке «Content Types» (типы n application/x-gzip
тики HTTP. Приоритет применяется ко содержимого) вы можете указать, ка- n application/x-zip-compressed
всему трафику, проходящему через кой тип содержимого требует сжатия. n application/x-compress
ISA-сервер, а не только к тому, кото- У вас есть возможность указать, ка- n application/x-compressed
рый управляется специальным прави- кой тип будет исключен (остальные n application/x-spoon@@
лом. Приоритет пакетов устанавлива- включены) или какой тип включен (ос-
ется с помощью веб-фильтра DiffServ, тальные исключены). Далее выбери- На вкладке «Content Inspection»
который проверяет URL или домен те включаемые или исключаемые ти- (проверка содержимого) вы можете
и назначает пакетам приоритет с помо- пы содержимого. Рис. 3 является при- указать, проверять ли веб-фильтрам
щью битов данных DiffServ. В ISA-сер- мером настройки, при которой HTML- содержимое или нет. Для этого сжа-
вере можно создать приоритеты, биты документы будут сжиматься. Вы мо- тое содержимое будет подвержено де-
DiffServ которых совпадают с приори- жете создать новый тип в панели за- компрессии. После декомпрессии со-
тетами на корпоративных маршрутиза- дач политик брандмауэра на вкладке держимое хранится в кэше как несжа-
торах. Таким образом, можно настро- «Toolbox» (средства), как описано в по- тый текст. Если ISA-сервер получает
ить корпоративные маршрутизаторы мощи ISA-сервера. запрос на данные из кэша, он сжима-
на передачу пакетов соответственно ет их снова перед отправкой, что уве-
их приоритету (см. рис. 3). Замечание 2 личивает время ответа. По окончании
Фильтр обладает высоким приори- Далее перечислены типы данных, ко- настройки нажмите «Apply», чтобы из-
тетом и находится в вершине списка торые не могут быть эффективно сжа- менения вступили в силу.
веб-фильтров, поскольку этот фильтр ты, поскольку они уже представлены Итак, в результате несложных на-
должен знать реальный размер пос- с компрессией: строек мы увеличили эффективность
ланного запроса или ответа и должен n video использования сетевой инфраструк-
проверить данные, получаемые или пе- туры, настроив кэширование и сжатие
редаваемые ISA-сервером. контента, а также выставив приорети-
Не изменяйте приоритет по умолча- зацию пакетов.
нию и порядок настроек фильтра.
1. Бирюков А. Устанавливаем межсете-
Замечание 1 вой экран MS ISA Server 2004. //«Сис-
ISA-сервер не добавляет биты DiffServ темный администратор», №12, 2006 г. –
в заголовки, отличные от HTTP или С. 4-8.
HTTPS. ISA-сервер не может пере- 2. Бирюков А. Настраиваем удаленный
давать существующие биты DiffServ доступ к сети с помощью MS ISA 2004.
на трафик других протоколов. (Дан- //«Системный администратор», №1,
ная информация может быть удалена 2007 г. – С. 26-31.
из заголовка сессии.) 3. Русскоязычная документация и статьи
Для ответов из кэша приоритет по ISA Server – http://www.isadocs.ru.
первого пакета не устанавливается. 4. Испытательная версия ISA 2006 –
Установка приоритета пакета http://www.microsoft.com/technet/isa/
не учитывает размер первой порции Рисунок 3. Устанавливаем очередность downloads/2006.
Сергей Косько
Вы установили своё новое приложение (например, СУБД) на сервере с операционной
системой Solaris. Сначала всё шло хорошо, пользователи были довольны, но со временем
появились жалобы, производительность работы значительно снизилась, и вы задумались
о модернизации оборудования. Не стоит этого делать наугад. Прежде чем принимать решение
о замене сервера, определите, каких именно ресурсов не хватает.
С
разу после развёртывания при- Предлагаемая методика известна мне по душе больше, чем стандарт-
ложения, как правило, прово- давно (её подробное описание приве- ные команды UNIX. Будем рассмат-
дятся измерения исходной ра- дено, например, в [1]) и в целом при- ривать по порядку сначала загруз-
бочей нагрузки. Впоследствии необ- менима к любому компьютеру, под уп- ку оперативной памяти, потом дис-
ходимо вести периодические измере- равлением любой универсальной опе- ков, сети и, наконец, процессоров. Та-
ния использования ресурсов системы: рационной системы. Тут мы рассмот- кой порядок объясняется тем, что не-
оперативной памяти, подсистемы дис- рим её упрощённый вариант для пред- хватка памяти может внести погреш-
кового ввода-вывода, сети и централь- варительной оценки загрузки серве- ность в определение нагрузки на дис-
ного процессора, чтобы выявлять «уз- ров под управлением операционной ки, а загрузка дисков или сети – в оп-
кие места», препятствующие произво- системы Solaris, с использованием ко- ределение загрузки процессора. В ка-
дительной работе системы. манд и скриптов, которые пришлись честве тестового сервера использу-
48
администрирование
ются SUN Fire v440 (4X1593МГцX8Гб) и операционная сис- манда «vmstat -p». Для версии 7 можно скачать команду
тема Solaris 8. «memstat» [2]. Вывод команды vmstat с опцией -p:
$ vmstat -p 1
Анализируя колонки sr (scan rate) и po (page out), пыта-
ются оценить интенсивность подкачки. Если значения в этих
колонках не сильно отклоняются от среднестатистических,
взятых за эталон благополучия значений (допустим, пускай
эталоном будет полное отсутствие подкачки: sr=0 и po=0),
можно считать, что проблемы подкачки нет. Еще одна ко-
манда – sar. Вывод команды sar при малой загрузке ОЗУ: До версии 7 операционной системы Solaris страни-
цы файлового кеша и страницы памяти, отображаемые
# sar -g 5 5 на swap, имели одинаковый приоритет, вследствие чего ак-
тивность дискового кеша вносила путаницу в потребности
в памяти. В версии 8 и выше эта проблема устранена. Ес-
ли в последних трёх колонках мы видим большие цифры,
то, возможно, пора переходить к проверке дисков (в дан-
ном случае работает команда find). А вот если присутству-
Сплошные нули в колонках не являются самоцелью, это ют большие значения в колонке api, apo, apf, то необходи-
скорее показатель избытка оперативной памяти. В нормаль- мо проверить запросы процессов к памяти системы. Вы-
но работающей системе всегда кто-то запрашивает допол- полним команду prstat с сортировкой по объёму виртуаль-
нительную память, кто-то её освобождает, пишет или чи- ной памяти:
тает, но если обычная нагрузка была 100, а стало 100 000,
это плохой знак. В операционной системе Solaris систе- $ prstat -a -s size
ма виртуальной памяти, кеш файловой системы и каталог
/tmp используют общий пул свободной оперативной памя-
ти, распределяемый динамически, вследствие чего колон-
ка free в выводе команды vmstat малоинформативна. Про-
верим, что происходит с файлом подкачки:
# /usr/sbin/swap -l
swapfile dev swaplo blocks free
/dev/dsk/c1t0d0s1 118,1 16 8389632 6532608
# iostat -zxnp 1
Мы видим, что подкачки практически нет. И на после- Вывод этой команды показывает процессы, отсорти-
док, в ОС Solaris (начиная с версии 8) есть чудесная ко- рованные по размеру используемой виртуальной памяти
Следить за загрузкой дисков существенно проще. Про- Вывод команды iostat во время записи на магнитную
ведём несколько тестов. Например, с помощью пакета ленту:
iozone [3]. Откроем несколько терминальных сессий и за-
пустим команды. $ iostat -zxnp 1
В первой сессии:
$ iostat -zxnp 1 Если с точки зрения памяти или процессоров у нас всё
в порядке, тогда нам осталось рассмотреть сеть и про-
цессор.
Мониторинг сети
Команда показывает ввод-вывод по разделам дисков. Если Начнём, как всегда, с теста. Снова создадим несколько
добавить к этой команде ключ -C – «iostat ‑zxnpC 1», к пока- сессий: в одной запускаем тест сети. В другой – команду
занной статистике прибавятся агрегированные показатели «sar ‑u 1 5», в третьей – команду «netstat».
по контроллерам. Конкретные цифры, конечно же, строго
индивидуальны, но если объёмы (kr/s, kw/s) или время опе- $ /usr/sbin/spray datatarget -c 100000000
…
рации ввода-вывода (asvc_t/actv) значительно выше обыч-
ного, это говорит о повышенной нагрузке на систему диско- Вывод команды sar при работе приложения, нагружаю-
вого ввода-вывода. Ещё один важный параметр %b – сте- щего сеть:
пень загруженности диска (в процентах от времени интер-
вала измерения). Часто он даже важнее, чем значения объ- $ sar -u 1 5
ёмов передаваемых данных kr/s и kw/s, поскольку дисковые
операции могут отличаться по размеру фрагмента (боль-
шие и маленькие), кратности (кратные размеру блока и про-
извольной величины) и способу доступа (с последователь-
ным и произвольным доступом). В отдельной сессии рас-
смотрим, как работает во время теста процессор системы.
Запустим команду «sar -u 1 5». Мы можем наблюдать по-
вышенное значение в колонках %sys и %wio, которое слу- Вывод команды netstat – количество пакетов, переда-
жит одним из признаков присутствия нагрузки ввода-вы- ваемых по сети:
вода и иллюстрирует возможную погрешность, которая мо-
жет возникнуть, если мы начнём анализ нагрузки с наблю- $ netstat -I ce0 1
дения за процессором.
Вывод команды sar во время операций ввода-вывода:
$ sar -u 1 5
50
администрирование
Современные Ethernet-адаптеры подключаются к ком-
мутаторам в режиме full-duplex, по этой причине воз-
никновение ошибок и коллизий маловероятно и являет-
ся не столько индикатором избыточной нагрузки на сеть,
сколько показателем аппаратных проблем. Поэтому более
интересен объём трафика в килобайтах в секунду. Можно Еще одним интересным показателем в листинге выво-
воспользоваться утилитой ifstat [4]. да команды vmstat является первая колонка – r под заго-
Вывод команды ifstat – количество килобайт, переда- ловком procs, которая показывает количество процессов,
ваемых по сети: готовых к выполнению и ожидающих, когда для них ос-
вободится процессор. Если при значении idl=0 это число
$ ifstat -t 1 значительно больше, чем число процессоров, то это гово-
рит о нехватке ресурсов процессора, особенно если оче-
редь ещё и растёт.
Если в системе несколько процесоров, посмотреть на-
грузку по процессорам поможет команда mpstat, посмот-
рим некоторую произвольную нагрузку:
$ vmstat 1
Последние три колонки показывают нагрузку на про- В команде prstat существуют также опции «-v» или «‑m»
цессор usr, sys, idl (%wio + %idle). Вот что показывает одно- для более подробного вывода (см. рис. 1).
временно запущенная команда «sar -u», нагрузка на диск Можно, конечно, воспользоваться и стандартной коман-
и процессор: дой ps (SunOS/BSD compatibility command):
52
администрирование
Нововведения
в Solaris 10:
на что обратить
внимание админу?
Алексей Коробкин
Современная версия ОС Solaris 10 содержит в себе большое количество нововведений
и уникальных технологий, что даже бывалые администраторы не успевают уследить
за всеми появившимися возможностями.
П
олный список нововведений вы Зоны слишком дорогое, поддержка мно-
можете посмотреть по ссыл- Классическое IT-правило «один сер- жества серверов тоже недешевая,
ке [4], а я попытаюсь нагляд- вис – один сервер» практически ни- да и чересчур много систем прихо-
но показать основные преимущества когда не удается реализовать из‑за не- дится администрировать сразу – не-
Solaris нового поколения. хватки средств и ресурсов. «Железо» возможно уследить ни за обновлени-
54
администрирование
ями, ни за пользователями. Стоимость IT-инфраструктуры Попробуем самостоятельно создать такую конфигу-
с каждым новым сервером возрастает в геометрической рацию:
прогрессии. Чтобы всё-таки приблизиться к идеалу и уп-
ростить работу администраторов, в Solaris была реализо- # zonecfg -z web
вана концепция контейнеров (containers), иначе называе- web: No such zone configured
мых зонами (zones). Use 'create' to begin configuring a new zone.
# zoneadm list -cv Если ошибок нет, то зона запустится. Посмотрим со-
ID NAME STATUS PATH стояние:
0 global running /
- web configured /z/web # zoneadm list -cv
Зона «сконфигурирована», но операционная система ID NAME STATUS PATH
туда не установлена. Выполним установку: 0 global running /
1 web running /z/web
56
администрирование
настройку зоны в zonecfg. А чем меньше команд, тем мень- Вернемся к Apache и разрешим ему работать. Сна-
ше вероятность ошибиться. чала дадим ему какой-нибудь файл конфигурации, а по-
Посмотрим, какие файловые системы у нас подклю- том включим службу. Название службы, кстати, мож-
чены: но указывать и целиком, как svc:/network/http:apache2,
и частями.
# df -n
/ : zfs
# cp /etc/apache2/httpd.conf-example ↵
/etc/apache2/httpd.conf
/dev : lofs
# svcadm enable http
/lib : lofs
/platform : lofs
/sbin : lofs Нет необходимости перебирать ссылки в /etc/rc?.d,
/usr : lofs
/proc : proc
как это приходилось делать раньше – сервис просто за-
... пустился и работает. И будет впредь запускаться автома-
тически при загрузке зоны.
Про удивительную новую файловую систему ZFS я
расскажу в следующей статье, а пока обратите внима- # pgrep -fl http
ние на файловые системы, которые значатся как lofs. 7797 /usr/apache2/bin/httpd -k start
Это файловые системы глобальной зоны, доступные толь- 7801 /usr/apache2/bin/httpd -k start
7799 /usr/apache2/bin/httpd -k start
ко для чтения. 7800 /usr/apache2/bin/httpd -k start
7795 /usr/apache2/bin/httpd -k start
# touch /usr/test 7798 /usr/apache2/bin/httpd -k start
58
администрирование
Сергей Яремчук
Установить и настроить надежную, всесторонне защищенную систему на сервер не такая уж
и легкая задача. Упростить ее можно, только правильно подобрав дистрибутив и компоненты
будущей системы.
Дистрибутив tinysofa Основой первых версий этого дис- Enterprise Linux (включая ядро и ра-
Ц е л ь а в с т р а л и й с к о г о п р о е к т а трибутива служил коммерческий дис- бочее пространство), поэтому при от-
tinysofa (http://www.tinysofa.org) – со- трибутив Trustix Secure Linux, кото- сутствии в репозитарии tinysofa необ-
здание быстрой, надежной, стабиль- рый, в свою очередь, базировался ходимых пакетов их всегда можно бу-
ной и безопасной операционной систе- на Red Hat. В середине октября вы- дет взять с RHEL. Проблем с их уста-
мы, которую можно применять на сер- шел релиз tinysofa classic server 2.0 новкой не будет. Все пакеты, входящие
верах уровня предприятия, которая ос- Update 6 (Ceara), о котором и будет в состав дистрибутива, собраны с i586
тавалась бы в течение своего жизнен- идти речь далее. Второй релиз также оптимизацией, доступна и x86_64-вер-
ного цикла свободной (As in beer). При- основан на Trustix 2.1 и Fedora Core. сия. Для работы с пакетами использу-
чем цели проекта, можно сказать, гло- В частности, набор пакетов аналоги- ется APT, с помощью которого можно
бальные – стать де-факто серверным чен Trustix. Хотя есть и изменения, так легко и просто устанавливать прило-
дистрибутивом Linux, заполнив нишу как некоторые идеи взяты с дистри- жения и исправления в безопасности.
свободных решений, предназначен- бутивов SUSE и Conectiva. Дистрибу- Начиная со второй версии в дистри-
ных для этой цели. тив полностью совместим с Red Hat бутиве дополнительно к APT для ра-
60
администрирование
боты с пакетами также используется
и SmartPM. Вокруг дистрибутива об- Преимущества и недостатки циальные группы выпускают критические
разовалось большое комьюнити, чле- в использовании «обычного» обновления, упрощая поддержку систе-
ны которого составляют группу под- дистрибутива для сервера мы в самом актуальном состоянии. Неко-
держки пользователей tinysofa и дист- Первый вариант, который приходит в го- торые коммерческие приложения доступ-
рибьюторов пакетов. лову при попытке выбрать систему для ус- ны в скомпилированном виде, для наибо-
Безопасность является для tinysofa тановки на сервер, – использовать обыч- лее популярных дистрибутивов.
приоритетом номер один. Перед выхо- ный дистрибутив вроде ALTLinux, ASP Linux, В то же время есть и минусы. Дистри-
дом дистрибутив тщательно тестирует- SUSE или что-то из RedHat/Fedora, в ко- бутивы широкого применения собирают-
ся на огромном количестве критичес- тором оставить только самые необходи- ся не с самыми оптимальными для серве-
ких задач. В конфигурации по умолча- мые пакеты. ра параметрами. И, как правило, после ус-
нию стартует всего один сетевой сер- Преимущества: использование одного тановки, даже в самой минимальной кон-
вис – Postfix, привязанный к интерфей- дистрибутива для сервера и клиентов зна- фигурации, содержат большое количество
су 127.0.0.1. Решение о запуске осталь- чительно упрощает поддержку. В репози- лишних пакетов. Кроме того, в таких дис-
ных администратор принимает само- тариях многих популярных решений можно трибутивах установленные сервисы стар-
стоятельно после их настройки, на- найти готовые пакеты на все случаи жиз- туют сразу же после инсталляции, с пара-
чальные значения в конфигурацион- ни, которые легко устанавливаются. Спе- метрами по умолчанию.
ных файлах этих сервисов также вы-
браны с учетом максимальной защи- ря на то, что на сайте DistroWatch.com По умолчанию устанавливает-
щенности. в списке поддерживаемых файло- ся и драйвер экспорта блочных уст-
В текущем релизе использова- вых систем были указаны только ext2 ройств DRBD 0.7.14. И пакет UCARP 1.1
но ядро 2.6.16 с поддержкой SELinux и ext3, при форматировании можно (Common Address Redundancy Protocol),
и grsecurity, переработанная PAM-ау- также указать ReiserFS, VFAT, а также использование которого позволяет ор-
тентификация, допускающая настрой- Soft-RAID. Путаница может возникнуть ганизовать совместное использова-
ку контроля доступа в рамках всей только при указании размера разде- ние IP между несколькими сервера-
системы. В компиляторе gcc 3.4.3 ис- ла. Доступны три варианта: Fixed size, ми в локальной сети, что может при-
пользована система защиты от «сры- Fill maximum size on MB и Fill all aval годиться для балансировки нагруз-
ва» стека («stack smashing»), разрабо- table space. ки (IP одновременно используют все
танная в корпорации IBM. После создания и форматирова- сервера) или для создания отказоус-
ния разделов – установка загрузчика тойчивых систем.
Установка сервера на выбор – GRUB или LILO. Есть и wireless-tools, Squid, базы
tinysofa Этап настройки сети стандартен. данных MySQL 4.1.21 и PostgreSQL
Дистрибутив прост в установке. Если Выбираем сетевой интерфейс, указы- 7.4.13. Для настройки PPPoE-соеди-
вы сталкивались с ранними версиями ваем IP-адрес, сетевую маску, адреса нения в комплект включен RP-PPPoE,
Red Hat или Trustix, то не найдете ниче- DNS-серверов и автоматическую ак- с помощью которого это можно проде-
го нового. Образ диска, который мож- тивацию при загрузке. лать за пару минут. Достаточно ввес-
но получить на сайте проекта, по раз- Далее – настройка под держи- ти adsl-setup (в новых версиях паке-
меру небольшой – 350 Мб. ваемых вариантов ау тентифика- та pppoe-setup) и ответить на все воп-
Весь процесс установки прохо- ции. По умолчанию включены толь- росы. Всего в дистрибутиве доступно
дит в псевдографической среде. Хотя ко Use Shadow Password и Enable MD5 604 пакета.
здесь нет красоты, какой могут пох- password. Здесь же можно добавить Как говорилось, по умолчанию за-
вастаться современные дистрибути- поддержку NIS, LDAP и Kerberos, ак- пускается только один сервер Postfix,
вы вроде SUSE и Mandriva, зато с фун- тивировав опцию и заполнив предла- после установки пакетов администра-
кциональностью все в порядке. Интер- гаемые параметры. тору предлагается активировать еще
фейс англоязычный, других вариантов В небольшом по размеру дистри- и сервер SSH. Все остальное доводит-
не предусмотрено. Пользователь, ус- бутиве выбирать пакеты легко, тем ся на уже рабочей системе.
танавливающий tinysofa, будет после- более здесь нет групп и подгрупп, Без сомнения, дистрибутивы вро-
довательно проведен по всем этапам, в которых можно запутаться. Есть де tinysofa classic server ориентирова-
зная необходимые параметры, преодо- несколько базовых групп пакетов, ны на опытных администраторов, ко-
леть их можно будет минут за пять. предлагаемые к установке серверы торые хотят полностью контролиро-
Помимо CD-ROM поддерживает- (AppleTalk, IMAP Server (Cyrus, dovecot), вать процесс установки и настройки
ся установка с раздела жесткого дис- OpenSSH, OpenLDAP, Apache, Samba, системных сервисов, знакомы с осо-
ка, NFS, FTP и HTTP. Можно прове- DHCP, vsftpd, tftp и другие) представ- бенностями работы входящих в его
рить установочный диск на наличие лены отдельными позициями. Выбор состав приложений и имеющие неко-
ошибок. Developers позволит включить весь торое время на его доводку. Но зато
На этапе создания разделов мож- представленный набор средств раз- в свои руки вы получите стабильную,
но выбрать автоматическое разби- работки (PHP 5.0.4, Python 2.4.2, GCC безопасную и предсказуемую систему,
ение диска, использовать Disk Druid 3.4.3, Ruby 1.8.2, subversion 1.1.3, nasm которую просто поддерживать в акту-
или ручной (fdisk) вариант. Несмот- 0.98.39 и другие). альном состоянии.
Даниил Никифоров
Кто из вас, имеющих в распоряжении серверную, не сталкивался с проблемой «бороды»
из проводов на лицевой стороне стойки? Раздражает, не даёт спокойно спать. Хочется навести
порядок, чтобы не было ни одного лишнего проводочка. С чего начать?
62
серверная
П
оводом написания статьи стала
долгая дискуссия о том, как же
этот порядок навести. Не полу-
чив конкретных советов и не найдя ни-
чего стоящего в Интернете, я пошёл
в серверную и начал творить.
Коротко обрисую проблему. Eсть
стойка, в которой собрано актив-
ное оборудование и кроссовые бло-
ки (далее всё будем называть блока-
ми). Каждый блок имеет хотя бы один
порт (за исключением системы охлаж-
дения и т. п.) для соединения с дру-
гим блоком. Если у вас много блоков
и у каждого много портов, то огром-
ное количество соединительных про-
водов со временем закрывают всё
в стойке, и уже непонятно, что с чем
соединено.
Для успешного решения этой про-
блемы необходимы две составляю- Рисунок 1. Пример документирования имеющихся блоков и соединений
щие:
n аккуратная укладка проводов;
n документирование всех соедине-
ний (см. рис. 1).
Рисунок 4. Как убирать небольшие излишки Рисунок 5. Получившийся шлейф размещайте между двумя блоками
64
серверная
2. Смотрим, откуда нужно произвести чено к неверному оборудованию n Я предпочитаю важные прово-
переключение на выбранный порт. в другой (к примеру, вы считаете, да (типа связи офисов) пускать
У нас с 5-го. что у вас на магистрали уже висит за стойкой, дабы что-нибудь с ни-
3. Записываем в план переключение сервер, а там по-прежнему комму- ми случайно не сделать. К портам
с пятого на седьмой. татор). они выходят через зазоры.
4. Помечаем их цветом, это переме- n Своевременно вносите сделанные n Старайтесь равномерно распреде-
щение уже в плане. изменения в документацию. лять провода.
n Предупреждайте пользователей n Часто от одной панели до другой
Далее повторяем эти действия о возможных отключениях. идёт несколько проводов. Скреп-
для следующего порта. 5-й становится ляйте их стяжками, потом проще
свободным, и на него можно перемес- Как избавиться будет искать в большом вертикаль-
тить следующее соединение. Смотрим от «бороды» ном пучке (см. рис. 6).
вниз (К4.4), находим в исходном, запи- Итак, план есть. Теперь идём в сер- n К одному горизонтальному орга-
сываем, помечаем. И так далее, пока верную и начинаем наводить поря- найзеру провода могут тянуть-
цепочка не прервётся пустым портом док. Во-первых, при монтаже обору- ся с 4 сторон (лево-верх, лево-
в «идеальном» варианте. Тогда берём дования в стойку, нужно оставлять низ, право-верх, право-низ). Чтоб
следующий пустой порт и опять про- просветы (1-2 болта сверху и снизу), не было путаницы и переплетений
делываем то же самое. В результате куда можно будет убрать небольшие в проводах на органайзере, клади-
все порты должны быть закрашены, излишки провода. Разводку сзади на те провода в одной последователь-
а на листе по порядку записаны все не- коммутационные панели лучше за- ности этих сторон. То есть сначала
обходимые манипуляции. То же самое крыть крышкой, дабы потом случай- все провода со стороны лево-верх,
при перекоммутациях на нескольких но их не зацепить. Также хорошо бы потом все от лево-низ и т. д. Прово-
панелях и нескольких шкафах. ставить органайзеры через каждые да одной стороны скрепляйте стяж-
Обратите внимание! 2 блока. Всё это незначительно пов- ками. Таким образом, потом легко
n Не все порты равноценны (как в на- лияет на полезную площадь, но даст можно будет понять, как протянуть
шем случае). Для этого как раз больше возможностей для манёвров провод по органайзеру (какие про-
и нужен первый шаг, чтобы точно с проводами. вода оставить впереди, какие сза-
убедиться, что куда можно и нельзя Рекомендации на основные слу- ди), и никакой паутины и распуты-
подключать. Не воткните случайно чаи: вания впоследствии (см. рис. 7).
станцию в гигабитный канал, а сер- n Если провод чуть длиннее своего
вер в мегабитный. пути или вы соединяете близко ле- Таким образом, мы навели поря-
n При перекоммутациях через магис- жащие порты, то поместите коль- док, аккуратно уложили провода, и ра-
траль не забывайте отмечать со- цо в зазор между панелями, концы ботать с ней теперь одно удовольс-
ответствующие изменения в дру- снаружи скрепите стяжкой, чтобы твие. При этом, я думаю, мы сэконо-
гой стойке и проверять в принципе потом не искать, где какой провод мили время (по сравнению с полным
возможность этих изменений. входит и выходит. Как ни странно, отключением всех проводов), выпол-
n Опять же при магистралях жела- петли практически не цепляются няли работу планово в течение дня,
тельно друг за другом сразу делать друг за друга (см. рис. 4). а не в авральном режиме, и не вызва-
переключения в обеих стойках, да- n Если провод очень длинный, мотай- ли длительного отключения всего сег-
бы избежать того, что оборудова- те кольцом и поместите на боковую мента, т.к. одновременно было отклю-
ние в одной стойке будет подклю- сторону или за стойку (см. рис. 5). чено только одно соединение.
Сергей Яремчук
Как с минимальными финансовыми и временными затратами настроить эффективную систему
борьбы со спамом и вирусами, рассылаемыми посредством электронной почты? Попробуем
решить эту проблему с Message Processing Platform (MPP) Free Edition.
В
Интернете сегодня можно най- или Amavisd, но гораздо проще в на- ние очень просто в установке, потребу-
ти много описаний построе- стройке. При этом в MPP возмож- ется наличие в системе лишь несколь-
ния систем защиты электрон- ны установка максимального разме- ких основных компонентов:
ной почты, для реализации некото- ра проверяемых сообщений, подпись n операционная система – GNU/Linux
рых из них требуется определенный проверенных писем, фильтрация вло- приблизительно от RH 8.0 и вы-
опыт. Администраторы, хорошо зна- жений по расширению, обработка ис- ше, точно работает в Ubuntu 6.06
ющие Windows, не всегда в состоя- ключений и прочее. Сообщения, по- и Debian 3.0, FreeBSD от 4.8 и вы-
нии быстро разобраться со всеми осо- мещенные в карантин, могут хранить- ше, 5.x (ветка 4 рекомендуемая),
бенностями UNIX. Проект MPP Free ся в текстовом виде либо в базе дан- MacOS X от 10.2 и Solaris 8/9;
Edition [1] предлагает, можно сказать, ных MySQL. Веб-интерфейс, реали- n поч то вый с ер вер – Sendmail,
идеальный инструмент, позволяющий зованный с помощью модуля Webmin, Postfix, CommuniGate, QMail или
быстро развернуть систему борьбы обеспечивает настройку работы, кон- SurgeMail;
со спамом и вирусами, основанную троль в реальном времени, управле- n SpamAssassin от 3.x и ClamAV 0.8
на ClamAV и SpamAssassin, не усту- ние карантином и спамом, внесение и выше;
пающую по эффективности, напри- отправителей в черный и белый спис- n опционально для настройки через
мер, таким решениям, как MailScanner ки, просмотр журналов работы. Реше- веб-интерфейс – Webmin.
66
безопасность
Фактически MPP Free Edition является первой верси- [17:23:37] 6 [63168] [Daemon] Masking signals.
ей решения MPP, которую компания решила раздавать [17:23:37] 8 [63168] [Config] Start loading config file /usr/local/
MPP/mppd.conf
всем бесплатно. Ходят слухи о возможном распростране- [17:23:37] 8 [63168] [Config:InitializeList] [Config] insert suc-
нии под лицензией GNU GPL, но пока дальше разговоров cessful ALL DOMAINS
[17:23:37] 8 [63168] [Config:InitializeList] [debug] dump list
дело не пошло. Поддержка реализована только посредс- [17:23:37] 8 [63168] [Config:InitializeList] ALL DOMAINS
твом электронной почты, без гарантии того, что вам отве- [17:23:37] 6 [63168] [Daemon] Changing user/group.
тят. Коммерческая версия продукта MPP v3 обеспечивает [17:23:37] 6 [63168] [Daemon] Switching to daemon mode.
4289 ? Ss 0:00 /usr/lib/postfix/master
на порядок большую функциональность. Здесь возможна
совместная работа со многими коммерческими антиви- Completed setup.
русными и антиспам-решениями, фильтрацию вложений
не только по расширению, но и по имени файла и содер- Вот, собственно, и все по установке MPP. В конфигу-
жимому, SNMP-мониторинг, усовершенствованный поль- рационном файле в /etc/postfix/main.cf почтового сервера
зовательский интерфейс. Кроме того, для этой версии до- Postfix появится следующая запись:
ступен интерфейс QReview 2.0, позволяющий просматри-
вать и управлять спам-карантином, в версии Free спам-ка- # -- Added for MPP --
content_filter = smtp:localhost:10025
рантином может управлять только администратор. Поэто- # -- end --
му Free Edition подойдет больше для небольших организа-
ций. На сайте проекта сказано, что предыдущая GPL-вер- Оригинальный файл будет сохранен в /etc/postfix/
сия QReview для загрузки не доступна, хотя файл [3] спо- main.cf.mbk.
койно лежит на ftp-сервере. Сравнительная таблица про- Аналогично и master.cf будет скопирован в master.cf.mbk,
дуктов приведена в [2]. и в нем появятся следующие строки:
# -- Added for MPP --
Установка MPP localhost:10026 inet n - n - 10 smtpd
Программа устанавливает все необходимые библиотеки -o content_filter=
ClamAV, сценарии конфигурации автоматически обновля- -o local_recipient_maps=
-o relay_recipient_maps=
ют файлы сервера электронной почты. Поэтому установка -o myhostname=localhost.domain.tld
MPP очень проста. Для загрузки доступно несколько фай- -o smtpd_helo_restrictions=
-o smtpd_client_restrictions=
лов. Так как в качестве тестовой платформы использовался -o smtpd_sender_restrictions=
дистрибутив Ubuntu 6.06 LTS, поэтому для установки MPP -o smtpd_recipient_restrictions=permit_mynetworks,reject
был выбран архив mpp‑free‑1.2-113.Linux.i386.tar.gz. Распако- -o mynetworks=127.0.0.0/8
# -- end --
вываем и запускаем скрипт ./instal.sh. Во время его работы
возможны ошибки, по окончании дается рекомендация: Все рабочие файлы MPP будут помещены в /usr/local/MPP/,
кроме того, в /etc/init.d/ появится скрипт, предназначенный
Please run /usr/local/MPP/configure.pl to automatically configure
mpp and your mail server.
для управления работой демона mppd:
on_encrypted_message = pass
Рисунок 1. Настройка MPP через Webmin Хотя в этом случае разрешено ис-
68
безопасность
пользование тех же значений, что и
в on_infection. Максимально разре-
шенный размер вложений, которые
будет проверять MPP на наличие ви-
русов, в установках по умолчанию
равен 10 Мб. Изменить это значение
можно в max_file_size, указав чис-
ло в мегабайтах. Действие при пре-
вышении этого предела устанавли-
вается в on_max_file_size_exceeded
и может принимать значение pass
(по умолчанию), quarantine или discard.
Аналогично и max_recursion_level
с on_max_recursion_level_exceeded от-
вечает за рекурсивную проверку вло-
жений. Число 50, стоящее по умолча-
нию, мне кажется, несколько завыше-
но. Как уже говорилось во введении,
MPP может блокировать вложения
с указанными расширениями. За это
отвечает параметр block_extensions, Рисунок 2 Редактирование шаблона
в качестве значений которого через
запятую прописываются все расши- жении спама: marksubject, markheader, с помощью которого новые базы бе-
рения файлов, которые администра- forward, quarantine, discard: рутся с сайта разработчика MPP (ftp://
тор считает опасными. Реакция при об- ftp.raeinternet.com/pub/clamav), запус-
наружении такого файла описана spam_action = marksubject кая его через cron (это можно настро-
в block_extensions_action. Целый блок ить прямо из Webmin), так и вручную,
параметров alert_admin, alert_sender, И конкретизируем значение по- воспользовавшись меню «Control»
alert_receiver определяет отсылку уве- ля тема: и нажав кнопку «Virus Update».
домлений соответствующим участ- Не смотря на то что написано мно-
никам пересылки. От имени кого от- spam_marksubject = SPAM-%SUBJECT% го, MPP можно настроить за полчаса,
сылаются сообщения, указываем естественно, при условии, что все ос-
в alert_message_sender. При необходимости можно указать тальные компоненты уже готовы к ра-
Параметр quarantine_method опре- адрес, на который будет пересылать- боте. После чего она исправно будет
деляет форму хранения файлов, со- ся весь обнаруженный спам, который отсеивать вирусы и распознавать спам,
держащих вирусы или спам, в каран- можно будет использовать, например, защищая пользователей.
тине. По умолчанию такие сообщения при обучении фильтров: Успехов.
хранятся в текстовом файле:
spam_forwardaddr = ↵ 1. Сайт проек та MPP Free Edition –
%EMAILID%-spam@%DOMAIN%
quarantine_method = file http://messagepartners.com/products/
Аналогично ситуации с вирусами, mpp_free_edition.html.
Если планируется использование используя инструкцию spam_inbound_ 2. С р а в н и т е л ь н а я т а б л и ц а в е р -
для этих целей MySQL, измените его на whitelist и spam_outbound_whitelist, сий Free Edition и MPP v3 – http://
sql. Для создания необходимых баз в можно указать белый список адреса- messagepartners.com/products/
архиве имеется скрипт spam-mysql.sql. тов, входящие или исходящие сооб- compare-mpp.php.
В этом случае активируйте и следую- щения которых не будут проверяться 3. G P L в е р с и я Q R e v i e w – f t p : / /
щие параметры, установив необходи- на спам. Максимальный размер сооб- ftp.raeinternet.com/pub/mpp/
мые значения: щений, проверяемых SpamAssassin, qreview-0.6.tar.
по умолчанию равен 32 Кб, изменить 4. Яремчук С. Упрощаем себе жизнь
sql_type = mysql его можно в spam_max_scan_size. с Webmin. //«Системный администра-
sql_database = spam
sql_host = localhost После изменений параметров пе- тор», № 7, 2004 г. – C. 34-37.
sql_user = user резапускаем демон mppd. Для про- 5. Яремчук С. Roaring Penguin CanIt:
sql_password = password
верки правильности настройки рабо- ведём борьбу со спамом. //«Систем-
Далее в файле идут настройки про- ты антивируса и антиспам-подсистем ный администратор», № 7, 2006 г. –
верки почты SpamAssassin: в архиве MPP имеются файлы gtube- C. 16‑22.
eicar-test.msg и test.msg. Обновления 6. Яремчук С. Защищаем электронную
spam_filter = yes ClamAV производятся стандартны- почту средствами MailScanner. //«Сис-
ми методами, кроме того, в постав- темный администратор», № 12, 2005 г. –
Определяем реакцию при обнару- ке MPP есть скрипт clamavupdate.sh, C. 45-51.
70
bugtraq
Иван Максимов
Начало 90-х годов прошлого века ознаменовалось выпуском игровых программ, в будущем
закрепивших за собой звание «культовых». Эти игры к настоящему времени устарели,
но энтузиасты сообщества Оpen Source возродили многие из них.
О
pen Source-сообщество зна- 90-е годы прошлого столетия. Как на» Сидом Мейром (Sid Meier) на ЭВМ.
ет много историй падения ком- много было выпущено замечатель- Через некоторое время состоялся вы-
мерческих проектов и зарож- ных игр в то время – период возник- ход продолжения Civilization, породив-
дения на их основе свободных, в пос- новения новых идей и новых жан- шего многочисленные клоны (включая
ледствии завоевавших доверие мно- ров! Наверное, сложно найти челове- «Колонизацию»), но оригинальной иг-
жества пользователей. Так случилось ка, знакомого с компьютерами не по- ре не хватало очень многих вещей. С
с браузером Netscape Navigator, кото- наслышке, который бы ни улыбнулся увеличением мощностей ЭВМ графи-
рый не смог выдержать конкуренции при упоминании таких названий, как: ку удалось подтянуть, но не хватало
с аналогом от Microsoft. Но после от- Dune, Doom, Civilization, Kings Bounty, режима многопользовательской игры.
крытия исходных кодов проект полу- Transport Tycoon, Ufo, Colonization. Без- Именно по этой причине в 1995 году
чил «вторую жизнь», переродившись условно, эти игры устарели по многим стартовал проект FreeCiv, являющий-
впоследствии в знаменитый Firefox. параметрам, но их культовый статус ся, по сути, многопользовательской
Похожая судьба и у системы управле- не позволит им кануть влету. Поэтому версией «Цивилизации».
ния базами данных Interbase компании неудивительно, что энтузиасты со всех Итак, установив клиент игры, мы
Borland, которая после прекращениия концов света давно взялись за пере- увидим непритязательную графику
официальных работ над ней продол- работку и улучшение классики. Итак, и простой интерфейс, копирующие
жила своё существование под назва- в каком же состоянии эти проекты на- вторую часть «Цивилизации», но это
нием Firebird. ходятся сейчас? мнение обманчиво. Искусственный
Исследуя успешное развитие сво- интеллект компьютерных противни-
бодно распространяемых проектов, Civilization (FreeCiv ) ков очень силен, поэтому рекоменду-
среди всего многообразия ПО с от- Игру можно встретить почти в каждом ется вначале игры исследовать опции
крытым исходным кодом чаще всего дистрибутиве Linux, в любой системе игры (к примеру, лучше ввести запрет
можно встретить: программы для ра- портов/пакетов. В чем же секрет зна- на строительство городов на рассто-
боты с сетью и Интернетом, базы дан- менитой «Цивилизации»? Конечно же, янии менее пяти клеток). Перед иг-
ных, служебные утилиты и др. Сущест- в масштабе самой игры. Управление рой на официальных серверах луч-
вует еще одна область программного целой империей: научной, производс- ше потренироваться в однопользо-
обеспечения, в развитие которой сооб- твенной, военной областями затягива- вательском режиме, так как измене-
щество OpenSource внесло большой ет не на шутку. ний по сравнению с оригиналом в иг-
вклад, достигнув при этом немалых С чего все начиналось? Как мно- ре достаточно.
успехов и популярности. Это игровые гие думают с «Цивилизации» 1 на PC, Вопрос с устаревшей графикой
программы. Зайдя по ссылке [1], можно но это не совсем так. В конце 70-х – также решаем. На официальном сай-
найти тысячи свободно распространя- начале 80‑х годов появилась настоль- те FreeCiv [3] можно найти большое
емых игр (и закрытых портированных). ная игра Civilization. The board game [2]. количество патчей, один из которых,
Прежде чем мы пойдём дальше, вер- Получившая большую популярность, Freeland, значительно меняет облик
нёмся на десяток лет назад. эта игра была со временем «перенесе- игры (см. рис. 1).
72
хобби
Кроме патча на графику, на сайте
проекта находится множество других,
не менее интересных дополнений: кар-
ты островов Великобритании и Японии,
новые нации, редакторы карт, звуко-
вые эффекты и многое другое. Несмот-
ря на выход четвёртой части коммер-
ческой, полностью трехмерной «Циви-
лизации», FreeCiv выглядит очень до-
стойно: развитие игры не останавли-
вается (последняя доступная версия –
2.1.0-beta2 от 12 августа 2006 года),
постоянно обновляются уже сущест-
вующие патчи, появляются новые мо-
дули (тот же Freeland – относительно
«молодая» разработка).
Существенным плюсом является
свободная лицензия игры и, как следс- Рисунок 1. FreeCiv с патчем Freeland
твие, открытые исходные коды. По-
этому любой желающий может вне-
сти во FreeCiv свои изменения, благо,
на сайте можно найти очень интерес-
ные «рецепты». О популярности и ус-
пехе открытой «Цивилизации» можно
судить не только по количеству пат-
чей и многоязыковой поддержке (27
локализаций, включая русскую), но и
по количеству серверов поклонников
этой игры.
Подводя итоги, можно сказать,
что продолжение получилось очень яр-
ким. Энтузиастам удалось повторить
и расширить вселенную Civilization.
Учитывая то, что над FreeCiv офици-
ально работают 37 человек, – прекра-
щение развития этого Open Source-
проекта мы увидим ещё не скоро.
Сolonization (FreeCol)
Один из первых клонов «Цивилиза-
ции» – «Колонизация», созданная Рисунок 2. FreeCol
автором «оригинала» Сидом Мейе-
ром и выпущенная в 1994 году. Дейс- Для игры обязательно понадобит- лизация», но за время своего сущес-
твие игры происходит в Новом Све- ся Java от Sun Microsystems, поэтому твования приобрела немалое коли-
те (XV‑XVII века) во времена освое- зайдя на официальный сайт игры [4], чество фанатов. В Интернете до сих
ния европейскими государствами се- не забудьте пройти по ссылке [5] и ус- пор существуют сайты с обновлени-
вероамериканского континента. В иг- тановить интерпретатор языка. Итак, ями в виде карт, дополнений к ориги-
ре уменьшен масштаб (по сравнению установив игру, первое, что мы уви- нальной версии игры. Фанаты любят
с Civilization), но более проработана дим, неплохую графику. Это, конечно, именно оригинальную версию, про-
экономическая и торговая системы. не трехмерная «Цивилизация», но изо- должая рисовать карты и выпуская
Игроку доступны: четыре колониаль- метрическая карта выглядит достой- дополнения.
ные государства, десятки товаров, два но. Учитывая то, что по Интернету од- Кроме проекта FreeCol, в сети
десятка юнитов, неизведанные терри- но время ходили слухи о выходе вто- можно найти еще несколько клонов
тории с враждебно настроенными ин- рой части Сolonization, впоследствии Сolonization, но, к сожалению, раз-
дейцами и не более дружелюбными не подтвердившиеся, FreeCol вполне работка многих из них прекращена,
конкурентами. Проект FreeCol возник может сойти за «наследника» ориги- а другие слишком отклонились от идей
по тем же причинам, что и FreeCiv, – от- нала (рис. 2). оригинала.
сутствие у оригинальной версии воз- «Колонизация» получилась гораз- Из минусов FreeCol можно вы-
можности играть по сети. до менее популярной, нежели «Циви- делить лишь один: использование
74
хобби
рисованы намного лучше, чем в jdoom
(объем файла с текстурами в jheretic
на 10 Мб больше).
Конечно, всеми нововведениями
в jdoom, jheretic и jhexen нельзя удивить
современного игромана. В настоящее
время 3D-шутеры давно обладают хо-
рошей графикой и физической моде-
лью. Тем не менее выглядят DoomsDay
все же на уверенную четвёрку даже
по сегодняшним меркам. Пожалуй,
стоит отметить еще одну небольшую,
но приятную особенность: для игр не-
обходимы *.wad-файлы из оригиналь-
ных игр, но подойдут и дополнитель-
ные и сетевые карты (также являющие-
ся *.wad-файлами), созданные сторон-
ними разработчиками.
Итак, небольшой объем игры
(не более 100 Мб), новый удобный ин-
терфейс и графика, регулярное об-
новление (текущий релиз датирован Рисунок 5. UFO: Alien Invasion
28 мая 2006 г.) говорят о том, что про-
ект удался и в дальнейшем будет поль-
зоваться не меньшей популярностью.
76
хобби
шее в декабре 1995 года, ещё боль- Сводные данные об игровых программах
ше закрепило успех оригинала. В да- Windows Linux MacOS Размер src Размер win Оригинальные файлы
леком прошлом эти игры являлись FreeCiv + + + 14 8 –
главными конкурентами сериям Dune
FreeCol + + + 8 10 –
и Command & Conqueror производс-
DoomsDay + + + 70 71 +
тва Westwood Studios, соревновав-
OpenTTD + + + 4 2 +
шейся с Blizzard за звание «законода-
тельницы мод» в жанре стратегий в ре- UFO AL + + src 200 216 –
альном времени. Кто победил, мы уже WarGus + + src 0,5 1,5 +
знаем: про Westwood, купленную гига-
нтом игровой индустрии Electronic Arts, Более высокое разрешение позволя- скольких платформ и имеют неболь-
многие забыли (хотя грядущий C&C: ет видеть лучшую картину боя, вследс- шой объем. Как видно из таблицы, иг-
Tiberium Wars – очень «лакомый кусо- твие чего управлять войсками стано- ровые программы перенесены под все
чек»), тогда как Blizzard и её детище вится значительно легче. Еще одно но- наиболее распространенные опера-
живет и процветает по сей день. вовведение коснулось игры по сети, ционные системы.
WarCraft продолжил свое эволюци- введена поддержка протокола TCP/IP Пометка src в столбце MacOS оз-
онное развитие, и теперь мы можем (в оригинальной версии игра была до- начает, что в проекте нет *.dmg-фай-
наслаждаться многопользователь- ступна только через IPX-протокол ли- лов, доступны только исходные коды.
ской игрой в ролевом проекте World бо же NULL-модем). Размер проектов округлялся в боль-
of WarCraft. Но многие фанаты не хо- Сама WarCraft 2 не изменилась: шую сторону.
тят забывать оригинал. WarCraft 2 дав- сюжетная линия та же, новых юнитов Например, движок DoomsDay «ве-
но устарела, но в неё до сих пор игра- не замечено, но в игру добавлено все сит» всего 7 Мб, но текстуры ко всем
ют как в однопользовательском ре- самое необходимое для удобства иг- играм в проекте занимают около 60 Мб.
жиме, так и по сети. Как раз для таких рока. Что и следовало ожидать, пос- В общий объем не включен размер
фанатов и было разработано допол- кольку модификацию создавали фа- оригинальных файлов игр. Также сто-
нение WarGus. наты для фанатов. ит отметить, что OpenTTD – единствен-
Как говорится на официальном WarGus, конечно, не привлечет но- ный проект с поддержкой архитекту-
сайте проекта, WarGus – это «модифи- вых игроков в мир WarCraft, для этого ры amd64.
кация Warcraft 2, созданная фанатами больше подходит официальная тре- В Интернете раньше можно было
Warcraft 2, для себе подобных». Патч тья часть с множеством официальных встретить множество высказываний
основан на базе кроссплатформенного и неофициальных дополнений, а так- по поводу того, что хороших свобод-
движка Stratagus [9], с помощью кото- же WarCraft 2: Battle.net Edition, пред- но распространяемых игр с открыты-
рого были разработаны такие проекты, назначенная для игры через Интернет. ми исходными кодами не существует,
как: Battle of Survival, World Domination, Но игроки, желающие вспомнить бы- но, пожалуй, теперь это мнение мож-
Astroseries и другие. лые времена и увидеть «новое лицо» но опровергнуть.
Зай д я н а о ф и ц и а л ьн ы й с ай т любимой игры, должны обязательно Заканчивая материал, хочется
WarGus [10], скачаем архив дополне- воспользоваться дополнением. напомнить, что мы живем не толь-
ния. Нам также понадобится ориги- ко для работы, но и, как сказал Ли-
нальная часть игры. На сайте сказано, Выводы нус Тольдвальтс, «для развлечений»
что обязательно необходима CD-вер- Оригинальные версии игр навсегда («Just for fun»).
сия Warcraft 2, хотя вполне подойдет вошли в историю как родоначальники
обычный минимальный архив без ви- игровых жанров и по праву могут на- 1. T h e L i n u x G a m e To m e – h t t p : / /
деороликов (его легко найти на многих зываться лучшими. Связано это с тем, www.happypenguin.org.
фэн-сайтах; объем ~ 30 Мб) (рис. 6). что все идеи, которые были заложены 2. Производитель настольных игр – http://
Запустив игру, можно заметить, в них, используются по сей день, и но- www.eaglegames.net.
что весь WarCraft 2 стал более инфор- вые жанры придумать трудно. Энтузи- 3. Официальный сайт freeciv – http://
мативен. Проявляется это во всем: асты со всех концов света по разным www.freeciv.org.
например, если крестьяне собирают причинам не хотели оставлять эти зна- 4. Официальный сайт freecol – http://
дерево, шкала внизу покажет игроку, менитые проекты на пыльных полках. www.freecol.org.
сколько осталось времени до полного Одни улучшали игровой интерфейс, 5. Интерпретатор языка Java от Sun
сбора. Воины также имеют подобную другие создавали полноценные про- Microsystems – http://www.java.com/en.
шкалу, однако относится она к запасу должения с новыми миссиями и сю- 6. Jdoom – http://www.doomsdayhq.com.
их жизненных сил. Во время боя на эк- жетными линиями. Находились энту- 7. Официальный сайт игры OpenTTD –
ране отображается урон, наносимый зиасты, не желавшие мириться с тем, http://www.openttd.org.
существами друг другу («отлетающие» что их любимые проекты исказили 8. Сайт UFOAI Team – http://ufo.myexp.de.
цифры). Появилась очередь построек до неузнаваемости, и бравшие «все 9. Кроссплатформенный движок Stratagus –
в производственных зданиях. Выделе- в свои руки». http://stratagus.sourceforge.net.
ние объектов ранее было ограничено Все представленные OpenSource- 10. Сайт проекта WarGus – http://wargus.
девятью юнитами, теперь же его нет. проекты существуют в версиях для не- sourceforge.net.
78
bugtraq
Переполнение буфера
в Apple Mac OS X slpd
Целочисленное переполнение Программа: Apple Macintosh OS X 10.4.8 (8L2127)
при обработке UFS-образов в Mac OS X на x86‑платформе.
Программа: Apple Macintosh OS X 10.4.8, возможно более Опасность: Низкая.
ранние версии. Описание: Уязвимость существует из-за ошибки провер-
Опасность: Высокая. ки границ данных в SLP-демоне (slpd) при обработке поля
Описание: Целочисленное переполнение обнаружено attr-list в регистрационном запросе. Локальный пользова-
в функции ffs_mountfs() при обработке UFS-образов. Уда- тель может вызвать переполнение буфера и аварийно за-
ленный пользователь может с помощью специально сфор- вершить работу системы или выполнить произвольный код
мированного UFS DMG-образа вызвать переполнение ди- с повышенными привилегиями.
намической памяти и выполнить произвольный код на це- URL производителя: www.apple.com/macosx.
левой системе. Решение: В настоящее время cпособов устранения уязви-
URL производителя: www.apple.com/macosx. мости не существует.
Решение: В настоящее время cпособов устранения уязви-
мости не существует.
Илья Александров
Гигабайты информации. Ответ на любой вопрос. Сотни тысяч статей на всевозможные
темы. Безусловно, появление подобного ресурса было предрешено. Как вы уже догадались,
речь пойдёт о wikipedia.org.
80
ретроспектива
подобный подход возмутил – они счи- К ноябрю 2006 года английский
тали, что наполнение сайта непрофес- раздел «Википедии» мог похвастаться
сионалами все испортит. Кроме того, умопомрачительным количеством ста-
появлялась угроза вандализма со сто- тей – более полутора миллионов. Рос-
роны недоброжелательных пользова- сийский же сегмент имеет более скром-
телей. Посовещавшись, Уэйлс и Сэн- ные показатели – 124 000 статей.
гер вернули старый движок на Nupedia.
com, а для энциклопедии на базе тех- «Википедия» по-русски
нологии Wiki был зарегистрирован Как уже говорилось ранее, русский
сайт wikipedia.com, позже переехав- раздел «Википедии» был создан в мае
ший на домен в зоне .org. Это собы- 2001 года. Первая статья называлась
тие произошло 15 января 2001 года. «Россия», и ее содержание сводилось
Эта дата и считается днем создания к фразе «Россия – великая страна».
«Википедии». Первыми статьями про- Пару месяцев спустя какой-то остро-
екта стали материалы, перенесённые умный посетитель исправил содержа-
с nupedia.com. Все остальные статьи ние статьи на предложение «Россия – Джимми Уэйлс – создатель «Википедии»
писались уже добровольцами – обыч- родина слонов (ушастых, повышенной
ными пользователями Интернета. проходимости – см. мамонт)», причем вой информации. Благодаря подобной
В мае 2001 года «Википедия» ста- эта фраза провисела на главной стра- «рекламе» уже к концу года была на-
ла международным порталом – были нице около года и стала объектом шу- писана десятитысячная статья, и нако-
запущены разделы на русском, немец- ток пользователей Интернета. нец началось серьезное развитие рус-
ком, шведском, французском, испанс- Первым администратором русско- ского сегмента портала.
ком и других языках. го раздела стал Брайан Виббер (Brion В 2005 появились рубрики «Знае-
В 2002 году основатель wikipedia.org Vibber), русским не владевший совер- те ли вы, что…», «События дня», впер-
Ларри Сэнгер покинул своё детище. шенно. вые на русском вышли «Вики-новости».
Ларри критиковал проект за «антиэли- В 2003 году у энциклопедии нако- Летом того же года в Петербурге про-
таризм», подразумевая, что авторами нец появились первые активные авто- изошла первая wiki-встреча. Ее орга-
являются неспециалисты; обвинил его ры – Виталий Волков и Владимир Ме- низовали шесть «википедийцев», при-
в неуважении к экспертам. Примерно дейко (больше известный под ником нимающих активное участие в обнов-
в это же время прекратил свое сущес- Dr Bug). Оба получили статус «бюрок- лении энциклопедии.
твование ресурс Nupedia.com, к тому ратов» (о том, что представляют со- Наша «Википедия» является лауре-
времени окончательно растерявший бой статусы на «Википедии», мы пого- атом нескольких премий. На фестива-
свою популярность. ворим позже), что давало им дополни- ле «Интернить-2005» она была назва-
Количество статей в «Википедии» тельные возможности перед остальны- на «Сервисом года». В 2006 она по-
стремительно росло. 20 июня 2003 го- ми пользователями wikipedia.org лучила премию Рунета в номинации
да Уэйлс создает фонд «Викимедиа», К августу 2003 года суммарное ко- «Наука и образование».
организацию, занимающуюся подде- личество статей в русском сегменте И самое главное – летом 2006 го-
ржкой онлайновой энциклопедии. Фонд «Википедии» достигло пяти тысяч, од- да количество статей в русском раз-
также является создателем некоторых нако по сравнению с англоязычным ва- деле «Википедии» достигло ста ты-
родственных «Википедии» проектов. риантом эта цифра была смешной. сяч, благодаря чему он вошел в спи-
В 2004 году стартовала кампа- Примерно в это же время в одном сок самых успешных сегментов эн-
ния по сбору средств на развитие популярном компьютерном журнале циклопедии.
wikipedia.org. Начало оказалось успеш- была опубликована статья о Wikipedia,
ным, в результате чего энциклопедия вызвавшая большой приток новых Технология Wiki
по сей день продолжает существовать участников. Статья, написанная од- Говоря о «Википедии», нельзя не рас-
на выручку от пожертвований и гран- ним из администраторов русскоязыч- сказать о технологии, в честь которой,
тов. Впрочем, с финансами проблем ного раздела «Википедии», положила собственно, энциклопедия и получи-
никогда особо не было – в своё вре- начало серии публикаций об энцик- ла своё название. Главное достоинс-
мя по Сети ходил слух, что Уэйлс пот- лопедии и в других средствах массо- тво Wiki – возможность любого желаю-
ратил на раскрутку портала около по-
лумиллиона долларов. Используемое «Википедия» на бумаге получать по 50 центов. Кстати, уже сей-
ресурсом программное обеспечение, В последнее время стали всё чаще появ- час существует сервис «PediaPress». Лю-
к слову, исключительно свободно-рас- ляться предложения по изданию энцикло- бой желающий может выбрать необхо-
пространяемое: 39 серверов работают педии в бумажном варианте. Первой стра- димые статьи из англоязычной «Википе-
под управлением дистрибутива RedHat ной, осуществившей подобную задумку, дии», которые затем будут опубликованы
Linux, а движок MediaWiki (см. статью станет, скорее всего, Германия. Издатель- в виде единой книги. Печатью занимает-
«Работаем с MediaWiki» на стр. 84-91) ство «Zenodot» планирует к 2010 году вы- ся фирма «InstaBook». За каждый экзем-
написан на PHP и распространяется пустить на рынок сто томов «Википедии». пляр желающему придется выложить по-
бесплатно в виде исходных кодов. С каждой проданной книги портал будет рядка 80 евро.
Современные реалии
свободной энциклопедии
Идеология wikipedia.org – это прежде
всего бесплатность и свобода рас-
пространения информации. Основные
принципы «Википедии» закреплены
в так называемых пяти столпах:
1. «Википедия» – это энциклопедия.
Не беспорядочная свалка текстов,
не газета, не трибуна агитатора.
2. Авторы статей всегда придержи-
ваются нейтральной точки зрения.
Беспристрастность людей, напол-
няющих содержимым энциклопе-
дию, необходима для того, чтобы
Cтатья «Компьютер» прозвучали разные точки зрения,
чтобы читатель сам сделал вывод
щего добавлять свои материалы и ре- гия была создана для нужд его «пор- о предмете или событии, обсужда-
дактировать уже имеющиеся. Все из- тлендского хранилища образцов про- емом в тексте.
менения страниц постоянно сохраня- граммного кода», в котором находи- 3. Статьи «Википедии» являются сво-
ются, поэтому, если кто-нибудь удалит лись написанные им программы. Сло- бодными для использования и ре-
статью или напишет вместо нее какую- во Wiki он услышал, когда был на Га- дактирования. Все материалы эн-
нибудь гадость, вернуть прежнюю ко- вайях. На местном языке его можно циклопедии распространяются по
пию можно будет моментально. перевести как «быстро-быстро». Кста- лицензии GNU Free Documentation
Wiki – это базирующаяся на гипер- ти: этим словом на Гавайях называют License. Это означает, что каждый
текстовых ссылках среда, главное на- автобусы. может воспользоваться статьей
значение которой – хранение и струк- Технология Wiki изначально раз- из энциклопедии и исправить ее
туризация информации. Первая вер- рабатывалась в расчете на коллек- при условии, что материалы будут
сия Wiki была разработана еще в 1995 тивное взаимодействие пользовате- распространяться по той же лицен-
году программистом Уордом Каннин- лей, вследствие чего работать с движ- зии и в них будет ссылка на перво-
гемом (Ward Cunningham). Техноло- ком очень просто. Все функции све- источник.
82
ретроспектива
4. Каждый участник обязан соблю-
дать свод правил. Не оскорблять Родственные проекты Вот лишь некоторые из них:
других участников, сохранять ней- О фонде «Викимедиа», развивающем n «Абсурдопедия» (http://absurdopedia.
тральную точку зрения при работе и спонсирующем свободную энциклопе- wikia.com) – шуточная энциклопедия,
над «острыми» статьями, не пра- дию, я уже говорил. Также этот фонд под- созданная ради смеха. В ней обсужда-
вить чужую статью, если она уже держивает ряд других сайтов: ется то же, что и в «Википедии», толь-
полностью дописана и не нужда- n «Викитека» (http://ru.wikisource.org/ ко с саркастической точки зрения.
ется в дополнении. wiki) – онлайн-библиотека. Книги, ру- n «Анархопедия» (http://rus.anarchopedia.
5. Помнить о приведенных выше че- ководства. org) – энциклопедия для анархистов.
тырех правилах. Получать удо- n «Викисловарь» (http://ru.wiktionary.org/ n «Викизнание» (http://www.wikiznanie.
вольствие от работы на общее wiki) – собственно словарь. ru) – использует более свободную ли-
благо и помнить, что все опублико- n «Викиновости» (http://ru.wikinews.org/ цензию BSD. Материалы могут быть
ванные статьи сохранятся для по- wiki) – новостной интернет-портал. свободно использованы в других из-
томков. n «Викицитатник» (http://ru.wikiquote.org/ даниях, которым в свою очередь поз-
wiki) – цитаты известных писателей, волено изменить лицензию на любую
Успех Wikipedia доказал успеш- государственных деятелей, крылатые другую, например на GNU FDL. В «Ви-
ность такого подхода. Статистика эн- фразы. кизнании» допускается отклонение от
циклопедии поражает: 2,5 миллиар- n «Викисклад» (http://commons.wikimedia. нейтральной точки зрения, разрешены
да запросов в месяц и 200 языковых org/wiki/) – сайт, на котором хранятся рассуждения о чем-либо. То есть, ес-
разделов. Согласно опросам, «Вики- мультимедийные файлы, сопровожда- ли wikipedia.org основывается исклю-
педией» ежедневно пользуются 2,5 % ющие статьи на указанных выше ресур- чительно на фактах, здесь вы можете
от числа всех пользователей Интер- сах. прочитать текст вроде «Оружия четвер-
нета. той мировой войны».
В 2006 году бюджет wikipedia.org Выше перечислены все проекты, ко- n «Открытая энциклопедия» (http://
составил порядка 700 тысяч долларов. торыми занимается фонд «Викимедиа». open-site.org) – контролируется ре-
Источник дохода – фонд «Викимедиа» Но есть ресурсы, к нему отношения не име- дакторами, самостоятельно решаю-
и пожертвования пользователей. ющие, однако созданные под влиянием по- щими, публиковать статьи от авторов
Впрочем, иногда «Wikipedia» все- пулярности «Википедии». или нет.
таки подвергается нападкам со сто-
роны критиков. По их мнению, сла- Что касается ботовладельцев – Впрочем, участники не только
бым местом энциклопедии остается это участники, которые имеют воз- выясняют между собой отношения
угроза со стороны вандалов. Но дви- можность использовать специальные (без чего при огромном количестве
жок Wiki вместе с лозунгом «чинить скрипты для осуществления рутинных «википедистов» не обойтись), но и дру-
легче, чем ломать» себя полностью операций. желюбно общаются.
оправдал. Распределение участников по Для этого есть форум и специаль-
Журналисты «New-York Times» да- иерархии необходимо и для решения ные IRC-каналы. Впрочем, составите-
же провели простой эксперимент: спорных вопросов. Для этого есть не- ли энциклопедии сетевыми разгово-
они стерли несколько страниц, а в не- сколько путей. рами не ограничиваются и регулярно
которых статьях просто изменили да- Первый – голосование, которое встречаются в реальном мире.
ты. В течение часа все внесённые ими обычно проводится при утвержде- Ежегодно проводится междуна-
изменения были исправлены. нии стандарта написания. Например, родная встреча участников портала
«Фолклендские» или «Мальвинские» под названием «Викимания». На этой
Wiki-сообщество острова. Естественно, вариант, на- конференции, кроме неофициального
«Википедия» – это не только храни- бравший большее количество голосов, общения, обсуждаются текущие про-
лище информации, но и сообщест- будет утвержден. блемы портала, а также ведутся раз-
во людей, работающих над энцикло- Во время разрешений личных кон- говоры о новых идеях и разработках.
педией. На портале существует своя фликтов привлекаются администра- В 2005 году местом проведения «Ви-
иерархия. Наивысшую позицию в ней торы. кимании» стала Германия, в 2006 го-
занимают «Бюрократы». Они наделе- Например, в случаях, когда воз- ду – США.
ны правами переименовывать участ- никает спор авторов статьи на одну Регулярно проходят «Викивстре-
ников, делать их администраторами и ту же тему, посредник выбирает луч- чи» – мероприятия, на которые собира-
и ботовладельцами. В русской «Вики- ший вариант для публикации. ются участники проекта из близко рас-
педии» на данный момент существует И в совсем уж крайних случаях со- положенных населенных пунктов.
три бюрократа. зывается арбитражный комитет, со-
Администраторам позволено уда- стоящий из наиболее опытных и ува- При написании статьи были использо-
лять страницы, временно защищать жаемых «википедистов». Бюрокра- ваны материалы с портала wikipedia.org.
статьи от изменений, блокировать ак- ты и администраторы, совещаясь,
тивность других пользователей, если выносят свое решение по спорному Редактор рубрики
те нарушают правила. вопросу. Дмитрий Мороз
Работаем с MediaWiki
Посмотрел, Подумал, Поправил.
Евгений Балдин
84
web
П
ожалуй, вряд ли найдётся чело- MediaWiki под держивает про -
век, владеющий информацион- странства имён (namespaces). Напри-
ными технологиями, и в то же мер, все имена пользователей в русс-
время не слышавший о существова- коязычной Википедии регистрируют-
нии wiki. Wiki – это простая в освоении ся в пространстве имён «Участник:».
гипертекстовая среда. Технология поз- MediaWiki поддерживает механизм
воляет легко организовывать взаимо- категорий, что позволяет организо-
действие между людьми путём созда- вывать страницы по темам. А так как
ния «живой документации». Наиболее сами категории также являются спе-
известным и масштабным примером циально оформленными страницами,
применения wiki-технологий на сегод- то можно создавать сложные иерар-
ня, безусловно, является Википедия, хические структуры.
российский сегмент которой доступен Wiki-идею что, «Всё есть статья»
по адресу http://ru.wikipedia.org. развивает наличие механизма шаб-
Цветок подсолнуха – официаль- лонов (templates). Шаблоны – это бло- Место MediaWiki в цепочке
«информация» ↔ «Весь Мир»
ный логотип MediaWiki. Двойные квад- ки текста из специальным образом со-
ратные скобки на заднем плане сим- зданных статей, которые динамичес-
волизируют синтаксическое выраже- ки подгружаются внутри других ста-
ние для создание гиперссылки внут- тей. Шаблоны вызываются с помо-
ри Wiki. щью двойных фигурных скобок: {{имя
Говорить о wiki можно безгранично. шаблона}}. Результат вызова шаблона {{Сторонник
свободного ПО}} в русскоязычной
Сегодня речь пойдёт о движке Википе- MediaWiki позволяет пользоваться Википедии
дии – MediaWiki. множеством стандартных HTML-тегов.
MediaWiki появился благодаря не- Кроме упомянутого также имеется на- стройки таблицы стилей (stylesheets)
мецкому студенту-биохимику Мангу- бор меток для структурной разметки и клиентских JavaScript-скриптов, ис-
су Манске (Magnus Manske) специаль- текста. За подробностями о правилах полняемых при каждом просмотре.
но для замены первоначального perl- вики-разметки лучше всего обратить-
движка Википедии. В 2002 году Вики- ся к статье из русскоязычной Википе- Системные требования
педия перешла на новый движок, ко- дии «Википедия:Справка». Тра диционно д ля развёртывания
торый предоставлял дополнительную В MediaWiki встроен механизм за- MediaWiki используется так называе-
функциональность и лучшую масшта- грузки мультимедийных файлов. С по- мое LAMP-окружение:
бируемость, что положительно сказа- мощью LaTeX MediaWiki поддерживает n L – значит Linux. Несмотря на то,
лось на развитии обоих программных отображение математических формул, что для использования рекоменду-
продуктов. В 2003 году появилось на- и многое из того, что может LaTeX, на- ется Debian GNU/Linux, MediaWiki
звание движка MediaWiki и офици- чиная от изображения шахматных пар- можно запустить как и на BSD, Sun
альный логотип. Появление собс- тий и нотных записей, заканчивая хи- Solaris, Apple MacOS X, так даже и
твенного имени и логотипа означало, мическими формулами и сложными на Microsoft Windows.
что MediaWiki стал самостоятельным графами. n A – значит Apache. В качестве
и независимым от Википедии програм- Все действия с контентом записы- веб-сервера следует использо-
мным продуктом. ваются и в любой момент возможно вать Apache, хотя есть информа-
Благодаря свободной лицензии возвращение к любой из предыдущих ция, что для этой цели можно ис-
GPL, а так же существованию Ви- версий. Восстановить последнее кон- пользовать и другие веб-серверы,
кипедии, MediaWiki на текущий мо- систентное состояние документа пос- в частности IIS 6.0.
мент – одно из самых популярных ре- ле намеренной или случайной порчи n M – значит MySQL. Рекомендуемая
шений для создания гипертекстовых информации много проще, чем осу- версия MySQL 4.0, хотя можно ра-
wiki-сред. ществить эту порчу. ботать и с 4.1/5.0. Чтобы в качест-
MediaWiki поддерживает разгра- ве хранилища данных воспользо-
Возможности MediaWiki ничение пользователей на группы ваться возможностями PostgreSQL,
Ссылки внутри гипертекстовой среды и простейшие механизмы ограниче- потребуется установить версию
при использовании MediaWiki созда- ния доступа. Пользовательский интер- MediaWiki 1.8 – текущая стабильная
ются с помощью двойных квадратных фейс можно отредактировать на ле- версия. Поддерживается версия
скобок. Например, текст [[Википедия: ту. Это реализовано через редакти- PostgreSQL начиная с 8.1, требует-
Установка MediaWiki]] внутри русско- рование статей в пространстве имён ся предустановка plpgsql и tsearch2.
го сегмента Википедии представляет «MediaWiki:». Для этого пользователь Следует также учитывать, что под-
из себя ссылку на краткую одноимён- должен обладать необходимыми при- держка PostgreSQL добавлена от-
ную статью по установке MediaWiki. вилегиями. Как правило, таких пользо- носительно недавно и не оттести-
В названиях статей разрешены про- вателей называют администраторами. рована, хотя возможность замены
белы и различные знаки препинания Обычный же пользователь может MySQL более продвинутой СУБД
за некоторым исключением. поменять интерфейс с помощью на- довольно заманчива.
86
web
# Установка MySQL (рекомендуется версия старше 4.0) Поэтому для увеличения производительности PostgreSQL
> sudo apt-get install mysql-server
# Установка phpMyAdmin для администрирования MySQL необходимо соответствующим образом перенастроить.
> sudo apt-get install phpmyadmin Для возможности полнотекстового поиска (поиск до-
кумента на основании содержимого этого документа)
При установке MySQL по умолчанию пароль у супер- по страницам wiki необходимо добавить модуль tsearch2
пользователя root отсутствует. Поэтому первое, что сде- (http://www.sai.msu.su/~megera/postgres/gist/tsearch/V2/):
лайте – установите его, например, с помощью программы
phpMyAdmin. > sudo apt-get install postgresql-contrib-8.1
# Инициализация механизма полнотекстового поиска tsearch2
Если установка локальная, то для этого достаточ- # (путь до tsearch2.sql относительно директории PostgreSQL)
но обратиться в раздел «Изменить пароль» по адресу > psql -U "супер"wikidb -f contrib/tsearch2.sql
# Подсоединяемся к wikidb под суперпользователем
http://localhost/phpmyadmin. Заходя без пароля первый раз > psql -U "супер" wikidb
под пользователем root, выберите язык интерфейса. Да-
# Смотрим, какие таблицы были созданы
лее создайте пользователя wikiuser, базу wikidb и дайте wikidb=> \d
права этому пользователю на create, select, insert, update,
Список отношений
delete и lock tables в пределах базы данных wikidb. Те же Схема | Имя | Тип | Владелец
действия можно проделать с помощью утилит mysqladmin --------+--------------+---------+----------
public | pg_ts_cfg | таблица | "супер"
и mysql. public | pg_ts_cfgmap | таблица | "супер"
public | pg_ts_dict | таблица | "супер"
PostgreSQL public | pg_ts_parser | таблица | "супер"
(записей: 4)
Экспериментальная поддержка PostgreSQL появилась
в MediaWiki относительно недавно, с версии 1.7 и до сих до- # Разрешение на доступ к таблицам для wikiuser
статочно не оттестирована. Если MySQL среди свободных wikidb=> GRANT SELECT,UPDATE ON pg_ts_cfg TO wikiuser;
wikidb=> GRANT SELECT ON pg_ts_parser, pg_ts_dict, ↵
баз данных считается самой «популярной», то PostgreSQL pg_ts_cfgmap TO wikiuser;
по праву носит звание самой «продвинутой». Для нор-
мальной работы требуется установить PostgreSQL версии На момент написания статьи последняя версия MediaWiki
не ниже 8.1. При работе с базой данных лучше выполнять 1.8.2 без модификации при работе с PostgreSQL не позволя-
все необходимые действия из-под обычного пользователя. ла организовать полнотекстовый поиск по русским словам
Для этого проще всего завести в PostgreSQL пользователя (баг № 8470 на http://bugzilla.wikimedia.org). Для исправления
с именем, совпадающим с рабочей локальной учётной за- этой ошибки необходимо в файле language/Language.php
писью. Пусть для определённости это имя будет «супер»: найти функцию stripForSearch и, например, добавить вна-
чале простую проверку на базу данных:
# Установка базы данных (в разных системах по-разному)
> sudo apt-get install postgresql-8.1
# Создание учётной записи суперпользователя function stripForSearch( $string ) {
# (предварительно настраивается sudo для возможности global $wgDBtype;
# исполнения команд под пользователем postgres) if ( $wgDBtype != 'mysql' ) {
> sudo -u postgres createuser return $string;
}
…
Enternameofrole to add: "супер"
Shall the new role be a superuser? (y/n) y
CREATE ROLE Это уже поправлено в SVN-версии. PostgreSQL следу-
# Установка PHP-драйвера ет ставить пока только как экспериментальное хранилище,
> sudo apt-get install php5-pgsql так как упомянутая ошибка к сожалению пока не единс-
# Создание пользователя для wiki
> createuser -U "супер"-S -D -R -P -E wikiuser твенная.
Замечание: в PostgreSQL версии 8.2 входит модуль
Enter password for new role:
Введите снова:
tsearch2, который полностью поддерживает UTF-8, поэто-
CREATE ROLE му можно инициализировать базу данных командой initdb
с ключиком --locale=ru_RU.UTF‑8, что позволяет прозрач-
# Создание базы данных
> createdb -U "супер"-O wikiuser wikidb но работать с unicode-данными.
CREATE DATABASE В с ё, те п е р ь PostgreSQ L го то в д л я ус т а н о в к и
# Разрешение на использование процедурного языка plpgsql
> createlang -U "супер" plpgsql wikidb MediaWiki. Возможно, придётся подправить специфичные
для PostgreSQL параметры, которые по умолчанию соот-
Если имя учётной записи суперпользователя совпа- ветствуют стандартным установкам.
дает с именем, под которым вы работаете, то ключ -U
и имя после него можно опускать. Кроме упомянутого, Настройка
при совпадении учётных записей в системе и в базе дан- После того, как выбрано хранилище, указана база данных
ных PostgreSQL по умолчанию для локальных подсоедине- wikidb, пользователь wikiuser и пароль, можно нажать за-
ний работает доступ без пароля (механизм ident sameuser ветную кнопочку «Install MediaWiki!».
в pg_hba.conf). Если всё пройдёт нормально, то в директории «wikidir»/
Следует учитывать, что PostgreSQL сконфигурирован config будет создан файл настройки LocalSettings.php, ко-
так, чтобы можно было работать в условиях жёсткой не- торый следует переместить в родительскую директорию,
хватки ресурсов. то есть в «wikidir».
$wgFileExtensions = array('png', ↵
'gif', 'jpg', 'jpeg');
88
web
n $wgDefaultSkin – выбор «деко-
рации». Так как MediaWiki предо-
ставляет пользователю графичес-
кий интерфейс к редактированию
и управлению содержимого сай-
та, то очень много внимания, мож-
но сказать даже излишне много,
уделено художественной «отде-
лке» этого интерфейса. По умолча-
нию доступны четыре стандартных
варианта: «standard», «nostalgia»,
«cologneblue» и «monobook». Если
этого мало, то можно выбрать лю-
бую представленную в специальной
галерее http://meta.wikimedia.org/
wiki/Gallery_of_user_styles.
Использование MediaWiki
Всё, теперь можно набирать гипер-
текст. При использовании MedaWiki
настоятельно рекомендуется регис-
трироваться (ссылка «Представить-
ся системе» в правом верхнем углу).
В этом случае появляется доступ к об-
ширным индивидуальным настройкам
и возможностям.
Администраторы (как минимум
один администратор создаётся в про-
цессе настройки MediaWiki) отличают-
ся от обычных зарегистрированных
пользователей тем, что они имеют пра-
во удалять и «замораживать» (запрет
на изменение) уже имеющиеся статьи.
Вместе с возможностью блокировать
пользователей это позволяет эффек-
тивно управлять рукотворным храни-
лищем знаний.
Базовые правила разметки под-
робно изложены в статье «Википедия:
Как править статьи», представленной
Тестовая Wiki-страничка. Так выглядит результирующая страничка на российском сегменте Википедии
(http://ru.wikipedia.org).
Исчерпывающее руководс тво
пользователя можно найти в ста-
тье «Help:Editor» на сайте WikiMedia
(http://meta.wikimedia.org).
Выбрали для себя подходящие
настройки (ссылка «Мои настройки»
сверху)? Теперь можно набирать ги-
пертекст. Для начала следует поискать,
а не было ли уже набрано чего-то по-
добного – строка «Поиск» в панели на-
вигации слева.
При выборе кнопки «Перейти»
MediaWiki пытается перенаправить
на статью с набранным в строке поиска
именем. Если этого сделать не удаётся,
то статью предлагается создать.
Простая структурная разметка поз-
воляет разбивать текст на разделы:
==Гиперссылки==
* Wiki - это [[гипертекст]].
* А это [http://www.samag.ru внешняя
ссылка]
90
web
в гиперссылке, отсутствует (ссылка
в никуда), то при переходе по ней поль-
зователю автоматически предлагает-
ся создать эту страницу.
MediaWiki позволяет ссылаться
на загруженные ранее (ссылка «За-
грузить файл» в панели навигации
слева) картинки (страницы в про-
странстве имён «Изображения») или
медиафайлы (пространство имён
«Медиа»):
==Тестирование медиа-файла==
[[Медиа:mediawiki.ps|mediawiki.ps]]
- PostScript file
==Тестирование картинок==
[[Изображение:turtle.png]]
==Экранирование Wiki-разметки==
<nowiki>[[привет]] </nowiki>
==Тестирование математики==
Решение квадратного уравнение
<math>ax^2+bx+c=0</math>:
<math> x_{1,2}=\frac{-b\pm\sqrt{b^2-
4ac}}{2a}</math>
[[Категория:Тестовые страницы]]
92
книжная полка
Редакционная подписка
для физических лиц
n Вы можете оформить подписку n Вы можете оформить подписку n Журнал высылается почтой прос-
на любой российский адрес. с любого месяца на любой срок. той бандеролью только после пос-
n При заполнении квитанции обя‑ n В графе «Сумма» проставьте сумму тупления денег на расчетный счет
зательно РАЗБОРЧИВО укажи‑ за выбранное количество номеров. и копии заполненного и оплачен‑
те фамилию, имя, отчество пол‑ Стоимость одного номера журнала ного бланка, отправленной в ре‑
ностью, почтовый индекс и ад‑ 150 руб. За 11 месяцев (с февраля дакцию по факсу: (495) 628‑82‑53
рес получателя (область, город, по декабрь) – 1650 руб. НДС и поч- или на элек тронный а д рес:
улица, номер дома, номер квар‑ товые расходы включены в стои- info@samag.ru.
тиры), контактный телефон. мость.
94
подписка на 2007 год
Российская Федерация печати «Гасид» (370102, г. Баку, ул. Джавадхана, 21)
n
Подписной индекс: годовой – 20780, полугодовой – 81655 n
Казахстан – по каталогу «Российская Пресса» через
Каталог агентства «Роспечать» ОАО «Казпочта» и ЗАО «Евразия пресс»
n Подписной индекс: 87836 n
Беларусь – по каталогу изданий стран СНГ через РГО
Объединенный каталог «Пресса России» «Белпочта» (220050, г. Минск, пр-т Ф. Скорины, 10)
Адресный каталог «Подписка за рабочим столом» n
Узбекистан – по каталогу «Davriy nashrlar» российс-
Адресный каталог «Библиотечный каталог» кие издания через агентство по распространению пе-
n Альтернативные подписные агентства: чати «Davriy nashrlar» (7000029, г. Ташкент, пл. Муста-
Агентство «Интер-Почта» (495) 500-00-60, курьерская киллик, 5/3, офис 33)
доставка по Москве n Армения – по списку номенклатуры «АРЗИ» через
Агентство «Вся Пресса» (495) 787-34-47 ГЗАО «Армпечать» (375005, г. Ереван, пл. Сасунци Да-
Агентство «Курьер-Прессервис» вида, д. 2) и ЗАО «Контакт-Мамул» (375002, г. Ереван,
Агентство «ООО Урал-Пресс» (343) 375-62-74 ул. Сарьяна, 22)
ЛинуксЦентр www.linuxcenter.ru n Грузия – по списку номенклатуры «АРЗИ» через АО
n Подписка On-line «Сакпресса» ( 380019, г. Тбилиси, ул. Хошараульская, 29)
http://www.arzi.ru и АО «Мацне» (380060, г. Тбилиси, пр-т Гамсахурдия, 42)
http://www.gazety.ru n Молдавия – по каталогу через ГП «Пошта Молдовей»
http://www.presscafe.ru (МД-2012, г. Кишинев, бул. Штефан чел Маре, 134)
по списку через ГУП «Почта Приднестровья» (МD-3300,
СНГ г. Тирасполь, ул. Ленина, 17)
В странах СНГ подписка принимается в почтовых отделе- по прайс-листу через ООО Агентство «Editil Periodice»
ниях по национальным каталогам или по списку номенк- (МД-2012, г. Кишинев, бул. Штефан чел Маре, 134)
латуры «АРЗИ»: n Подписка для Украины:
n Азербайджан – по объединенному каталогу россий- Киевский главпочтамт
ских изданий через предприятие по распространению Подписное агентство «KSS», тел./факс (044)464-0220
Подписные
индексы:
20780*
81655**
по каталогу
агентства
«Роспечать»
87836
по каталогу
агентства
«Пресса
России»
*
годовой
**
полугодовой
№2 февраль 2007 95
СИСТЕМНЫЙ АДМИНИСТРАТОР
№2(51), Февраль, 2007 год
УЧРЕДИТЕЛИ
Владимир Положевец Как стать
обладателем диска,
Александр Михалев
РУКОВОДИТЕЛЬ ПРОЕКТА
Петр Положевец
РЕДАКЦИЯ
Исполнительный директор
Владимир Положевец
если вы не оформили
Ответственный секретарь
Наталья Хвостова
sekretar@samag.ru
годовую подписку
Технический редактор
Владимир Лукин
Главный редактор электронного
приложения «Open Source» Что на диске?
Дмитрий Шурупов
Архив номеров журнала «Системный администратор» с 2002 по 2006 год, архив
Внештатные редакторы
электронного приложения «Open Source», дистрибутивы от партнёров.
Алексей Барабанов
Сергей Супрунов
Дмитрий Мороз
Аркадий Шаныгин Как приобрести?
Андрей Шетухин 1. В редакции журнала «Системный администратор» по адресу: Москва, мет-
Андрей Гуле ро «Сухаревская», Ананьевский переулок 4/2, стр. 1, в приёмной или в офи-
се 13.
РЕКЛАМНАЯ СЛУЖБА 2. На сайте on-line магазина Linuxcenter.ru.
тел./факс: (495) 628-8253
Евгения Тарабрина
reсlama@samag.ru
Сколько стоит?
Цена в редакции – 150 рублей.
Верстка и оформление
maker_up@samag.ru Цена с доставкой по России простой бандеролью – 180 рублей.
Дизайн обложки
Николай Петрочук
Клиенты компании SecurIT получат диск в подарок
По вопросам распространения Компания SecurIT проводит акцию, в рамках которой клиенты, заказавшие
обращайтесь по телефону: Zserver в любой комплектации или более 50 лицензий Zlock, получат диск
(495) 628-8253 (доб. 120) в подарок в первом квартале 2007 года. Спешите, количество подарков ог-
раничено!
107045, г. Москва,
Ананьевский переулок, дом 4/2, стр. 1
тел./факс: (495) 628-8253
Сайт журнала: www.samag.ru
ИЗДАТЕЛЬ
ЗАО «Издательский дом
«Учительская газета» Уважаемые читатели!
Отпечатано типографией Обратите внимание, что теперь оформить подписку вы можете
ГП «Московская Типография №13» не только на полугодие, но и сразу на весь год.
Тираж 15000 экз. Годовой индекс по каталогу «Роспечать» – 20780.
Интер-почта – заказ журналов по тел.(495) 500-00-60.
Журнал зарегистрирован
Подписка on-line – SetBook.ru.
в Министерстве РФ по делам печати,
телерадиовещания и средств массо-
вых коммуникаций (свидетельство Приобрести новые и старые номера журнала
ПИ № 77-12542 от 24 апреля 2002 г.). вы можете через интернет-магазины LinuxCenter.ru и Allsoft.ru.
96