Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
abills:docs:manual:dv_ip [2009/05/28 06:15]
asmodeus создано
abills:docs:manual:dv_ip [2016/01/13 15:35] (текущий)
anton [Подключение модуля IPN и настройка программ: flow_capture.]
Строка 3: Строка 3:
 Данная схема предусматривает учёт разных классов трафика:​ интернет,​ пиринговый,​ локальная сеть провайдера.\\ Данная схема предусматривает учёт разных классов трафика:​ интернет,​ пиринговый,​ локальная сеть провайдера.\\
  
-{{/​img/​dv_ipn.gif|Dv + IPN}}\\+{{http://​abills.net.ua/​img/​dv_ipn.gif|Dv + IPN}}\\
  
 При данной схеме задействуются два модуля системы: ​ При данной схеме задействуются два модуля системы: ​
   * [[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===== 
 + 
 +==== Предварительная настройки модуля ==== 
 +Дополнительная информация [[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 ​  
 + 
 +**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) в веб интерфейсе администратора==== 
 +Перейти в секцию меню ​  ** Система -> Сервер доступа ** и завести новый сервер доступа. 
 + 
 +{{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 сервера доступа с которого учитываем трафик 
  
  
-=====Настройка=====