Установка ПО — различия между версиями

Материал из ASV2 manual
Перейти к: навигация, поиск
(Назначение файлов)
 
(не показано 28 промежуточных версий 2 участников)
Строка 1: Строка 1:
==Дистрибутив==
+
Навигация : [[Заглавная_страница|Оглавление]]
 
+
 
+
 
+
'''Состав дистрибутива : '''
+
 
+
 
+
* '''!Changes.txt''' – Файл со списком изменений в ПО
+
 
+
* '''ClientInstaller.exe''' – Инсталлятор клиентской части , следует запускать на клиентских компьютерах , но только после установки связи с сервером
+
 
+
* '''ClientInstaller9x.exe''' – Инсталлятор клиентской части для Win9x
+
 
+
* '''OperatorInstaller.exe''' – Инсталлятор программы оператора – кассира
+
 
+
* '''ServerInstallerFull.exe''' – Инсталлятор сервера ( MySQL , Server , Boss и пр. файлы для работы сервера )
+
 
+
* '''WinInetControlInstaller.exe''' – Инсталлятор сервиса для подсчёта трафика и управления доступом в интернет под WinNT
+
 
+
* '''Barman.exe''' - Программа бармена (опционально)
+
+
* '''McardReaderService.exe''' - Сервис WinNT для работы со считывателем магнитных карт (опционально)
+
 
+
* '''WinTIServiceInstaller.exe''' - Инсталлятор сервиса для подсчёта трафика и управления доступом в интернет через программу TrafficInspector под WinNT
+
 
+
 
+
==Назначение файлов==
+
 
+
'''Каталоги : '''
+
 
+
* '''Doc''' - описание некоторых моментов в работе системе , все файлы имеют расширение *.pdf читать их можно с помощью программы Acrobat Reader 
+
 
+
* '''Logs''' - В этом каталоге хранятся логи программы в виде : server-дата.log ( пример server-2007-03-23.log) 
+
 
+
 
+
'''Файлы : '''
+
 
+
* '''!Changes.txt''' – текстовый файл, содержащий описание изменение от версии к версии ПО.
+
 
+
* '''asta.cer''' – SSL сертификация server.exe. Должен находиться в папке с server.exe
+
 
+
* '''asta.der''' – SSL сертификация server.exe. Должен находиться в папке с server.exe
+
 
+
* '''Server.exe''' – основная программа комплекса. Занимается пересчетом состояния компьютеров клуба. Выполнена в виде консольного приложения.
+
 
+
* '''ASVServerService.exe''' – тоже самое, только в виде сервиса NT.
+
 
+
* '''Boss.exe''' – программа системного администратора для настройки прейскурантов, создания, просмотра и конфигурирования Базы Данных и т.п.
+
 
+
* '''ClubsViewer.exe''' – программа для мониторинга неограниченного числа клубов. Может периодически показывать текущее состояние кассы клубов, средние показатели доходности, версии серверов и т.п.
+
 
+
* '''ClubsViewerView.ini''' - Файл настроек ClubsViewer.exe
+
 
+
* '''DataBaseCreator.exe''' - Консольная утилита для создания БД "asta" 
+
 
+
* '''FwRulezMaker.exe''' – вспомогательная программа для создания множества правил для Firewall под FreeBSD (ipfw)
+
 
+
* '''McardReaderService.exe''' – вспомогательный сервис Windows NT для работы со считывателем магнитных карт
+
 
+
* '''Server.bat''' – файл, который запускает server.exe с зацикливанием (второстепенный файл)
+
 
+
* '''ServerViewer.exe''' – программа для удаленного доступа к консоли Server.exe, просмотра состояния клуба, базовой статистики по финансам, графиков приходов денег, загрузки клуба 
+
 
+
* '''TrafficViewer.exe''' – программа визуализации расхода трафика клиентскими машинами, а также другими, которые есть в вашей сети и определены в ПО.
+
 
+
* '''License.rtf''' - Файл с лицензионной информацией 
+
 
+
* '''Server.dat''' - Зашифрованный файл с помощью которого Server.exe получает информацию о соединении с БД MySQL
+
 
+
* '''ServerSetuper.exe''' - Утилита для создания зашифрованного файла для Server.exe 
+
 
+
* '''Barman.exe''' - Программа бармена , служит для регистрации вызовов бармена с клиентских машин
+
 
+
 
+
  
 
----
 
----
  
==Первый запуск ПО==
 
===Подготовка к установке===
 
===Установка серверной составляющей комплекса===
 
 
Описание установки сервера.
 
 
* Запускаем ServerInstallerFull.exe 
 
 
 
[[Изображение:Setup1.GIF]]
 
 
 
После нажатия на кнопке "Да" появиться диалог выбора языка :
 
 
 
[[Изображение:Setup2.GIF]]
 
 
 
* Выбираем русский , жмем "Ok" 
 
 
* Перед нами появляется окно приветствия : 
 
 
 
[[Изображение:Setup3.GIF]]
 
 
 
 
Нажимаем далее :
 
 
* Перед нами лицензионное соглашение :
 
 
 
[[Изображение:Setup4.GIF]]
 
 
 
Необходимо '''обязательно''' ознакомиться с лиц. соглашением и затем выбрать пункт "Я принимаю условия соглашения" . Нажимаем далее :
 
 
 
