Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
abills:docs:manual:dv_ip [2009/05/28 06:26]
asmodeus
abills:docs:manual:dv_ip [2016/01/13 15:35] (текущий)
anton [Подключение модуля IPN и настройка программ: flow_capture.]
Строка 7: Строка 7:
 При данной схеме задействуются два модуля системы: ​ При данной схеме задействуются два модуля системы: ​
   * [[abills:​docs:​modules:​dv:​ru|Dv]] выполняет функции авторизации,​ контроля времени,​ слежение за балансом клиента. ​   * [[abills:​docs:​modules:​dv:​ru|Dv]] выполняет функции авторизации,​ контроля времени,​ слежение за балансом клиента. ​
-  * [[abills:​docs:​modules:​dv:​ru|Ipn]] выполняет функции аккантинга (собирание трафика).+  * [[abills:​docs:​modules:​dv:​ru|Ipn]] выполняет функции аккаунтинга (собирание трафика).
  
  
 =====Настройка на примере MPD 5.x + flow_capture===== =====Настройка на примере MPD 5.x + flow_capture=====
  
-  - предварительная настройки модуля [[abills:​docs:​modules:​dv:​ru|Dv]] +==== Предварительная настройки модуля ==== 
-  - Подключение ​модуля  [[abills:​docs:​modules:dv:ru|Dv]] и настройка программ:​ flow_capture.+Дополнительная информация [[abills:​docs:​modules:​dv:​ru|Dv]] 
 +====Конфигурация MPD==== 
 +Дополнительная информация [[abills:​docs:​mpd:ru|Mpd]].\\
  
 +**PPTP**\\
 +**/​usr/​local/​etc/​mpd.conf**
 +  startup:
 +          # enable TCP-Wrapper (hosts_access(5)) to block unfriendly clients
 +          set global enable tcp-wrapper
 +          # configure the console
 +          set console self %MPD_CONSOLE_IP% %MPD_CONSOLE_PORT%
 +          set user %MPD_CONSOLE_USER% %MPD_CONSOLE_PASSWORD% admin
 +          set console open
 +          #WEB managment
 +          #set web self 0.0.0.0 5006
 +          #set web open
 +          #Netflow options
 +          set netflow peer %MPD_NETFLOW_IP% %MPD_NETFLOW_PORT%
 +          set netflow self %MPD_NETFLOW_SOURCE_IP% %MPD_NETFLOW_SOURCE_PORT%
 +          set netflow timeouts 15 15
 +          set netflow hook 9000
 +  #       ​Calling-Station-Id = "​10.0.4.16 / 00:​18:​f3:​5a:​9f:​6a / em0"
 +          set link enable report-mac
 +          #set netflow node netflow
 +  ​
 +  ​
 +  default:
 +    load pptp_server
 +    pppoe_server
  
 +PPTP
 +  pptp_server:​
 +    # Define dynamic IP address pool.
 +    # Диапазон IP адрессов, ​
 +    # который присвоется VPN девайсу.
 +    set ippool add pool1 %MPD_IPPOOL_FIRST% %MPD_IPPOOL_LAST%  ​
 +  ​
 +    # Create clonable bundle template named B
 +    create bundle template B
 +    set iface enable proxy-arp
 +    set iface idle 1800
 +    set iface enable tcpmssfix
 +    set iface up-script "/​usr/​abills/​libexec/​linkupdown mpd up"
 +    set iface down-script "/​usr/​abills/​libexec/​linkupdown mpd down"
 +    set iface enable netflow-in netflow-out
 +    set ipcp yes vjcomp
 +    # Specify IP address pool for dynamic assigment.
 +    set ipcp ranges 192.168.100.1/​32 ippool pool1
 +    set ipcp dns %DNS_SERVER%
 +    # The five lines below enable Microsoft Point-to-Point encryption
 +    # (MPPE) using the ng_mppc(8) netgraph node type.
 +    set bundle enable compression
 +    set ccp yes mppc
 +    set mppc yes e40
 +    set mppc yes e128
 +    set mppc yes stateless
 +    # Create clonable link template named L
 +    create link template L pptp
 +    # Set bundle template to use
 +    set link action bundle B
 +    # Multilink adds some overhead, but gives full 1500 MTU.
 +    set link enable multilink
 +    set link yes acfcomp protocomp
 +    set link no pap chap
 +    set link enable chap
 +    set link keep-alive 10 60
 +    # We reducing link mtu to avoid GRE packet fragmentation
 +    set link mtu 1460
 +    # Configure PPTP
 +    # Внешний IP на котором будет прослушиватся соединение
 +    set pptp self %VPN_SERVER_IP%
 +    load server_common  ​
  
