Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
11
Добавлен:
20.04.2024
Размер:
22.66 Mб
Скачать

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

 

w Click

 

 

 

 

 

 

m

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

>>

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

SYN/ACKw

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

 

 

 

 

 

 

o

m

 

w

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

Создаем новую DNS-зону

Цветовая схема Aero

0 (по умолчанию) — администратор не может войти в DSRM без подтверждения соответствующих прав в домене, полученных с другого КД;

1 — администратор может войти в DSRM, когда AD DS остановлен;

2 — администратор может войти в DSRM в любое время.

КАКМНЕУЗНАТЬ, БУДЕТЛИМОЕ ПРИЛОЖЕНИЕРАБОТАТЬВWIN2K8?

Самый верный способ — установить и проверить работоспособность. Правда, для этого придется собрать «тестовый стенд», чтоневсегдавозможно(невсеситуацииможноэмулировать). Чтобыупроститьжизньразработчикам, администраторам и пользователям, предлагаются две программы подтверждениясовместимости:

Works With Windows Server 2008 — показывает, что ус-

пешнопройденывсетестынасовместимостьдляуказанной платформы;

Certified for Windows Server 2008 — приложениесоответс-

твуеттребованиямМайкрософт, необходимымдляуспешной работы, иможетиспользоватьсяпривыполнениикритическихзадач.

Также приложение может получить дополнительное обозначение Hyper-V, гарантирующее успешную работу в виртуализированной среде. Самостоятельно протестировать приложение по условиям программы Works With можно при помощи утилиты Works With Tool for Windows Server 2008 (WWT). Параметров при тестировании проверяется достаточно много, но утилита включает добротный поша-

ADSI Edit входит в состав Win2k8

говый мастер, который проведет пользователя через весь процессоценкиПО.

В процессе работы мастера предстоит заполнить сведения о версии программы и производителе, оборудовании системы — и так далее. WWT сравнит систему до и после установки приложения, выдаст информацию о расположении файлов. Результат обычно оформляется в виде HTML-отчета или в пакете специального формата, который можно отправить Microsoft для анализа и получения статуса.

МОЖНОЛИИЗWIN2K8 СДЕЛАТЬ РАБОЧУЮСИСТЕМУ?

У Win2к8 и Vista довольно много общего, и большая часть совместимыхсVista приложенийбудутработатьвсерверной системе. Драйвера для оборудования (в том числе, для 64-битной версии), написанные для Vista, нормально работают в Win2k8.

Для эмуляции Vista потребуется добавить несколько ролей и компонентов. Из них основной компонент — «Возможности рабочего стола» (Desktop Experience). Он добавит в систему медиапроигрыватель, поддержку тем (в том числе, Aero), почтовый клиент, календарь и другие программы. Компонент активируется стандартно через «Диспетчер сервера» или в командной строке:

links

Списокприложений, поддерживающихконтроллеры доменатолькодля чтения, можно найтивдокументе

«Applications That Are Known to Work With RODCs» поадресу technet.microsoft. com/en-us/library/ cc732790.aspx.

Полнофункциональнуюпробную версиюWin2k8 ищи поадресуwww. microsoft.com/ windowsserver2008.

Последняяверсия

Microsoft Hyper-V Server 2008 доступна настраницеwww. microsoft.com/ servers/hyper-v- server.

> Servermanagercmd — i Desktop-Experience

 

info

 

 

• Еслисоберешьвсе

 

 

Послеегоустановкипотребуетсяперезагрузкасервера, пос-