* Ввод пароля :
 
 
 
[[Изображение:Setup5.GIF]]
 
 
 
В данном окне вы должны ввести пароль от дистрибутива сервера. Пароль вы получите при покупке ПО от разработчика. Вводим пароль и нажимаем далее :
 
 
 
* Ознакамливаемся с информацией : 
 
 
 
[[Изображение:Setup7.GIF]]
 
 
 
Нажимаем далее :
 
 
 
* Просматриваем информацию о себе. т.е покупателе : 
 
 
 
[[Изображение:Setup6.GIF]]
 
 
 
 
Нажимаем далее :
 
 
* На этой странице вы должны ввести путь до расположения файлов ПО
 
 
 
[[Изображение:Setup8.GIF]]
 
 
 
Вводим путь и нажимаем далее :
 
 
* Выбор компонентов установки : 
 
 
 
[[Изображение:Setup9.GIF]]
 
 
 
Выбираем необходимые компоненты для установки ПО :
 
 
# '''Main Server''' - Сам сервер который обеспечивает работу ПО в целом 
 
# '''ServerViewer''' - программа для удаленного доступа к консоли Server.exe, просмотра состояния клуба, базовой статистики по финансам, графиков выручек, загрузки клуба по времени
 
# '''ClubsViewer''' - Программа для для просмотра информации по клубам ( суммы , занятость и пр. ) 
 
# '''TrafficViewer''' - программа для просмотра трафика с заранее определенных ip из Вашей сети (число ip-адресов не ограничено
 
# '''Boss.exe''' - Основная программа руководителя в которой осуществляется настройка комплекса и просмотр отчетов ( выручка , гостевая книга и пр ) 
 
# '''FwRullezMaker''' - Программа для создания скриптов под FreeBSD
 
# '''Сервер MySQL''' - (версии выше 4.0.18) – основное хранилище данных. Содержит больше сорока таблиц, хранящих информацию о клиентах, логи всех операций, истории работы клиентов на компьютерах и прочее. Может находится на машине практически с любой ОС. Рекомендуем на FreeBSD. На Win2k/XP тоже проблем замечено не было.
 
 
 
'''Main Server , Boss.exe , Сервер MySQL '''
 
 
 
Если вы не устанавливаете сервер '''MySQL''' из стандартной поставке по некоторым причинам ( например версия сервера БД устарела ) И решите установить сервер '''MySql''' самостоятельно то вам нужно прочитать соответствующий раздел документации.
 
 
 
Выбираем необходимые нам компоненты и нажимаем далее :
 
 
* Если у вас на диске мало места для установки то программа установки выведет диалог : 
 
 
 
[[Изображение:Setup10.GIF]]
 
 
 
В этом случае нужно освободить свободное место на жестком диске ( либо указать другой диск ) и повторить действия по установке заново.
 
 
 
* Страница выбора записи в разделе программ кнопки "Пуск" : 
 
 
 
[[Изображение:Setup11.GIF]]
 
 
 
Нажимаем далее :
 
 
* Читаем подтверждающую информацию и нажимаем кнопку установить 
 
 
 
[[Изображение:Setup12.GIF]]
 
 
 
* По окончании установки вам будет выдано сообщение что установка прошла успешно. 
 
 
Теперь вы можете приступить к настройке комплекса.
 
 
===Установка клиентской составляющей комплекса===
 
===Установка программы Operator===
 
 
==Настройка ПО==
 
==Контроль за доступом в интернет==
 
===Управление доступом через FreeBSD===
 
 
=====Настройка доступа к FreeBSD=====
 
 
Доступ к серверу с FreeBSD производится через '''telnet''' (возможно ssh1 или ssh2).
 
 
Доступ требуется только программе '''Server.exe''' комплекса.
 
 
В программе Boss.exe (Настройки – Настройка работы Сервера – Закладка «FreeBSD») отредактируйте значения под ваши параметры подключения к серверу с '''FreeBSD'''.
 
 
Если Пароль для команды '''Su''' не указан, то считается, что будет прямое подключение пользователя root к серверу Unix. Обычно прямое подключение root запрещено. Для разрешение прямого коннекта root под FreeBSD требуется установка параметра:
 
 
PermitRootLogin yes
 
 
в файле '''/etc/ssh/sshd_config'''
 
 
Также для FreeBSD версий выше 5.3 в файле /etc/ssh/sshd_config пропишите:
 
 
PasswordAuthentication yes
 
UseDNS no
 
 
 
----
 
 
=====О терминологии=====
 
 
Существуют различные режимы тарификации работы клиента на компьютере:
 
 
# режим с '''открытой''' тарификацией
 
# '''блочная''' тарификация
 
# '''пакетный''' режим
 
# в режиме открытой тарификации возможен '''«доверительный»''' режим работы (оплата в конце работы)
 
 
 
----
 
 
=====О важных таблицах для управления firewall-ом=====
 
 
* '''сompstate''' – основная таблица текущего состояния компьютеров клуба.
 
* '''price_list_packet''' – прейскурант на пакеты
 
* '''price_traffic''' – прейскурант на дополнительный трафик и факт включения интернета на клиенте при блочной и пакетной посадке
 
 
* Прейскурант для открытой тарификации:
 
