Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Установка и настройка accel-ppp

Сайт: accel-ppp

High performance PPTP/L2TP/PPPoE server for Linux.


Table of Contents

Требования:

  • Современный дистрибутив Linux
  • Ядро версии 2.6.25 или старше
  • cmake не младше версии 2.6
  • libcrypto-0.9.8 или старше (openssl-0.9.8)
  • libpcre
  • net-snmp-5.x (Для snmp)
  • liblua5.1 (для IPoE c DHCP option 82)

Автонастройка конфигурации

Code Block
languagebash
cd /usr/abills/misc/
./autoconf PROGRAMS=accel_ppp 


Настройка Accel-ipoe (ручной режим)

Accel-ipoe


Abills

Меню Настройка>Сервер доступа

Alive:Время между RADIUS Alive пакетами. Рекомендуется 300. (Для accel-ipoe рекомендуемая 600)
Type:
Linux
accel-ppp для pppoe pptp. Для IPoE: accel-ipoe
IP:PORT:Ип адрес и порт сервера. Порт по умолчанию 3799 и 2001 для telnet. (127.0.0.1:3799:2001)
Password:Пароль для Disconnect Message указывается в параметре конфигурационного файла /etc/accel-ppp.conf, также этот пароль используется как RADIUS secret


Проверка скорости и переконфигурация шейперов

Code Block
languagebash
titleПоказать текущую скорость
/usr/abills/libexec/billd checkspeed accel_ppp=1 SHOW_SPEED=1


Code Block
languagebash
titleПереконфигурировать шейпера
/usr/abills/libexec/billd checkspeed accel_ppp=1


Синхронизация активных сессий

Система проверяет онлайн сессии в биллинге и поднятые на accel-ppp

Code Block
languagebash
/usr/abills/libexec/billd check_accel_ppp=1

Желательно запускать не чаще чем раз в 10 минут

Параметры



NAS_IDS="1,2"Запускать только для определенных серверов доступа
SHOW=1Отображать рассинхронизированные сесии но не скидывать


Создаем vlan интерфейсы

Добавление vlan в Ubuntu

Установка и настройка accel

Консоль управления

Мониторинг параметров Accel-ppp

Ubuntu

Что нужно:

  • Ядро 2.36 и выше

  • Для шейпера нужен libnl2 или libnl3

Code Block
languagebash
wget http://sourceforge.net/projects/accel-ppp/files/accel-ppp-1.5.0.tar.bz2
tar -xjf accel-ppp-1.5.0.tar.bz2
mkdir accel-ppp-build
cd accel-ppp-build
cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DRADIUS=TRUE -DSHAPER=TRUE ../accel-ppp-1.5.0
make
make install

Настройка accel-ppp

Code Block
languagebash
title/etc/accel-ppp.conf
collapsetrue
[modules] #path=/usr/local/lib/accel-ppp log_file #log_tcp #log_pgsql pptp pppoe #l2tp auth_mschap_v2 #auth_mschap_v1 #auth_chap_md5 #auth_pap radius #ippool sigchld pppd_compat shaper #chap-secrets [core] log-error=/var/log/accel-ppp/core.log thread-count=4 [ppp] verbose=1 min-mtu=1000 mtu=1492 mru=1492 #ccp=0 #sid-case=upper #check-ip=0 #single-session=replace #mppe=require [lcp] echo-interval=30 echo-failure=3 [pptp] echo-interval=30 verbose=1 [pppoe] # Интерфейсы на которых запущен pppoe сервер ( должны быть соответственно подняты интерфейсы) interface=eth1 interface=vlan2 interface=vlan3 interface=vlan4 #ac-name=xxx #service-name=yyy #pado-delay=0 #pado-delay=0,100:100,200:200,-1:500 #ifname-in-sid=called-sid #tr101=1 verbose=1 #[l2tp] #dictionary=/usr/local/share/accel-ppp/l2tp/dictionary #hello-interval=60 #timeout=60 #rtimeout=5 #retransmit=5 #host-name=accel-ppp #verbose=1 [dns] dns1=10.0.0.10 #dns2=172.16.1.1 [radius] dictionary=/usr/local/share/accel-ppp/radius/dictionary nas-identifier=accel-ppp nas-ip-address=127.0.0.1 gw-ip-address=10.0.0.10 auth-server=127.0.0.1:1812,secretpass acct-server=127.0.0.1:1813,secretpass dae-server=127.0.0.1:3799,secretpass verbose=1 #timeout=3 #max-try=3 #acct-timeout=120 #acct-delay-time=0 [client-ip-range] 10.0.0.0/8 # Указать диапазоны раздаваемые клиентам в (по DHCP или вручную). # ВАЖНО: они не должны пересекатся с пулами PPPOE или PPTP сервера доступа. #[ip-pool] #gw-ip-address=192.168.0.1 #192.168.0.2-255 #192.168.1.1-255 #192.168.2.1-255 #192.168.3.1-255 #192.168.4.0/24 [log] log-file=/var/log/accel-ppp/accel-ppp.log log-emerg=/var/log/accel-ppp/emerg.log log-fail-file=/var/log/accel-ppp/auth-fail.log #log-debug=/dev/stdout #log-tcp=127.0.0.1:3000 copy=1 #color=1 #per-user-dir=per_user #per-session-dir=per_session #per-session=1 level=3 #log-tcp=127.0.0.1:3000 #[log-pgsql] #conninfo=user=log #log-table=log [pppd-compat] #ip-pre-up=/etc/ppp/ip-pre-up #ip-up=/etc/ppp/ip-up #ip-down=/etc/ppp/ip-down #ip-change=/etc/ppp/ip-change radattr-prefix=/var/run/radattr verbose=1 #[chap-secrets] #gw-ip-address=192.168.100.1 #chap-secrets=/etc/ppp/chap-secrets [[shaper] ] #attr=Filter-Id #down-burst-factor=0.1 #up-burst-factor=1.0 #latency=50 attr-down=PPPD-Downstream-Speed-Limit attr-up=PPPD-Upstream-Speed-Limit [cli] telnet=127.0.0.1:2000 password=secretpass tcp=127.0.0.1:2001

Меню Настройка>Сервер доступа>Консоль

Дополнительно


$conf{ACCELPPP_IFNAME}='LOGIN';

Передавать в названии интерфейса вместо  ppp логин абонента. Логины должны быть до 16 символов.


Обсуждение на форуме

Проблемы


ПроблемаРешние
Accel не отправляет запросы в Freeradius при IPOE подключенииУбедитесь что firewall не блокирует DHCP пакеты или откройте порт 67 на NAS сервере


  • Проверка получения accel-ppp  RADIUS DAE (PoD команду на скидывание сессии)

Проверка по логу

Code Block
grep Disconnect-Request /var/log/accel-ppp/accel-ppp.log


Проверка прихода пакетов на интерфейсе eth2.99

Code Block
tcpdump -i eth2.99 -n port 3799



Accel-ppp Console

Позволяет просмотреть основные разделы из веб-интерфейса.

Все доступные таблицы:

  • show sessions (с возможностью удаления записей и привязкой к пользователям по онлайну)
  • show stat
  • reload

Пример отображения для show sessions

Image Added