Страница 1 из 1

Скрипт автоматического управления доступом в интернет

Добавлено: 2008-12-12 0:03:52
zevs5
Скрипт автоматического управления доступом в интернет на базе IPFW и Ipacctd, может кому пригодится

Требуется Настроенный IPFW и Ipacctd
Установка:

ссылка на архив http://www.zevs5.ru/IPFW.TGZ
Содержимое архива:
Папка CONSOL
Папка WEB
Файл ipfw_rule
Файл ipfw.sql
Файл readme.txt

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

Код: Выделить всё

                                trffic.conf
				$bdname = "ipfw";
				$bd_name = "ipacctd";

				connect.php
				$bdname = "ipfw";

. Завести пользователя в MySQL и дать права на обе базы.

Содержимое директории CONSOL скопировать в любое место (например /usr/local/etc)

Файл ipfw_rule - это скрипт фервола (нужно указать в rc.conf)
Файл ipfw.sql дамп базы *$bdname*, в *$bd_name* таблицы создаются автоматически
Файл ./CONSOL/trafd/trafd_rec.zpl права 0700 root:wheel
в крон добавить строчку

*/5 * * * * root /usr/local/etc/trafd/trafd_rec.zpl
PHP нужно либо CGI либо CLI, в trafd_rec.zpl под корректировать путь к PHP

Пример VHost :

Код: Выделить всё

		NameVirtualHost *:_PORT_
		<VirtualHost *:_PORT_>
  			ServerName ACCESS
  			ServerAdmin _ВАШ_EMAIL_
  			VirtualDocumentRoot "*путь к директории WEB*"
  				<Directory "*путь к директории WEB*">
           					Options +Includes
          					 AllowOverride None
           					Order allow,deny
           					Allow from all
  				</Directory>
  			ScriptAlias /cgi-bin/ "*путь к директории WEB*/cgi-bin/"
    				<Directory "*путь к директории WEB*/cgi-bin/">
         					  AllowOverride None
          					 Order allow,deny
          					 Allow from all
           					Options None
  				</Directory>
  			ScriptAlias /_php5/ "*путь к директории PHP*/php5/bin/"
  			Action application/x-httpd-php5 "/_php5/php-cgi"
  				<Directory "*путь к директории PHP*php5/bin">
     					   Options +Includes
     					   AllowOverride None
      					  Order allow,deny
    					    Allow from all
  				</Directory>
   			 DirectoryIndex index.zpl
  			AddType application/x-httpd-php5  .zpl
  			SetEnv PHPRC "*путь к директории PHP.INI*"

  			ErrorLog "*путь к директории LOG*/error.log"
		</VirtualHost>

Re: Скрипт автоматического управления доступом в интернет

Добавлено: 2008-12-12 0:37:36
Alex Keda
сообщение нормально оформите

Re: Скрипт автоматического управления доступом в интернет

Добавлено: 2008-12-14 13:42:51
zevs5
Обновил архив по ссылке, нешел кое какие ошибки в скриптах

Re: Скрипт автоматического управления доступом в интернет

Добавлено: 2008-12-15 1:34:00
BaHJa
как єто работает? можна подробное об єтом расказать? :cz2:

Re: Скрипт автоматического управления доступом в интернет

Добавлено: 2008-12-15 10:14:10
zevs5
Как это работает !!!.
Прошу сильно не пинать.
В архиве находятся скрипты на PHP в двух папках, в первой "CONSOL" находится часть работающая в качестве CGI скрипта запускаемого по крону.
Которая отвечает за перезапуск ipacctd и чтение его логов с добавлением в MySQL всех данных. (Пути к логам ipacctd находит сам, только надо указывать расположение rc.conf).
Вторая папка "WEB" набор скриптов для управления, и просмотра статистики потребления трафика, общаются обе части исключительно через Базу Данных.

Управление доступом осуществляется на основе IPFW table, добавление и удаление IP из таблицы осуществляет скрипт CGI "CONSOL".

Скрипт фаервола прилагается.

Если кто нибудь поможет перенести консольную часть на С++ и отвязаться от крона, буду очень признателен.