** '''price_list_open_main'''
 
** '''price_list_open_date_time_tracks'''
 
** '''price_list_open_res'''
 
 
* Прейскурант для блочной тарификации:
 
** '''price_list_block_main'''
 
** '''price_list_ block _date_time_tracks'''
 
** '''price_list_ block _res'''
 
 
* '''ip_state''' - таблица, содержащая ip-адреса, подлежащие учету (адресов может быть больше, чем компьютеров в клубе. Например, машина администратора, офиса, охраны, сторонних организаций и т.п.)
 
 
* '''firewall_profiles''' - таблица, определяющая шаблоны правил для управления ipfw
 
 
 
----
 
 
=====О таблице firewall_profiles=====
 
 
В таблицах, которые определяют прейскурант клуба, есть поле '''FWProfilesID.'''
 
 
Это поле хранит индекс строки в таблице '''firewall_profiles.'''
 
 
Таблица '''firewall_profiles''' представляет собой данные о том, какой набор команд сбросить в firewall через telnet при наступлении особых событий, а именно: начало и окончание сессии клиента, выключение интернета при превышении трафика и прочее.
 
 
В завсисимости от режима работы, который при начале сессии выбрал клиент, в таблицу compstate в поле '''FWProfilesID''' прописывается значение из аналогичного поля  выбранной таблицы прейскурантов (в строку, соответствующую номеру клиентского компьютера).
 
 
Периодически (по умолчанию раз в две секунды) сервер производит проверку таблицы '''compstate''' на предмет изменений значения поля '''FWProfilesID''' в ней. Если такое изменение обнаружено, то сервер прописывает это новое значение в поле  '''FireWallProfileID''' таблицы '''ip_state''' в запись, которая соответствует ip компьютера из '''compstate.'''
 
 
Также периодически (по умолчанию раз в две секунды) сервер производит проверку таблицы '''ip_state''' на предмет несоответствия  значения поля '''FWProfilesID''' и поля '''PrevFireWallProfileID.''' Если таковое обнаружено, то сервер выполнит через '''telnet''' команды по шаблону из соответствующей записи в '''firewall_profiles'''
 
 
Список шаблонов команд для firewall (под FreeBSD это ipfw) содержится в blob-столбце  '''Template''' таблицы '''firewall_profiles.'''
 
 
Пример обязательной записи номер 1, которая выключает Интернет на машине клиента:
 
 
<pre>
 
ipfw delete %N%00
 
ipfw add %N%00 deny ip from any to %IP%
 
ipfw delete %N%05
 
ipfw delete %N%06
 
ipfw pipe delete %N%05
 
ipfw pipe delete %N%06
 
</pre>
 
 
в ней (а также в любых других записях):
 
 
*%N% - номер записи из ip_state
 
*%IP% - ip адрес этой машины, который будет подставляться из
 
 
Первая строчка из примера добавляет правило, запрещающее входящий ip-трафик на машину.
 
 
Вторая, третья, четвертая и пятая строчки удаляют правила, которые обеспечивают управление полосой шейпера на машине. Откуда могут возникнуть правила? Их может прописать в '''ipfw''' профайл номер три в '''firewall_profiles.'''
 
 
Пример шаблона для включения интернета с ограниченной полосой пропускания на входящий и исходящий трафик (по умолчанию, это правило 3):
 
 
<pre>
 
ipfw delete %N%00
 
ipfw delete %N%03
 
ipfw delete %N%04
 
ipfw delete %N%05
 
ipfw delete %N%06
 
ipfw pipe delete %N%05
 
ipfw pipe delete %N%06
 
ipfw pipe %N%05 config bw 10kbyte/s queue 50
 
ipfw add %N%05 pipe %N%05 ip from any to %IP%
 
ipfw pipe %N%06 config bw 10kbyte/s queue 50
 
ipfw add %N%06 pipe %N%06 ip from %IP% to any
 
</pre>
 
 
Первая строчка удаляет правило deny, чем включает интернет на машине в принципе.
 
 
2-5 строчки удаляют возможные предыдущие состояния шейпера
 
 
Шестая строка определяет pipe (трубу) для входящего ip-трафика и указыват полосу пропускания для неё.
 
 
Седьмая назначает этот pipe только для входящего трафика
 
 
8,9 – тоже, но только для исходящего трафика
 
 
 
----
 
 
=====О подсчете трафика=====
 
 
Принцип подсчета трафика заключается в том, что '''ipfw''' накапливает в своих правилах типа '''count''' информацию о входящем и исходящем трафике для всех ip-адресов, определенных в '''ip_state'''
 
 
Пример записи подсчета трафика для '''ip 192.168.0.1:'''
 
 
<pre>
 
ipfw add 101 count ip from any to 192.168.0.1 via rl0
 
ipfw add 102 count ip from 192.168.0.1 to any via rl0
 