-  - Конфигурация MPD [[abills:​docs:​mpd:​ru|Mpd]]+**PPPOE** 
 +   ​pppoe_server:​ 
 +        create bundle template B 
 +        set iface idle 0 
 +        set iface enable tcpmssfix proxy-arp 
 +        set ipcp no vjcomp 
 +        set iface up-script ​  "/​usr/​abills/​libexec/​linkupdown mpd up" 
 +        set iface down-script "/​usr/​abills/​libexec/​linkupdown mpd down"​ 
 +        set iface enable netflow-in netflow-out 
 +        set ipcp ranges 10.10.0.1 ippool pool1 
 +        set ipcp dns %DNS% 
 +   
 +        create link template L pppoe 
 +        set link action bundle B 
 +        set pppoe acname "​bras1"​ 
 +        set pppoe iface %PPPOE_INTERFACE% 
 +        set pppoe service "​*"​ 
 +        load server_common 
 +   
 +  server_common:​ 
 +        set link no pap eap 
 +        set link yes chap-md5 
 +        set link keep-alive 20 60 
 +        set link enable incoming 
 +        set link no acfcomp protocomp 
 +        load radius 
 +   
 +  radius: 
 +       #IP, пароль и порты RADIUS-сервера 
 +       set radius server 127.0.0.1 radsecret 1812 1813 
 +       set radius retries 3 
 +       set radius timeout 10 
 +       set auth acct-update 300 
 +       set auth enable radius-auth 
 +       set auth enable radius-acct 
 +       set auth disable internal
  
  
-  - Конфигурация параметров сервера доступа (MPD) в веб интерфейсе администратора+====Конфигурация параметров сервера доступа (MPD) в веб интерфейсе администратора==== 
 +Перейти в секцию меню ​  ** Система -> Сервер доступа ** и завести новый сервер доступа.
  
 +{{dv_ipn_nas.gif}} ​
  
-  - Конфигурация тарифных планов 
  
 +^ID |Номер сервера доступа|
 +^IP | IP адрес|
 +^Название:​ | Название |
 +^Radius NAS-Identifier:​ | Дополнительный идентификатор сервера доступа. Использовать только в случае если на одно IP адресе используется несколько серверов доступа |
 +^Описание:​ | Описание ​  |
 +^Тип: | Тип |
 +^Авторизация:​ | Тип авторизации из базы данных или из файла паролей Unix |
 +^External Accounting:​ | Указывает что данные для аккаунтинга берутся не с RADIUS сервера,​ а с внешнего источника. ​ **Обязательно включаем опцию.** |
 +^Alive (sec.): | Период между RADIUS Alive пакетами. Используется для проверки активности абонента. Если на протяжении 3 ALive пакетов от сервера доступа не было никаких данных система завершает сесию |
 +^Отключено:​ | ​ |
 +^:​Управление:​ ||
 +^IP:PORT: | IP и порт для управления ​ MPD | 
 +^Пользователь:​ | Пользователь для управления |
 +^Пароль:​ | Пароль для управления |
 +
 +
 +====Конфигурация тарифных планов====
 +Перейти в секцию ​  ​Система -> Internet -> Тарифные планы для создания тарифного плана.\\
 +
 +После создания тарифного плана переходим в интервалы и создаём временной интервал работы.\\
 +{{http://​abills.net.ua/​img/​dv_ipn_tp_intervals.gif|Заведение интервалов}}\\
 +
 +После создания работы в временном интервале заводим класс трафика\\
 +{{http://​abills.net.ua/​img/​dv_ipn_tp_traffic.gif|Заведение классов трафика}}\\
 +
 +После успешной конфигурации все должно выглядеть так\\
 +{{http://​abills.net.ua/​img/​dv_ipn_tp.gif|классы трафика}}\\
 +
 +
 +
 +==== Подключение модуля ​ IPN и настройка программ:​ flow_capture. ====
 +  Дополнительная информация [[abills:​docs:​modules:​Ipn:​ru|Ipn]]. ​
 +
 +
 +  # cd /​usr/​abills/​libexec/​
 +  # ln -s ../​Abills/​modules/​Ipn/​trafdstats trafdstats
 +  # ln -s ../​Abills/​modules/​Ipn/​traffic2sql traffic2sql
 +
 +Создать таблицы в базе.
 +  # mysql -D abills < db/Ipn.sql
 +
 +**abills/​libexec/​config.pl**
 +
 +  @MODULES = (
 +            '​Ipn'​
 +            );
 +  # Денежные операции делает IPN
 +  $conf{IPN_DEPOSIT_OPERATION}=1;​
 +
 +===flow-tools===
 +http://​www.splintered.net/​sw/​flow-tools/​\\
 +Пакет утилит для работы с NetFlow потоками отправляемыми маршрутизаторами [[http://​www.cisco.com/​|Cisco]] или [[http://​www.juniper.net/​|Juniper]].
 +
 +  # cd /​usr/​ports/​net-mgmt/​flow-tools
 +  # make
 +  # make install
 +
 +Запускаем
 +  flow-capture -S 5 -n 287 -N 0  -d 5 -w /​usr/​abills/​var/​log/​ipn/ ​ 0/0/9996
 +
 +Автоматический старт при загрузке в FreeBSD:
 +
 +  # chown flowtools /​usr/​abills/​var/​log/​ipn/​
 +**/​etc/​rc.conf**
 +  flow_capture_enable="​YES"​
 +  flow_capture_datadir="/​usr/​abills/​var/​log/​ipn/" ​
 +  flow_capture_port="​9996"​
 +  flow_capture_flags="​-S 5 -n 287 -N 0 -d 5"
 +
 +
 +Запуск скрипта обработки статистики
 +** /​etc/​crontab **\\
 +
 +*/5 * * * * root /​usr/​abills/​libexec/​traffic2sql **8** flowdir=/​usr/​abills/​var/​log/​ipn/​ \\
 +\\
 +Здесь 8 - NAS_ID сервера доступа с которого учитываем трафик