|
|
| (не показаны 32 промежуточные версии 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''' - Программа бармена , служит для регистрации вызовов бармена с клиентских машин
| + | |
| − | | + | |
| − | ==Настройка ПО==
| + | |
| − | | + | |
| − | ==Контроль за доступом в интернет==
| + | |
| − | ===Управление доступом через 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]] |
| | + | * [[Считыватели магнитных карт и отпечатков пальцев]] |
| | + | * '''[[Контроль за доступом в интернет]]''' |