</pre>
 
 
Первое правило считает весь входящий трафик, а второе – исходящий.
 
 
Для остальных машин правила должны выглядеть аналогично.
 
 
Обязательно должно соблюдаться следующее требование: входящий трафик аккумулируется в записях с номерами вида: %N%01 (в примере это 101)
 
 
А для исходящего трафика: %N%02
 
 
Также должно выполняться требование, что запись запретить интернет должна быть вида: '''%N%00'''
 
 
Если записи с таким номером нет, то server будет считать, что интернет на машине есть.
 
 
В комплект программ комплекса входит вспомогательная программа для упрощения процесса генерации записей FwRulezMaker.exe, которая помогает составить файл правил, которые будут грузиться по умолчанию при загрузке машины с FreeBSD :
 
 
[[Изображение:IPFW.GIF]]
 
 
В верхнем окошке можно задать шаблон для генерации правил по всем значениям из диапазона, определяемого в полях выше.
 
 
При генерации вместо значения %N% будет подставлено текущее значение переменной.
 
 
Пример работы программы для пяти машин:
 
 
[[Изображение:IPFW2.GIF]]
 
 
Эти правила следует вставить в автозагрузку FreeBSD, чтобы они автоматом запускались на машине при загрузке.
 
 
Например, создав файл '''/usr/local/etc/rc.d/rulez.sh'''
 
 
Потом прописав для него:
 
 
сhmod a+x /usr/local/etc/rc.d/rulez.sh
 
 
Пример содержимого этого файла с правилами для ipfw (+ для работы с NAT) для пяти машин:
 
 
<pre>
 
#!/bin/sh
 
ipfw -f flush
 
 
ipfw add 10 allow ip from 192.168.0.0/24 to 192.168.0.0/24
 
 
ipfw add 100 deny ip from any to 192.168.0.1
 
ipfw add 101 count ip from any to 192.168.0.1 via rl0
 
ipfw add 102 count ip from 192.168.0.1 to any via rl0
 
 
ipfw add 200 deny ip from any to 192.168.0.2
 
ipfw add 201 count ip from any to 192.168.0.2 via rl0
 
ipfw add 202 count ip from 192.168.0.2 to any via rl0
 
 
ipfw add 300 deny ip from any to 192.168.0.3
 
ipfw add 301 count ip from any to 192.168.0.3 via rl0
 
ipfw add 302 count ip from 192.168.0.3 to any via rl0
 
 
ipfw add 400 deny ip from any to 192.168.0.4
 
ipfw add 401 count ip from any to 192.168.0.4 via rl0
 
ipfw add 402 count ip from 192.168.0.4 to any via rl0
 
 
ipfw add 500 deny ip from any to 192.168.0.5
 
ipfw add 501 count ip from any to 192.168.0.5 via rl0
 
ipfw add 502 count ip from 192.168.0.5 to any via rl0
 
 
ipfw add 65001 divert natd ip from 192.168.0.0/24 to any via rl1
 
ipfw add 65002 divert natd ip from any to 80.92.18.70 via rl1
 
</pre>
 
 
где:
 
 
*rl1 - внешний интерфейс
 
*rl0 – внутренний интерфейс
 
 
Название интерфейсов можно посмотреть по команде ifconfig
 
 
Последние два правила (65001 и 65002) обеспечивают работу NAT.
 
 
Периодически сервер посылает на машину с FreeBSD по telnet команду ipfw show для получения текущего состояния счетчиков трафика для каждой машины:
 
 
ipfw show | awk '{ if ((($4=="count") &&  ( $3!=0 )) || ($4=="deny"))  { printf $1 " " $3"\n"} }'; 
 
ipfw pipe show | awk '{ if (($1!="mask:") && ($1!="BKT") && ($1!=0)) { printf $1 " " $2  "\n" }}'
 
 
И получает ответ вида:
 
 
<pre>
 
00101 37594494
 
00102 8175730
 
00201 19295662
 
00202 12312476
 
00301 46714841
 
00302 7872719
 
00401 118926153
 
00402 7325235
 
00501 22706842
 
00502 4375308
 
00105: 160.000
 
00106: 800.000
 
00205: 160.000
 
00206: 800.000
 
00305: 160.000
 
00306: 800.000
 
00405: 160.000
 
00406: 800.000
 
00505: 160.000
 
00506: 800.000
 
</pre>
 
 
строчка 00101 показывает, сколько байт входящего трафика прошло по правилу 101, т.е. это текущий входящий трафик для первой записи в '''ip_state'''
 
 
Правило 105 показывает, сколько килобит в секунду на входящий трафик сейчас установлено для первой машины
 
 
102 и 106 – по аналогии, только для  исходящего трафика
 
 
Разрабатывая поддержку управления трафиком под другие ос, например Linux, учитывайте требования, изложенные выше.
 
 
При этом вы можете в таблице профайлов писать свои производные шаблоны, соблюдая общие принципы.
 
 
Учитывайте, что вам нужно будет написать свой обработчик команды '''ipfw show''', заменив его своим скриптом, который будет выдавать информацию о трафике строго в формате из примера выше (ddddd <value>)
 
 
В принципе, можно обойтись и без сервиса общения с Unix, если написать самостоятельно скрипт, который будет отслеживать изменения в таблице '''ip_state''', включать-выключать интернет, в зависимости от значений в FireWallProfileID и аккумулировать дельту по трафику в '''IIN_COUNT''', '''IOUT_COUNT''' для тарификации трафика.
 
 
Именно эти два столбца содержат текущее абсолютное значение в байтах по трафику, которое и подставляется в основную таблицу учета клуба (compstate)
 
 
Вам не нужно обнулять их при включении правил. Это сделает server.exe автоматически при начале нового сеанса. Вам следует лишь периодически добавлять в них значение трафика, который прошел за промежуток врмени, от последнего обновления.
 
 
Пример добавления 100 байт входящего и 200 исходящего трафика:
 
 
UPDATE ip_state SET IIN_COUNT= IIN_COUNT+100, IOUT_COUNT=IOUT_COUNT+200
 
 
 