номера«][акера», на-

ле которой мы самостоятельно подключаем и настраиваем

чинаясмая2008-го,

нужныефункции.

тонайдешьхорошую

Например, темыизвукреализованыпосредствомсервисов.

подборкустатей

Дляихактивациииспользуемсоответствующуюконсольили

поиспользованию

команднуюстроку:

Win2k8!

 

• ПодробнееоWAIK

> Sc config themes start= auto

 

> Net start themes

 

смотристатью«Са-

> Sc config audiosrv start= auto

 

мосборныеокна» в

> Net start audiosrv

 

позапрошломномере

 

 

(январь2009).

Кроме Desktop-Experience, нелишними будут Wireless-

 

Networking, BitLocker, Backup-Features, служба поиска

 

Windows Search иPowerShell.

 

В итоге, вероятность превратить Win2k8 в полноценную ра-

 

бочую систему весьма высока. Хотя особых преимуществ от

 

такогопереходанет,аединственныммотивомможетслужить

 

желаниеизучатьновуюсистему. z

 

XÀÊÅÐ 03 /123/ 09

129

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

 

F

 

 

 

 

 

 

 

t

 

 

 

 

D

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

r

 

 

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

>>m

 

 

 

w Click

to

 

 

 

 

SYN/ACK

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

 

 

.

 

 

 

 

 

 

.c

 

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ВЛАДИМИР «TURBINA» ЛЯШКО

/ V.TURBINA@GMAIL.COM /

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

Наркотик для игроманов

СТАВИМПОДLINUX ПОПУЛЯРНЫЕИГРОВЫЕСЕРВЕРА

Ролевая игра World of Warcraft и шутер Call of Duty завоевали миллионы поклонников во всем мире. Увы, чтобы поиграть, на большинстве серверов придется раскошелиться. Бесплатные сервера часто перегружены или попросту недоступны из другого региона. Так почему бы не поднять свой собственный игровой сервачок?

ЦельпроектаMaNGOS(MassiveNetworkGameObjectServer,getmangos.com)

—этосозданиеальтернативнойреализациисервераWoW.Сегоднядоступны версииподLinux, FreeBSD иWindows. Лицензиянепозволяетиспользовать мангосвкоммерческихцеляхиустанавливатьпубличныесерверынаегоос- нове,нониктонезапрещаетнастроитьWoW-сервервдомашнейсети.

СуществуютотдельныепроектыпонаполнениюбазыданныхмангосинаписаниюскриптовдляуникальногоповеденияотдельныхNPC. КодMaNGOS являетсяоткрытым, иэнтузиастыпредлагаютогромноеколичествопатчей, устраняющихтеилииныеошибки.Обилиенаработок,порядокихустановки и прочие тонкости могут сбить с толку любого. Поэтому статья написана в видепошаговогоруководства.

РАЗДЕЛЯЕМИВЛАСТВУЕМСМАНГОС

Чтобыпостроитьсервертолькоизсвободнораспространяемыхкомпонентов,установкубудемпроизводитьвUbuntu8.04LTS(хотямногоеизсказанногоактуально идлядругихLinux-дистрибутивов).Сначалаинсталлируемпакеты,необходимые дляполученияgit/SVN-архивовисборкиприложений.Таккакдляхраненияигро- вогомираиспользуетсяMySQL(поумолчанию)илиPostgreSQL,ставимсоответствующиепакеты.Также,нужнызаголовочныефайлыOpenSSLисервераБД.

$ sudo apt-get install libssl-dev mysql-server mysqlclient libmysqlclient15-dev autoconf automake1.9 libtool build-essential subversion patch zlibc libc6 git git-core zlibc

Создаемрабочийкаталог:

$ mkdir source; cd source

Сейчаспредстоитсделатьпервыйвыбор: ссылкипроектаведут, какминимум, на две версии сервера. На момент написания этих строк в SVN (и git) былаверсия0.13, котораяподдерживаетновуюверсиюклиента3.0.3 (build 9183) истарого2.4.3. СтабильныйрелизMaNGOS 0.12 поддерживаеттолько 2.4.3 версиюклиента. Будемработатьс0.13, новустановкеособойразницы нет. Получаемисходныйкод:

$ svn co http://svn2.assembla.com/svn/mangos-svn-mirror

Иличерезgit:

$ git clone git://github.com/mangos/mangos.git

Теперь нужно скачать расширение ScriptDev2 (sf.net/projects/scriptdev2). Оно обеспечивает работу скриптов, предназначенных для создания игровыхобъектов, персонажейиквестов:

$ mkdir mangos/src/bindings/ScriptDev2

НазваниекаталогадолжнобытьименноScriptDev2, никакихscriptdev2 или Scriptdev2! Получаемкопию:

$ cd mangos/src/bindings/ScriptDev2

$ svn co https://scriptdev2.svn.sourceforge.net/

130

XÀÊÅÐ 03 /123/ 09

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

>>

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

SYN/ACKw

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

 

 

 

 

 

 

o

m

 

w

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

Правим конфиги

svnroot/scriptdev2

Патчим:

$ git apply src/bindings/ScriptDev2/patches/MaNGOS-2008- 12-22-ScriptDev2.patch

Илипостаринке:

$ patch -p0 < src/bindings/ScriptDev2/patches/MaNGOS- r6765-ScriptDev2.patch

Приполучениифайловчерезgit естьодинкаверзныймомент. Есливката-

логеsrc/bindings лежитфайл.gitignore:

$ cat src/bindings/.gitignore ScriptDev2

— то эту строку нужно закомментировать, иначе ScriptDev2 собираться не будет. Чтобыобновитьвсефайлыдлякомпиляции, вводим:

$ cd ~/source/mangos

$ autoreconf --install --force $ aclocal

$ autoheader $ autoconf

$ automake --add-missing

$ automake src/bindings/ScriptDev2/Makefile

Если попытаться сконфигурировать в текущем каталоге, получим ошибку, поэтому:

$ mkdir objdir; cd objdir

$ ./configure --enable-cli --enable-ra

Так мы подключили удаленное администрирование (--enable-ra) и ко- манднуюконсоль(--enable-cli). Чтобынеискатьфайлыповсемкаталогам, можноиспользоватьстандартныеключи–-prefix, --sysconfdirи --datadir. Чтобы задействовать базу PostgreSQL, дополнительно укажи параметры«--with-mysql=no --with-postgresql=yes».

Сборкаиустановкастандартны:

$ make

$ sudo make install

Чистим:

$ make clean $ cd ..

В realmd по умолчанию четыре учетные записи

$ rm -r objdir

СОЗДАЕМБАЗЫ

Длясозданиябазитаблицсервераиспользуемзаготовки, находящиесяв подкаталогеsql дистрибутива:

$ mysql -u root -p < sql/create_mysql.sql

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

$ cat sql/create_mysql.sql

GRANT USAGE ON *.* TO 'mangos'@'localhost' IDENTIFIED BY 'mangos' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_ PER_HOUR 0 MAX_UPDATES_PER_HOUR 0;

В рабочей системе желательно изменить пароль и ограничить доступ к MySQL толькослокальногоузла(вUbuntu идругихдистрибутивахтаксделанопоумолчанию). Заполняемтаблицы, создаемдополнительныебазы:

$ mysql -u mangos -p mangos < sql/mangos.sql $ mysql -u mangos -p realmd < sql/realmd.sql

$ mysql -u mangos -p characters < sql/characters.sql

И— подтягиваембазуScriptDev2:

$ mysql -u mangos -p scriptdev2 < src/bindings/ScriptDev2/ sql/scriptdev2_structure.sql

Наэтомсерверкработе, впринципе, готов. Ноподключатьсякнемуещеой какрано.

ГДЕЖЕМОИОРКИ?

Базыитаблицысозданы,ноихещенужнонаполнитьсодержимым,тоесть создать будущие поля сражений и заселить их монстрами. Здесь начинаетсясамоеинтересное. Проектов, реализующихнужнуюнамфункциональность,великоемножество.ЭтоUDB(UnifiedDb,www.udbforums.org), который можно назвать официальным, YTDB (ytdb.kanet.ru), Silvermoon

(projectsilvermoon.net), Silver DataBase (SDB, opensvn.csie.org/SDB, sf.net/projects/sdbmangos), немецкийMaNGOS-DBs (sf.net/projects/gmdb), EDB идругие. Какойизнихвыбрать— единодушногомнениянаэтот счет нет и не будет. Посетить проекты рекомендую в любом случае, там найдешь полный список файлов, патчей, а также полуготовые сборки (100% работоспособности никто гарантировать не может, но все же это лучше, чемничего).

Мнепоказалисьинтереснымипервыедвапроекта.БолеестабильнымможносчитатьUDB (нанемиостановимсвойвыбор), аYTDB — болеепрогрессивным. Наверняканайдутсянесогласныеибудутпо-своемуправы.

ПолучаемSVN-копиюUDB:

$ svn co https://unifieddb.svn.sourceforge.net/svnroot $ cd unifieddb

XÀÊÅÐ 03 /123/ 09

131

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

>>m

 

w Click

to

 

 

 

SYN/ACK

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

Проект FWv3 предоставляет удобный интерфейс для управления сервером MaNGOS

НужныйнамфайлсжатRAR’ом. ВпоставкеUbuntu егонет, поэтому:

$ sudo apt-get install unrar

Распаковываемархивизаполняембазу:

$ unrar e trunk/Full_DB/UDB_0.10.4_Core_6766_SD2_689.rar

$ mysql -u mangos -p mangos < UDB_0.10.4_Core_6766_SD2_689.sql

Теперь обновляем базу до ревизии сервера. На момент написания этих строквподкаталогеUpdates было7 файлов, но, поверь, этоещенепредел. Внекоторыхсоветахпредлагаютсобратьихводинфайлипоставитькоман-

дой «cat trunk/Updates/0.10.4_additions/* > updates.sql».

Но лучше так не делать и накатывать каждое отдельно, так как в апдейтах меняетсяструктураБД,и«одновременная»установкаможетвызватьошибку. К тому же, в updates может находиться обновление не только для базы mangos, но и для realmd, realmlist, characters. К какой из них относится конкретныйфайл,—подскажетимя.Так,файлобновления5632_characters. sql соответствует5632 версиибазыcharacters. Поэтомуметодичноставим обновления, ориентируясьнадату, котораяможетиспользоватьсявнаименованиифайла, илирелиз. Текущийрелизсервераузнатьпросто:

$ svn info ~/mangos/ | grep 'Revision:' Revision: 205

Призапускесерверавыдаетсячутьбольшеинформации: «MaNGOS/0.13.0 (2008-12-30 02:00:26 Revision 6985 — 205)». В нашем случае используется база версии 6766 (определяем по имени UDB_0.10.4_Core_6766_SD2_689. sql).Тоесть,нужнывсеапдейтыпозднее30.12.2008иверсии205/6985.Старшие обновления ставим первыми. Если при установке появилась ошибка, ничегострашного, пропускаемэтотфайл.

АпгрейдимитаблицыдляработыScriptDev2. Здесьвсепросто:

$ mysql -u mangos -p mangos < src/bindings/ScriptDev2/ sql/mangos_full_scripts.sql

$ unrar e tags/EAI/EAI_0.0.4_323.rar

$ mysql -u mangos -p scriptdev2 < EAI_0.0.4_323.sql

И, наконец, последнийшаг: заносимвrealmlist настройкинашегосервера (названиеиIP-адрес):

$ mysql -umangos -pmangos mysql> use realmd; Database changed

mysql> UPDATE 'realmlist' SET 'name' = ‘My superpuper WoW server' , 'address' = '192.168.1.158' WHERE 'id' = '1'; Query OK, 1 row affected (0.01 sec)

Да, ещеодиннеобязательный, новесьмажелательныйсточкизрениябезопасностишаг. Запрос:

mysql> SELECT * FROM 'account' WHERE 1 LIMIT 1000;

— покажет наличие четырех учетных записей в таблице account базы realmd. Ихлучшеудалитьизаписатьсвою(например, admin/password):

mysql> DELETE FROM account;

mysql> INSERT INTO 'account' ('username','sha_pass_ hash','gmlevel') VALUES ('admin',SHA1(CONCAT(UPPER('a dmin'),':',UP PER('password'))),'3');

mysql> quit;

Каквариант, дляредактированиятаблицможновоспользоватьсяоднимиз интерфейсовкMySQL, вродеphpMyAdmin.

ПРАВИМКОНФИГИ

После установки у нас должно появиться три конфигурационных файла: mangosd.conf, realmd.conf иscriptdev2.conf. Всеонинаходятсяв/usr/local/ etc (еслине использоваласьдиректива --sysconfdir). Вscriptdev2.conf настраивается только уровень журналирования, поэтому интерес для нас представляютпервыедвафайла.

$sudonano/usr/local/etc/realmd.conf

#Доступ к MySQL «hostname;port;username;password;database»

#можно настроить подключение через сокет, такой режим работы считается экспериментальным

LoginDatabaseInfo = "127.0.0.1;3306;mangos;mangos;realmd"

#Каталог и файл для журнала, а также PID-ôàéë

LogFile = "Realmd.log"

LogsDir = "/var/log"

PidFile = "/var/run/realmd.pid"

# Порт и адрес, на котором будут приниматься соединения RealmServerPort = 3724

BindIP = "0.0.0.0"

Настройкивmangosd.conf практическианалогичны:

$sudonano/usr/local/etc/mangosd.conf

LoginDatabaseInfo = "127.0.0.1;3306;mangos;mangos;realmd" WorldDatabaseInfo = "127.0.0.1;3306;mangos;mangos;mangos" CharacterDatabaseInfo = "127.0.0.1;3306;mangos;mangos;ch aracters"

MaxPingTime = 30 WorldServerPort = 8085 BindIP = "0.0.0.0"

В каталоге mangos/contrib/extractor находится программа AD, применяемаядляизвлечениякарт(двеверсиидляLinux иWindows). Рекомендуется использовать виндовый вариант (AD.exe), — работает лучше. С одного из проектовподдержки(например, mangos.ru) скачиваемархивсdbc-файла-

миираспаковываемихв/usr/local/share/mangos/dbc:

$ cd /usr/local/share/mangos $ mkdir dbc; cd dbc

$ sudo unrar e ~/dbc.rar

КопируемфайлысдискаWOWвкаталогспрограммойAD.exe,затемсоздаем подкаталогmaps изапускаемраспаковщик. Поокончаниипроцессапереносим заполненный каталог maps в /usr/local/share/mangos. Аналогично

132

XÀÊÅÐ 03 /123/ 09

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

 

w Click

 

 

 

 

 

 

m

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

>>

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

SYN/ACKw

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

 

 

 

 

 

 

o

m

 

w

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

Инструмент создания игрового мира Quice

извлекаем vmaps, копируем в корень архива WoW каталог vmap_extract_assembler_bin (из дистрибутива MaNGOS) и

запускаем находящийся внутри батник makevmaps_SIMPLE. bat. В итоге получим подкаталог vmaps, который копируем на сервервтужепапку, гдеиmaps.

Всеготовокпервомузапускумангоса:

$ sudo /usr/local/bin/mangos-realmd $ sudo /usr/local/bin/mangos-worldd

Впроцессезапусканаконсольбудутвыведеныдиагностическиесообщения, просмотриихнаналичиеошибок. Вбудущем, для автоматизации запуска, можно написать скрипт (на указанныхвышересурсахестьготовыепримеры). Да, икоманды набоевомсерверенужновыполнятьсповышеннымприорите- том,добавиввначале«nice-n-20».Дляуправлениясервером, аккаунтами, базами и прочими компонентами есть довольно большое количество проектов — поиск на Sourceforge выдаст не один десяток ссылок. Например, терминал MaNGOS DB Terminal (sf.net/projects/mdbt), веб-интерфейсы MWFv3

(mangos-wf-v3.sf.net). Очень популярен редактор квестов, мобов, объектов, предметовипрочего— Quice (quice.indomit. ru). СейчасактивноразвиваетсяпроектWotLK (MaNGOS Beta Server, sf.net/projects/wotlkmangosbeta), благодарянемууста-

новкасервераMaNGOS можетзаметноупроститься.

СALLOFDUTY4

УстановкасерверадляигрывCall of Duty 4 проще: неттакого выбора,азначит,ипутаницы,нонемногопотрудитьсявсе-таки придется.Необходимыефайлыможноскачатьсодногоиззеркал,ссылкинакоторыенайдешьнастраницеicculus.org/news/ news.php?id=4095,вветке«Download»сайтаcod-4.ruиливфо-

румеwww.callofduty.ru/forum(ветка«СервераподLinux»).Есть ссылки на разные версии в вариантах для Windows и Linux, в обычной и Full комплектациях. Обычная версия содержит толькоскриптибинарникдляиндексированиядиска, авариант Full — дополнительно некоторые библиотеки и пару карт. Помимоэтого, дляустановкисвоегосерверанампонадобится DVD-дисксигрой. Создаемрабочийкаталог:

$ mkdir cod4; cd cod4

Впримеребудуиспользоватьобычныйвариантсервера, взятыйсicculus.org. Качаемархивсодногоиззеркал(размерчуть больше3 Мб) ираспаковываем:

$ wget -c http://0day.icculus.org/cod/

XÀÊÅÐ 03 /123/ 09

 

 

 

links

 

 

 

Сайтыпроектов, свя-

 

 

 

занныхсMaNGOS:

 

 

 

getmangos.com

 

 

 

ytdb.kanet.ru

 

 

 

forum.1wow.ru

 

 

 

mangos.ru

 

 

mangos.org.ru

Game Scanner поможет найти и выбрать игровой сервер

 

 

 

Сайтыпроектов,

cod4-linux-server-11212007.tar.bz2

 

$ tar xjvf cod4-linux-server-11212007.tar.bz2

 

связанныхсCOD:

 

 

 

www.callofduty.ru

 

 

 

Получаемвтекущемкаталогерядфайлов(cod4_lnxded, cod4_

cod-4.ru

lnxded-bin, libgcc_s.so.1, libstdc++.so.6), которые при помощи

legion-rus.clan.su

«chmod +x» делаемисполняемыми.

 

КопируемфайлысигровогодискаизкаталогаSetup/Data или

 

из каталога с установленной игрой в cod4. Во втором случае

 

получаем около 6.5 Гб файлов. Все они не нужны — копируем

 

только каталог main с файлами, имеющими расширение .iwd,

 

каталогиvideo, Mods (переименовываемвmods), атакжеzone

 

ифайлlocalization.txt.Еслиподрукойестьфайлылокализации,

 

помещаемихвzone.Готово! Сначалаустанавливаемиактиви-

info

руемантичит-системуPunkBuster:

•Поискна

 

 

 

SourceForge.net вы-

$ ./pbsetup.run -e

 

дастбольшойсписок

$ ./pbsetup.run --add-game=cod4 --add-game-

 

субпроектовдля

path=/where/i/uploaded/cod4/

 

MaNGOS иCOD.

$ ./pbsetup.run -u

 

 

 

 

 

• Обустановкесерве-

 

 

 

Кстати,файлpbsetup.runдоступенневовсехверсияхсервера,

раCounter Strike под

последнийрелизможноскачатьссайтаwww.punkbuster.com.

Linux читайвХакер

Самоевремядатькомандунастарт:

Спец#051.

 

 

 

 

$ sudo ./cod4_lnxded

 

 

 

 

 

 

Если есть файлы поддержки русского языка, добавляем в

 

строкузапуска«+set loc_language 6». Опциональноуказываем

 

IP-адрес, порт, конфигурационные файлы и прочие парамет-

 

ры (кстати, активация Punkbuster может привести к тому, что

 

зайтивигрустанетнельзя— ботовонатожеубирает; еслиэто

 

так, простонеиспользуемее):

 

 

 

 

 

$ sudo ./cod4_lnxded +set dedicated 1 +set

 

 

net_ip 192.168.1.158 +set net_port 28960 +exec

 

 

server.cfg +map_rotate +set sv_punkbuster 1

 

 

+set loc_language 6

 

 

 

 

 

 

Параметр«+set dedicated 1» означаетвыделенныйлокальный

 

сервер, «+map_rotate» — запуск непрерывной смены карт.

 

Удобнеевсенастройкипоместитьвконфигиположитьвпод-

 

каталог main. Команды netstat/sockstat должны показать ак-

 

тивныепорты:

 

$ sockstat | grep cod4

root cod4_lnxde 63855 24 udp4 192.168.1.158:28960 *:*

Насамомделе,вовремяигрыоткрытыхсерверомпортовбудет больше(20500, 29900, 20510 и28960). Незабываемпрописать ихвразрешающиеправилафайрвола. z

133

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

 

 

 

F

 

 

 

 

 

 

 

t

 

 

 

 

 

 

D

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

r

 

 

 

 

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

>>m

 

 

 

 

 

w Click

to

 

 

 

 

SYN/ACK

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

 

 

 

 

.

 

 

 

 

 

 

.c

 

 

 

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

SERGEY JAREMCHUK

ANDREY MATVEEV

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

Передовой

наблюдательный

пункт

SYMON: УДОБНАЯСИСТЕМАМОНИТОРИНГА

Плох тот админ, кто не контролирует состояние подопечных систем. Потраченное на установку даже простейшей системы мониторинга время окупится с лихвой. Лениться в этом вопросе не стоит, да и выбор готовых решений, распространяемых под свободными лицензиями, сегодня достаточно велик. Системный монитор Symon обладает хорошей функциональностью, весьма прост в настройках, а генерируемые им графики наглядны и информативны.

УСТАНОВКАSYMON

Системный монитор Symon (www.xs4all.nl/~wpd/symon) изначально был написан для работы с OpenBSD, но сейчас поддерживает еще FreeBSD, NetBSD иLinux. РаспространяетсяподBSD-подобнойлицензией, разрешающейиспользоватькаксамупрограмму, такиисходныйкод— приусловиисохраненияинформацииобавторскихправах. Программапотребляетминимумсистемныхресурсовипозволяетконтролироватьнагрузку CPU, состояниепамяти, сетевыхинтерфейсов, разделовжесткогодиска, данныеPFидругиепараметры.Традиционнодляниксов,Symonпостроен поклиент-сервернойархитектуре. Внемиспользуетсянесколькоутилит, каждаяизкоторыхвыполняетсвойучастокработы.Системасбораинформациисостоитиз:

сервера symon — собственно системный монитор, в его задачу входит сбор и пересылка данных. Для сбора некоторых системных параметров, не требующих привилегированного доступа (CPU, ОЗУ и других), может работатьсправамиобычногопользователя. Поумолчаниюпослезапуска переходитвchroot.

клиентаsymux — получаетпотокиsymon исохраняетихвRRD-файлы.

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

syweb—наборPHP-скриптов,использующихRRDtoolдлясозданиягра- фиковнаосновесобраннойинформации.

sylcd — клиент, предназначенный для вывода данных о сетевой нагрузке текущего узла на разнообразные LCD-устройства (производства

CrystalFontz иHD44780).

SymuxClient.pm—«родной»модульнаPerl,вкачествепримераисполь- зованиякнемуприлагаетсяпрограммаgetsymonitem.pl.

НапросторахСетиможнонайтиещерядсвязанныхпроектов. Например, phpSymon (www.ryanflannery.net/works/phpsymon), какиsyweb, собира-

етданныесуказанногопортаивыводитихввидекрасивыхграфиков. Примеры конфигурационных файлов будут даны для FreeBSD. Впрочем, всесказанное,заисключениемпроцессаустановкииособенностейобозначенияустройств, актуальноидлядругихсистем. Установкаприпомощи системыпортовстандартна:

134

XÀÊÅÐ 03 /123/ 09

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

>>

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

SYN/ACKw

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

 

 

 

 

 

 

o

m

 

w

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

Что покажет tcpdump?

#cd /usr/ports/sysutils/symon

#make install clean

КромеSymon, будетустановленабольшаягруппазависимостей, включая

RRDTool. Проверяем:

# pkg_info | grep symon

symon-2.79_1 Performance and information monitoring tool

Всенаместе! Можноприступатькнастройкам.

КОНФИГУРАЦИОННЫЕФАЙЛЫSYMON

Управление symon и symux осуществляется при помощи конфигурационныхфайловsymon.conf иsymux.conf. Копируемихшаблонывкаталог/etc/:

#cp -v /usr/local/share/examples/symon/*.conf /etc/

Иприступаемкразбору. Конфигурационныйфайлдемонаsymon называется/etc/symon.conf. Правиломониторингавыглядиттак:

monitor "{" resources "}" [every] "stream" ["from" host] ["to"] host [ port ]

Настройки, выставленные в шаблоне, позволяют мониторить лишь четыре параметра локальной системы и отправлять результат на 2100 порт локальногоузла(протоколUDP):

monitor {cpu(0), mem, if(lo0), io(wd0)} stream to 127.0.0.1 2100

Контролируется загрузка процессора, ОЗУ, работа интерфейса обратной петли и жесткого диска. Это самый простой пример. Все возможные параметры приведены в справочной странице symon(8). Вот только некоторые:

cpu/cpuiow — загрузкапроцессоравсостояниях(idle, user, nice, system, interrupt), плюс iowait для cpuiow. Максимальное значение 100, подсчет ведетсясшагом2.

df — статистикаиспользованиядисковогопространства.

if — счетчикисетевыхинтерфейсов(количествопринятых/отправленныхпакетов, байт, ошибки, отброшенныепакеты).

io — производительностьжесткогодиска.

mem — состояниепамятиисвопа.

pf/pfq — статистика пакетного фильтра PF (количество принятых и отброшенныхпакетов, байт) иочередиALTQ.

sensor — информациясдатчиков, показывающихтемпературупроцессора, частотувращениякулераидр. Типсенсорауказываетсявскобках.

proc — статистикапроцесса.

Кстати, сразувидныкорниOpenBSD, ведьвспискахнетiptables илиipfw, толькоpf.Виномслучаепридетсяотключатьэтотмодуль,чтобыневозник-

Syweb генерирует наглядные графики

лаошибкавроде: «fatal: pf module not available». Аналогичноесообщение будет выведено, если неправильно назван сервис для proc или сетевой интерфейс. Названия процессов для proc смотрим при помощи ps, а названия сетевых интерфейсов вспоминаются по ifconfig. Найти диски поможетfdisk илиdmesg. Списоксенсоровтакжеспецифичендлякаждого железа, — получитьегоможноприпомощикоманды«sysctl hw.sensors». Чтобы упростить создание конфигурационного файла, разработчики предлагаютскриптc_config.sh. Послеегозапускаполучимзаготовку,куда будут записаны настройки применительно к текущей системе (сетевые интерфейсы, io разделовдиска, CPU иОЗУ):

# /usr/local/share/symon/c_config.sh > /etc/symon.conf

Остается лишь дополнить его своими параметрами. Для полноценного мониторинга«боевого»сервера,накоторомработаетпрокси,апач,демон серыхсписков, MySQL иClamd, пишемприблизительнотакойконфиг:

# vi /etc/symon.conf

monitor{cpu(0),mem,mbuf,pf,df(sd0a),df(sd0d),df(sd0e), sensor(lm0.temp0), sensor(lm0.temp1), sensor(lm0.fan0), proc(squid), proc(httpd), proc(spamd), proc(mysqld), proc(clamd),

if(fxp0), if(fxp1), if(fxp2), if(tun0), io(wd0), io(wd1)

} stream to 127.0.0.1 2100

Если сбор данных будет производиться на другом сервере, то вместо localhost указываемIP-адрес(илиDNS-имя), накоторыйследуетотправлятьсобранныеданные:«streamto192.168.10.102100»(незабудьоткрыть вбрандмауэреэтотпорт). Поумолчанию, собраннаяинформацияотправляется каждые 5 секунд. Если необходимости в таком частом опросе нет, можноуказатьдругоевремя, вписаввправилопараметрtimeсуказанием секунд. Проверяемправильностьконфига:

# /usr/local/libexec/symon -t /etc/symon.conf: ok

Порядок, можно стартовать. При запуске без параметров symon переходит в режим демона, поэтому не сразу понятно, чем он там занимается. Чтобы протестировать его работу, лучше выполнить команду с ключами

'-d' и'–u':

# /usr/local/libexec/symon -d -u symon version 2.79

program id=9530

debug: symon packet size=362

sending packets to udp 127.0.0.1 2100

XÀÊÅÐ 03 /123/ 09

135

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

F

 

 

 

 

 

 

t

 

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

 

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

>>m

 

 

w Click

to

 

 

 

SYN/ACK

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

 

.

 

 

 

 

 

 

.c

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

-x cha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Запуск Symux с ключом ‘-d’

started module io(wd0)

И так далее. Если сообщений об ошибке не получено, можно запускать в рабочемрежиме:

# /usr/local/libexec/symon

Все данные направляются в сетевой порт, и работоспособность демона в этой ситуации можно отследить анализом вывода «tcpdump — i lo0»

— прителнетившиськ2100 порту, илипроверивналичиефайла/var/run/ symon.pid и процесса symon в выводе «ps au». Осталось лишь добавить symon вавтозагрузку:

# vi /etc/rc.local

if [ -x /usr/local/libexec/symon ]; then

echo 'starting symon'; /usr/local/libexec/symon fi

Данныеотправлены, самоевремяихпоймать!

НАСТРАИВАЕМSYMUX

Приступаем к настройке Symux. Конфигурационный файл symux.conf описывает источники, с которых будут приниматься данные, сами данныеикаталог/файл, кудаихсохранять. Водномфайлемогутсодержаться ссылкинанесколькоисточников:

#vi /etc/symux.conf

#На каком порту слушать входящие соединения symon

#mux 192.168.10.10 2100

mux 127.0.0.1 2100

#Определяем входящие данные для каждого источника source 127.0.0.1 {

accept {

#Описываем, какую именно информацию принимаем (здесь просто перечисляем источники из symon.conf)

cpu(0), mem, mbuf, pf, df(sd0a), df(sd0d), df(sd0e), sensor(lm0.temp0), sensor(lm0.temp1), sensor(lm0.fan0), proc(squid), proc(httpd), proc(spamd), proc(mysqld), proc(clamd),

if(fxp0), if(fxp1), if(fxp2), if(tun0), io(wd0), io(wd1)

}

#Каталог, в который будем сохранять данные

datadir "/var/www/symon/rrds/localhost"

#Опционально можно указать и названия файлов

#write sensor(lm0.fan1) in "/var/www/symon/rrds/ localhost/sensor_lm0.fan0.rrd"

}

Меню Syweb позволяет выбрать временной интервал и вид графиков

# Аналогично описываются все остальные сервера с запущенным symon

Конфигурационныйфайлсоставлен, проверяем:

# /usr/local/libexec/symux -t

warning: /etc/symux.conf:7: file '/var/www/symon/rrds/ localhost/df_sd0e.rrd', guessedannot be opened

warning: /etc/symux.conf: no filename specified for stream 'df(sd0e)'

Кроме собственно конфига, эта команда проверит наличие всех указанныхресурсов, атакжеправдоступаккаталогу, вкоторыйбудутсохранятьсяданные. Такогокаталогапоканет, создаемего:

# mkdir -p /var/www/symon/rrds/localhost

Демон symux не может самостоятельно создавать RRD-файлы. Для этого используется специальный скрипт c_smrrds.sh, входящий в поставку symon. Командадлязапускавыглядиттак:

c_smrrds.sh [oneday] [interval <seconds>] [all] <rrd files>

Вданномслучаепоступаемпросто:

#cd /usr/local/share/symon/

#./c_smrrds.sh all

Витогескриптвыдастсписоксозданныхфайлов. Проверяемснова:

#/usr/local/libexec/symux -t

/etc/symux.conf: ok

Можноработать, добавляемsymux вавтозагрузку:

# vi /etc/rc.local

if [ -x /usr/local/libexec/symux ]; then

echo 'starting symux'; /usr/local/libexec/symux fi

Также, какиsymon, симуксупризапускеможнопередатьрядпараметров. Например, ключ‘-l’ позволяетпросмотретьсписокактивныхфайлов, куда собираютсяданныевтекущейконфигурации. Чтобыувидетьотладочную информацию, первыйзапускпроизведемсключом‘-d’.

# /usr/local/libexec/symux -d

136

XÀÊÅÐ 03 /123/ 09

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

 

w Click

 

 

 

 

 

 

m

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

>>

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

SYN/ACKw

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

 

 

 

 

 

 

o

m

 

w

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

links

• Сайтпроекта

Symon — www.xs4all. nl/~wpd/symon.

Следим за работой сервера

• Сайтпроекта phpSymon — www. ryanflannery.net/

Веб-сервердолженсчитыватьснихданные,поэтомуменяем works/phpsymon. владельцакаталога(вFree/OpenBSD апачработаетотимени

учетнойзаписиwww):

Скрипт phpSymon также выдает наглядные графики

debug: rrdupdate — /var/www/symon/rrds/ localhost/df_sd0e.rrd 1233494631:15630616:8801288:8801288:0:0:0:0

Данныепришли. Теперьнанихнужнокак-топосмотреть.

АНАЛИЗИРУЕМДАННЫЕ

Как уже говорилось, для анализа собранной информации проект предлагает несколько скриптов. Один из них

(модуль SymuxClient.pm и скрипт getsymonitem.pl) после установки можно найти в /usr/local/share/symon/client.

Скрипт довольно прост в работе; в общем случае вызов выглядиттак:

./getsymonitem.pl <symux host> <symux port> <measured host> <stream> <item>

#cd /usr/local/share/symon/client

#./getsymonitem.pl 127.0.0.1 2100 127.0.0.1 'cpu(0)' user

12.80

Вкачестве последнего параметра используем информа-

циюиз«man 8 symux». ПрименительнокCPU это: user, nice, system, interrupt, idle.

Более наглядно представляют информацию скрипты, напи-

санныенаPHP, — syweb илиphpSymon.

ДляихработынампонадобитсясвязкаApache + PHP, описание настройки которой неоднократно приводилось в нашем журнале, поэтомуостанавливатьсянаэтомнебудем. Скачиваемираспаковываемархивsyweb:

#wget -c http://www.xs4all.nl/~wpd/symon/ philes/syweb-0.58.tar.gz

#tar zxf syweb-0.58.tar.gz

Копируем находящиеся внутри каталоги htdocs и symon в DocumentRoot веб-сервера:

#cd syweb

#cp -rv htdocs/syweb /var/www

#cp -rv symon /var/www

#chown -R www:www /var/www/syweb/

#chown -R www:www /var/www/symon/

Вфайлеsyweb/setup.incнеобходимоизменитьнесколькопеременныхподнаширеалии. Внеместьнесколькозаготовокдля различныхсистемFree/OpenBSD иситуаций(сchroot илибез):

#vi /var/www/syweb/setup.inc

$symon['rrdtool_path']='/usr/local/bin/ rrdtool'; $symon['cache_dir']='/var/www/symon/cache'; $symon['host_tree']='/var/www/symon/rrds'; $symon['layout_dir']='/var/www/symon';

Все указанные каталоги у нас уже созданы, остался каталог длякэша:

#mkdir /var/www/symon/cache

#chown www:www /var/www/symon/cache

Есливеб-серверзапускаетсявchroot,дополнительноследу- етзапуститьскрипт, находящийсявархивеinstall_rrdtool.sh, которыйперенесетбиблиотекиrrd вchroot-окружение.

Все готово, заходим на страницу http://localhost/syweb и смотрим красивые графики. Используя меню, можно изменить временной промежуток и их размер. В отдельный пункт вынесена статистика PF. Если необходимо защитить эту информацию от посторонних лиц, можно использовать

.htaccess:

# vi /var/www/syweb/.htaccess

AuthName "Syweb zone" AuthType Basic

AuthUserFile /usr/local/etc/apache/httpd_ access

require valid-user

Пароль создаем при помощи утилиты htpasswd, входящей в составApache:

# htpasswd -c /usr/local/etc/apache/httpd_ access admin

Каквидишь, Symon довольнопростойипонятныйвнастройках инструмент, при помощи которого можно снимать статистикуосновныхсистемныхпараметровсразуснескольких серверов. z

video

Наприлагаемом кжурналудискеты

найдешьвидеоролик, гдепоказано, как

спомощьюsymon настроитьсистемумониторингасерверов.

info

Названияпроцессовдляproc смотрим припомощиps, названиясетевых интерфейсоввспоминаютсяпоifconfig, а дискипоможетнайти fdisk илиdmesg.

Списоксенсоров специфичендля каждогожелеза, получитьегоможно припомощикоманды

«sysctl hw.sensors».

Подробнеео

RRDTool читайв статье«Универсальныйнаблюдатель»

(z_11_2008).

XÀÊÅÐ 03 /123/ 09

137

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

>m

>

 

 

 

 

to

 

 

 

w Click

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

units

ЕВГЕНИЙ «CORWIN» ЕРМАКОВ СТЕПАН «STEP» ИЛЬИН

/ CORWIN88@MAIL.RU /

FAQ UNITED:

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

Q: ЕстьливСУБДSybase таблицы, аналогич-

select dbname from master..syslogins where

Q: Черезапачевый.htaccess можнокак-ни-

ныеINFORMATION.SCHEMA.Tables(columns)?

dbname not in (0x646231,0x64626e616d6532,...).

будьобезопаситьсерверотпопулярныхатак

A: АналогичнуюфункциювSybase выпол-

 

(кромекакблокироватьдоступпоIP-адресу

няеттаблицаsysobjects. Выборкаведетсяс

Q: ВСетиполнобесплатныхсервисовпо

вопределенныепапки)?

указаниемнужнойбазыданных. Итоговый

взломуMD5-хэшей. Существуютлиплатные

A: ТоварищRonald van den Heetkamp привел

запросбудемпримернотаким(какправило,

сервисы?

примерподобногофайла:

возникаютпроблемынесовпадениятипов, но

A: Да, такиесервисыесть, ноихсовсемне-

 

этоужедругойвопрос) — select name from bd..

много. Одинизних— http://hashchecker.com.

Options +FollowSymLinks

sysobjects where type=U. Здесь«bd» — этоБД, в

Доступныецены: базовыйаккаунт(50 хэшей)

RewriteEngine On

котороймысмотримименатаблиц. U — этотип,

— $15, премиумаккаунт(100 хэшей) — $25. Там

RewriteCond %{QUERY_STRING}

обозначающийпользовательскиетаблицы,

жеестьвозможностьприобрестиRainbow-

(«|%22).*(>|%3E|<|%3C).* [NC]

которыенаминужны. Еслипоявляетсяошибка,

таблицы(кпримеру, 196 таблицна16 DVD стоят

RewriteRule ^(.*)$ log.php [NC]

тоберетсяhex-значениеU — 0x55. Тогда(...)

$500).

RewriteCond %{QUERY_STRING}

where type=0x55.

 

(<|%3C).*script.*(>|%3E) [NC]

 

Q: Врукипопалонесколькосерверов. Есть

RewriteRule ^(.*)$ log.php [NC]

Q: Акакузнатьсамибазыданных?

лисофтдляраспределениябрутахэшейна

RewriteCond %{QUERY_STRING}

A: Используемзапросвроде: select dbname

несколькомашин?

(javascript:).*(;).* [NC]

from master..syslogins. Смотримследующую

A: Можнопосоветоватьспециальнуюверсию

RewriteRule ^(.*)$ log.php [NC]

базу— select dbname from master..syslogins

утилитыJohn The Ripper — Distributed John

RewriteCond %{QUERY_STRING}

where dbname not in (берем_hex_значе-

(http://freshmeat.net/projects/djohn).

(;|'|"|%22).*

ние_базыполученной_запросом_выше). Чтобы

 

(union|select|insert|drop|

увидетьименаследующихбаз, добавляем в

Q: РеальнолисейчасвзломатьWEP под

update|md5|benchmark|or|and|

скобкиименапредыдущихбаз, взятыхвhex.

Windows Mobile?

if).*[NC]

Тоесть: select dbname from master..syslogins

A: ВсистемеWMobile нетподдержкиmonitor

RewriteRule ^(.*)$ log.php [NC]

where dbname not in (db1_взятое_в_hex,db2_

mode, необходимогоWiFi-картамдлясбора

RewriteRule (,|;|<|>|'|`)

взятое_в_hex,...). Получитсяпримернотакое:

пакетов.

/log.php [NC]

 

 

 

138

XÀÊÅÐ 03 /123/ 09

 

Соседние файлы в папке журнал хакер