Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
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 сервера доступа с которого учитываем трафик | ||