----
 
 
===Управление доступом через Server под WinNT===
 
'''Введение'''
 
 
Программное Обеспечение комплекса (далее просто ПО) дает возможность управления доступом в Интернет клиентских компьютеров, а также сторонних потребителей трафика, например, офисных компьютеров, машин внешних, относительно клуба, клиентов (офисы, квартиры и т.п.). ПО также дает возможность учитывать входящий и исходящий трафик клиентов. 
 
 
Имеется возможность настройки ПО таким образом, что доступ к определенным сетям будет всегда и бесплатно (обычно игровые сервера провайдера, внутригородская сеть), к другим четко прописанным сетям, может тарифицироваться льготно. Весь остальной трафик (весь внешний входящий) при этом тарифицируется базово.
 
 
'''Принцип работы'''
 
 
Дистрибутив ПО системы управления находится в файле '''WinInetControlInstaller.exe'''
 
 
Принцип работы заключается в том, что на машину, раздающую клиентам Интернет ставится дополнительный firewall (очень похожий на ipfw под FreeBSD по системе команд), которым управляет сервис WinIPFWService.exe
 
 
Сервис при своем запуске подключается в БД MySQL с параметрами, которые он берет из файла '''WinIPFWService.ini''' :
 
<pre>
 
; параметры подключения к серверу MySQL
 
; требуются права для записи и чтения таблицы ip_state
 
; и только на чтение из таблиц firewall_profiles и server_config
 
[DataBase]
 
Server=127.0.0.1
 
Port=3306
 
Database=asta
 
Username=root
 
Password=
 
 
 
; системные параметры
 
[System]
 
; как часто производить съем информации о трафике в мсек
 
RecalcInterval=5000
 
 
; отображать ли в логах факты пересчета (полезно для отладки)
 
ShowRecalcEvent=0
 
 
; выполнить ли при старте сервиса автозагрузку ненулевых правил в ipfw
 
; из; таблицы ip_state
 
ResetIpfwAtStartService=1
 
 
; как часто делать срезы в traffic_cut
 
; по умолчанию стоит 0, что означает не делать срезы
 
; не забывайте, что срезы делает сам аста-сервер и эту цифру стоит менять лишь
 
; в случае, если аста-сервер не работает.
 
CutIntervalMinutes=0
 
</pre>
 
Здесь приведены значения по умолчанию ini-файла. Они подходят для варианта, когда '''MySQL''' и '''WinIPFWService''' находятся на одной машине-сервере.
 
 
Типовая конфигурация машины, управляющей доступом в Интернет выглядит приблизительно так:
 
 
[[Изображение:inet-01.gif]]
 
 
На картинке показано, что на машине установлено два сетевых адаптера. На один из них приходит трафик (Internet). Второй же адаптер (Intranet) раздает его на клиентские машины через NAT.
 
 
Пусть адреса у клиентских машин клуба :
 
 
192.168.0.1 – 192.168.0.10 (всего 10 машин)
 
 
Рекомендуем начинать нумерацию машин клуба с 1! По опыту работы это сильно сокращает путаницу в работе клуба при «разборе полетов»
 
 
Вариантов настройки трансляции адресов (NAT) достаточно много. '''Из рекомендуемых:'''
 
 
* Внутренними средствами Windows 2000 Server (2003)
 
 
* Kerio WinRoute Firewall 4.5
 
 
* Microsoft ISA Server
 
 
 
Наш WinIPFWService.exe работает параллельно с перечисленными выше системами и дополнительной их настройки не требуется.
 
 
При своей работе сервис постоянно общается с БД, получая оттуда команды управления и отправляя данные о текущем трафике.
 
 
 
----
 
 
 
'''Установка'''
 
 
* Запустите программу '''WinInetControlInstaller.exe'''
 
 
* Ознакомьтесь с Лицензионным Соглашением.
 
 
* Отвечайте положительно на все вопросы «мастера» установки.
 
 
* Программа-установщик распакует все файлы дистрибутива в указанную Вами папку. 
 
 
Папка по умолчанию: ''''C:\astalaViSta\SuperViSor\WinInetController''''
 
 
* Также программа установит NT-сервис '''WinIPFWService.exe''' и пропишет ему параметр автозапуска при перезагрузке компьютера.
 
 
* После установки сервиса программа инсталлирует система '''wipfw''' с дефолтовым файлом конфигурации работы файрвола. Процесс работы можно увидеть в появившемся dos-окошке:
 
 
 
[[Изображение:inet02.gif]]
 
 
 
