Установка ПО
Содержание
Дистрибутив
Состав дистрибутива :
- !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
После нажатия на кнопке "Да" появиться диалог выбора языка :
- Выбираем русский , жмем "Ok"
- Перед нами появляется окно приветствия :
Нажимаем далее :
- Перед нами лицензионное соглашение :
Необходимо обязательно ознакомиться с лиц. соглашением и затем выбрать пункт "Я принимаю условия соглашения" . Нажимаем далее :
- Ввод пароля :
В данном окне вы должны ввести пароль от дистрибутива сервера. Пароль вы получите при покупке ПО от разработчика. Вводим пароль и нажимаем далее :
- Ознакамливаемся с информацией :
Нажимаем далее :
- Просматриваем информацию о себе. т.е покупателе :
Нажимаем далее :
- На этой странице вы должны ввести путь до расположения файлов ПО
Вводим путь и нажимаем далее :
- Выбор компонентов установки :
Выбираем необходимые компоненты для установки ПО :
- 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 самостоятельно то вам нужно прочитать соответствующий раздел документации.
Выбираем необходимые нам компоненты и нажимаем далее :
- Если у вас на диске мало места для установки то программа установки выведет диалог :
В этом случае нужно освободить свободное место на жестком диске ( либо указать другой диск ) и повторить действия по установке заново.
- Страница выбора записи в разделе программ кнопки "Пуск" :
Нажимаем далее :
- Читаем подтверждающую информацию и нажимаем кнопку установить
- По окончании установки вам будет выдано сообщение что установка прошла успешно.
Теперь вы можете приступить к настройке комплекса.
Установка клиентской составляющей комплекса
Установка программы Operator
Настройка ПО
Контроль за доступом в интернет
Управление доступом через FreeBSD
Управление доступом в интернет клиентских компьютеров возможно различными способами
- Через выделенную машину под управлением ОС FreeBSD
- Через машину под Windows (NT/XP/2003)
- Непосредственно на клиентском компьютере
Настройка доступа к 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, которая выключает Интернет на машине клиента:
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
в ней (а также в любых других записях):
- %N% - номер записи из ip_state
- %IP% - ip адрес этой машины, который будет подставляться из
Первая строчка из примера добавляет правило, запрещающее входящий ip-трафик на машину.
Вторая, третья, четвертая и пятая строчки удаляют правила, которые обеспечивают управление полосой шейпера на машине. Откуда могут возникнуть правила? Их может прописать в ipfw профайл номер три в firewall_profiles.
Пример шаблона для включения интернета с ограниченной полосой пропускания на входящий и исходящий трафик (по умолчанию, это правило 3):
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
Первая строчка удаляет правило deny, чем включает интернет на машине в принципе.
2-5 строчки удаляют возможные предыдущие состояния шейпера
Шестая строка определяет pipe (трубу) для входящего ip-трафика и указыват полосу пропускания для неё.
Седьмая назначает этот pipe только для входящего трафика
8,9 – тоже, но только для исходящего трафика
О подсчете трафика
Принцип подсчета трафика заключается в том, что ipfw накапливает в своих правилах типа count информацию о входящем и исходящем трафике для всех ip-адресов, определенных в ip_state
Пример записи подсчета трафика для ip 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
Первое правило считает весь входящий трафик, а второе – исходящий.
Для остальных машин правила должны выглядеть аналогично.
Обязательно должно соблюдаться следующее требование: входящий трафик аккумулируется в записях с номерами вида: %N%01 (в примере это 101)
А для исходящего трафика: %N%02
Также должно выполняться требование, что запись запретить интернет должна быть вида: %N%00
Если записи с таким номером нет, то server будет считать, что интернет на машине есть.
В комплект программ комплекса входит вспомогательная программа для упрощения процесса генерации записей FwRulezMaker.exe, которая помогает составить файл правил, которые будут грузиться по умолчанию при загрузке машины с FreeBSD :
В верхнем окошке можно задать шаблон для генерации правил по всем значениям из диапазона, определяемого в полях выше.
При генерации вместо значения %N% будет подставлено текущее значение переменной.
Пример работы программы для пяти машин:
Эти правила следует вставить в автозагрузку FreeBSD, чтобы они автоматом запускались на машине при загрузке.
Например, создав файл /usr/local/etc/rc.d/rulez.sh
Потом прописав для него:
сhmod a+x /usr/local/etc/rc.d/rulez.sh
Пример содержимого этого файла с правилами для ipfw (+ для работы с NAT) для пяти машин:
#!/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
где:
- 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" }}'
И получает ответ вида:
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
строчка 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 :
; параметры подключения к серверу 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
Здесь приведены значения по умолчанию ini-файла. Они подходят для варианта, когда MySQL и WinIPFWService находятся на одной машине-сервере.
Типовая конфигурация машины, управляющей доступом в Интернет выглядит приблизительно так:
На картинке показано, что на машине установлено два сетевых адаптера. На один из них приходит трафик (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-окошке:
Обратите внимание, что выводится список интерфейсов.
Здесь в примере:
- lo0 – это внутренний интерфейс (127.0.0.1)
- eth0 – внешний интерфейс (он же у нас назван как Internet)
- eth1 – внутренний интерфейс (он у нас назван как Intranet)
Эти знания пригодятся Вам для построения более «хитрых» правил нежели чем просто учет и включение-выключение трафика.
Список интерфейсов можно посмотреть по команде ipfw -L
Настройка файла конфигурации wipfw для подсчета трафика
Инициализационные правила лежат в файле: ipfw.conf
Это простой текстовый файл, каждая строчка которого описывает определенное правило для файрвола.
По умолчанию в файле следующие команды:
-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
Первая строчка «обнуляет» 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 можно :
www.freebsd.org/doc/ru_RU.KOI8-R/books/handbook/firewalls.html
или
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
Пропишите команды Выключения и Включения доступа в Интернет, как на рисунках ниже:
На первой картинке правило 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 для вышеописанных параметров:
-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 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 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 add 900 deny ip from 192.168.0.9 to any 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