Обратите внимание, что выводится список интерфейсов.
 
 
Здесь в примере:
 
 
* '''lo0'''        – это внутренний интерфейс (127.0.0.1)
 
 
* '''eth0'''        – внешний интерфейс (он же у нас назван как Internet)
 
 
* '''eth1'''        – внутренний интерфейс (он у нас назван как Intranet)
 
 
Эти знания пригодятся Вам для построения более «хитрых» правил нежели чем просто учет и включение-выключение трафика.
 
 
 
Список интерфейсов можно посмотреть по команде '''ipfw -L'''
 
 
 
----
 
 
 
'''Настройка файла конфигурации wipfw для подсчета трафика'''
 
 
 
Инициализационные правила лежат в файле: '''ipfw.conf'''
 
 
Это простой текстовый файл, каждая строчка которого описывает определенное правило для файрвола.
 
 
По умолчанию в файле следующие команды:
 
 
<pre>
 
-f flush
 
 
add 1 allow ip from any to any via lo0
 
add 2 allow ip from 192.168.0.0/24 to 192.168.0.0/24 via eth1
 
 
add 101 count ip from any to 192.168.0.1
 
add 102 count ip from 192.168.0.1 to any
 
 
...
 
 
add 1001 count ip from any to 192.168.0.10
 
add 1002 count ip from 192.168.0.10 to any
 
 
add 65535 allow ip from any to any
 
</pre>
 
 
Первая строчка «обнуляет» firewall, удаляя все правила.
 
 
Вторая – разрешает любой внутренний трафик.
 
 
Третья – разрешает любой трафик клиентских машин в пределах интерфейса eth1
 
 
Также она блокирует подсчет трафика в пределах сети '''192.168.0.0:255.255.255.0'''
 
 
Строчка : '''add 101 count ip from any to 192.168.0.1''' – подсчет входящего трафика для первой машины
 
 
Следующая строчка: подсчет исходящего трафика для первой машины.
 
 
И т.д. для 10ти машин.
 
 
Последняя строчка – разрешает любой трафик
 
 
Номера правил моут быть от 1  до 65535
 
 
Может быть несколько правил на одном номере.
 
 
Для настройки учета трафика вашей сети пропишите count-пары для всех компьютеров вашей сети по аналогии.
 
 
 
'''(!) Замечаниe: '''
 
 
Иногда, например при работе с Kerio Winroute Firewall, требуется вместо правила номер 2 прописать следующее:
 
 
 
add 3 allow tcp from 192.168.0.0/24 to 192.168.0.100 44567 via eth0
 
add 4 allow udp from any to 192.168.0.100 44568 via eth0
 
add 5 allow tcp from 192.168.0.100 44567 to 192.168.0.0/24 via eth0
 
add 6 allow udp from 192.168.0.100 44568 to 192.168.0.0./24 via eth0
 
add 7 allow icmp from 192.168.0.0/24 to 192.168.0.0./24 via eth0
 
 
 
Здесь в примере 192.168.0.100 – внутренний ip машины с NAT
 
 
Седьмое правило разрешает диагностические пинги от сервера до клиентских машин
 
 
Аста-сервер использует в своей работе '''tcp-порт 44567''' и '''udp-порт 445678'''
 
 
В примере выше правила 3 4 5 6 разрешают в любом случае трафик клиентских машин с аста-сервером.
 
 
 
'''(!!) Замечаниe: '''
 
 
Если машина с файрволом выполняет функции файл-сервера клуба, то требуется вписать дополнительно правила, аналогичные правилам ниже:
 
 
ipfw add 10 allow tcp from 192.168.0.0/24 to 192.168.0.100 135-139,389,445 via eth0
 
ipfw add 10 allow tcp from 192.168.0.100 135-139,389,445 to 192.168.0.0/24 via eth0
 
ipfw add 10 allow udp from 192.168.0.0/24 to 192.168.0.100 135-139,389,445 via eth0
 
ipfw add 10 allow udp from 192.168.0.100 135-139,389,445 to 192.168.0.0/24 via eth0
 
 
Здесь в примере 192.168.0.100 – внутренний ip файл-сервера (он же файрвол)
 
 
В любом случае, чтобы правила вступили в силу, нужно либо просто перегрузить компьютер, либо запустить init.cmd
 
 
Остановка сервиса: '''WinIPFWService: StopService.cmd '''
 
 
Запуска сервиса: '''WinIPFWService: StartService.cmd'''
 
 
Начать изучение команд ipfw можно :
 
 
[http://www.freebsd.org/doc/ru_RU.KOI8-R/books/handbook/firewalls.html www.freebsd.org/doc/ru_RU.KOI8-R/books/handbook/firewalls.html]
 
 
или
 
 
[http://www.astalavista.ru/files/ipfw_rus.txt http://www.astalavista.ru/files/ipfw_rus.txt]
 
 
 
В любой момент можно в консоли написать команду '''ipfw show''' для просмотра текущих работающих правил и трафика в байтах, который по ним прошел
 
 
Можно написать: '''ipfw show 101 102''' для просмотра трафика только первой машины, например.
 
 
Команда для удаления правила из списка: '''ipfw delete 101 102''' (удалятся 101 и 102 правила)
 
 
Команда для обнуления всех счетчиков: '''ipfw zero'''
 
 
'''ipfw zero 101 102''' – обнулит счетчики только у правил 101 и 102 (полезно для наладки и тестирования)
 
 
Число count-записей не обязательно должно совпадать с числом машин в клубе. Советуем прописать вообще все 254 ip вашей интранет-сети. Аналогично для них в БД в таблице ip_state прописать 254 строчки для всех ip внутренней сети.
 
 
Для скорости создания правил советуем воспользоваться программой комплекта FwRulezMaker.exe, которая позволяет быстро создавать текстовые наборы правил по метапеременным.
 
 
----
 
 
'''Настройка БД для работы с WinIPFWService'''
 
 
Настройка БД производиться из программы '''Boss.exe'''.
 
 
Зайдите в раздел: Настройки – Настройка работы сервера
 
 
В закладке FreeBSD уберите галочку «Включить сервис работы с FreeBSD»
 
 
Теоретически на этой закладке для экзотических конфигураций может потребоваться коррекция отстков от деления. Если не знаете зачем она нужна – лучше не трогайте эти параметры.
 
 
 
Далее открываем настройку Firewall: Настройки – Настройка Правил для Firewall
 
 
Пропишите команды Выключения и Включения доступа в Интернет, как на рисунках ниже:
 
 
[[Изображение:inet-03.gif]]
 
 
[[Изображение:inet-04.gif]]
 
 
На первой картинке правило '''ipfw add %N%00 deny ip from any to %IP%''' запретит любой входящий трафик для машины номер %N%, у которой будет ip: %IP%
 
 
%N% и  %IP% - это метапеременные, вместо которых при работе будут подставляться номер машины и её ip-адрес.
 
 
 
----
 
 
 
'''ПРИМЕР:'''
 
 
 
Ниже приведён пример файла '''ipfw.conf''' для клуба из 10-ти клиентских машин.
 
 
 
* IP-адреса клиентских машин от '''192.168.0.1 до 192.168.0.10. '''
 
 
* IP сервера с winipfw : '''192.168.0.100'''
 
 
* Также эта машина является файл-сервером для машин клуба
 
 
* У машины кассира IP: '''192.168.0.101 '''
 
 
* Дополнительно требуется, чтобы у всех машин клуба всегда был бесплатный доступ в городскую сеть с адресом '''195.91.183.0/24''' (диапазон ip от 195.91.183.0 до 195.91.183.255, он же 195.91.183.0 маска 255.255.255.0). Также бесплатный доступ должен быть на городской игровой сервер с ip '''195.80.77.12'''
 
 
* При рестарте машины с wipfw запретить доступ клиентов в Интернет, разрешить доступ к файлам сервера и разрешить доступ в Интернет сервера и машины кассира.
 
 
В таблице ip_state за соответствующими номерами прописаны адреса: 
 
 
1 - 192.168.0.1
 
2 - 192.168.0.2
 
3 - 192.168.0.3
 
4 - 192.168.0.4
 
5 - 192.168.0.5
 
6 - 192.168.0.6
 
7 - 192.168.0.7
 
8 - 192.168.0.8
 
9 - 192.168.0.9
 
10 - 192.168.0.10
 
100 - 192.168.0.100
 
101 - 192.168.0.101
 
 
 
'''Пример файла ipfw.conf для вышеописанных параметров:'''
 
 
<pre>
 
-f flush
 
 
add 1 allow ip from any to any via lo0
 
 
 
add 3 allow tcp from 192.168.0.0/24 to 192.168.0.100 44567 via eth0
 
add 4 allow tcp from 192.168.0.100 44567 to 192.168.0.0/24 via eth0
 
add 5 allow udp from 192.168.0.0/24 to 255.255.255.255/24 44568 via eth0
 
add 6 allow udp from 192.168.0.100 44568 to 192.168.0.0/24 via eth0
 
add 7 allow icmp from 192.168.0.0/24 to 192.168.0.0/24 via eth0
 
 
 
add 10 allow tcp from 192.168.0.0/24 to 192.168.0.100 135-139,389,445 via eth0
 
add 10 allow tcp from 192.168.0.100 135-139,389,445 to 192.168.0.0/24 via eth0
 
add 10 allow udp from 192.168.0.0/24 to 192.168.0.100 135-139,389,445 via eth0
 
add 10 allow udp from 192.168.0.100 135-139,389,445 to 192.168.0.0/24 via eth0
 
 
 
add 20 allow ip from 192.168.0.0/24 to 195.91.183.0/24
 
add 20 allow ip from 195.91.183.0/24 to 192.168.0.0/24
 
add 20 allow ip from 192.168.0.0/24 to 195.80.77.12
 
add 20 allow ip from 195.80.77.12 to 192.168.0.0/24
 
 
 
add 100 deny ip from any to 192.168.0.1
 
add 100 deny ip from 192.168.0.1 to any
 
add 101 count ip from any to 192.168.0.1
 
add 102 count ip from 192.168.0.1 to any
 
 
 
add 200 deny ip from any to 192.168.0.2
 
add 200 deny ip from 192.168.0.2 to any
 
add 202 count ip from any to 192.168.0.2
 
add 202 count ip from 192.168.0.2 to any
 
 
 
add 300 deny ip from any to 192.168.0.3
 
add 300 deny ip from 192.168.0.3 to any
 
add 301 count ip from any to 192.168.0.3
 
add 302 count ip from 192.168.0.3 to any
 
 
 
add 400 deny ip from any to 192.168.0.4
 
add 400 deny ip from 192.168.0.4 to any
 
add 401 count ip from any to 192.168.0.4
 
add 402 count ip from 192.168.0.4 to any
 
  
 +
'''Общие рекомендации:'''
  
add 500 deny ip from any to 192.168.0.5
 
add 500 deny ip from 192.168.0.5 to any
 
add 501 count ip from any to 192.168.0.5
 
add 502 count ip from 192.168.0.5 to any
 
  
 +
* Не используйте в качестве сервера нестабильное "глючное" железо.
 +
* Не рекомендуем ставить ПО на Raid-массивы (связано с особенностями mysql)
 +
* В качестве сервера рекомендуем использовать машину на процессоре не ниже Pentium 4 с поддрежкой Hyper Threading (Pentium D, Core2Duo, i5, i7)
 +
* В качестве сервера '''не рекомендуем''' использовать старые Intel Xeon
 +
* По опыту стабильнее работает всё, если интерфес у вичестера SATA
 +
* Памяти для работы сервера достаточно 512Mb
 +
* Свободного места на винчестере желательно иметь от 10ти гигабайт.
 +
* Перед уставновкой желательно дефрагментировать ваш HDD. Также выполняйте дефрагментируйте HDD с MySQL хотя бы раз в полгода
  
add 600 deny ip from any to 192.168.0.6
+
Для настройки ПО вы должны следовать инструкциям описаным ниже :
add 600 deny ip from 192.168.0.6 to any
+
add 601 count ip from any to 192.168.0.6
+
add 602 count ip from 192.168.0.6 to any
+
  
  
add 700 deny ip from any to 192.168.0.7
+
''' Установка и настройка серверной части комплекса : '''
add 700 deny ip from 192.168.0.7 to any
+
add 701 count ip from any to 192.168.0.7
+
add 702 count ip from 192.168.0.7 to any
+
  
 +
* [[Установка серверной составляющей комплекса]]
 +
* [[Ручная установка сервера БД MySQL]]
 +
* [[Создание БД в базе данных MYSQL]]
 +
* [[Настройка соеденения Server.exe с БД MySQL]]
 +
* [[Установка программы ASVServerService.exe]]
 +
* [[Программа руководителя BOSS.exe | Программа руководителя '''BOSS.exe''']]
  
add 800 deny ip from any to 192.168.0.8
 
add 800 deny ip from 192.168.0.8 to any
 
add 801 count ip from any to 192.168.0.8
 
add 802 count ip from 192.168.0.8 to any
 
  
 +
''' Кассирская и операторская часть:  '''
  
add 900 deny ip from any to 192.168.0.9
+
* [[Установка программы оператора - кассира : Operator.exe]]
add 900 deny ip from 192.168.0.9 to any
+
* [[Кассирская и операторская часть Operator.exe | Программа администратора (кассира) '''Operator.exe''']]
add 901 count ip from any to 192.168.0.9
+
add 902 count ip from 192.168.0.9 to any
+
  
  
  add 1000 deny ip from any to 192.168.0.10
+
''' Установка и настройка клиентской составляющей : '''
add 1000 deny ip from 192.168.0.10 to any
+
add 1001 count ip from any to 192.168.0.10
+
add 1002 count ip from 192.168.0.10 to any
+
  
 +
* [[Установка клиентской составляющей]]
 +
* [[Клиентская часть программного комплекса]]
  
add 10001 count ip from any to 192.168.0.100
 
add 10002 count ip from 192.168.0.100 to any
 
add 10101 count ip from any to 192.168.0.101
 
add 10102 count ip from 192.168.0.101 to any
 
  
+
''' Настройка установленного ПО '''
add 65535 allow ip from any to any
+
</pre>
+
  
===Управление доступом на клиентском компьютере===
+
* [[Настройка связи]]
 +
* [[Автоматическая установка IP]]
 +
* [[Настройка программы ServerViewer.exe]]
 +
* [[Считыватели магнитных карт и отпечатков пальцев]]
 +
* '''[[Контроль за доступом в интернет]]'''

Текущая версия на 15:31, 2 августа 2010

Навигация : Оглавление



Общие рекомендации:


  • Не используйте в качестве сервера нестабильное "глючное" железо.
  • Не рекомендуем ставить ПО на Raid-массивы (связано с особенностями mysql)
  • В качестве сервера рекомендуем использовать машину на процессоре не ниже Pentium 4 с поддрежкой Hyper Threading (Pentium D, Core2Duo, i5, i7)
  • В качестве сервера не рекомендуем использовать старые Intel Xeon
  • По опыту стабильнее работает всё, если интерфес у вичестера SATA
  • Памяти для работы сервера достаточно 512Mb
  • Свободного места на винчестере желательно иметь от 10ти гигабайт.
  • Перед уставновкой желательно дефрагментировать ваш HDD. Также выполняйте дефрагментируйте HDD с MySQL хотя бы раз в полгода

Для настройки ПО вы должны следовать инструкциям описаным ниже :


Установка и настройка серверной части комплекса :


Кассирская и операторская часть:


Установка и настройка клиентской составляющей :


Настройка установленного ПО