apt-get update
Перед компиляцией и установкой accel-ppp необходимо установить следующие пакеты, для соблюдения зависимостей.
- kernel-devel - исходный код ядра, необходим для компиляции молулей ipoe, vlan-mon (pptp для старых дистрибутивов)
- rpm-build - компонент для сборки RPM пакета
- cmake - инструмент для компоновки
- gcc - компилятор
yum -y install kernel-devel rpm-build cmake gcc git pcre-devel openssl-devel lua-devel
После установки необходимых компонентов, средствами git выкачиваем исходный код accel-ppp.
git clone git://git.code.sf.net/p/accel-ppp/code /opt/accel-ppp-code
Создаем директорию в которой будет происходить дальнейшая компоновка/компиляция и переходим в нее.
mkdir /opt/accel-ppp-code/accel-ppp-build cd /opt/accel-ppp-code/accel-ppp-build
Выполняем компоновку, указывая следующие параметры.
Параметр | Описание |
---|---|
-DBUILD_IPOE_DRIVER=TRUE | Данная опция позволяет включить в сборку модуль ядра IPoE. Этот модуль необходим, если вы хотите использовать IPoE в режиме общего интерфейса. |
-DBUILD_VLAN_MON_DRIVER=TRUE | Включает в сборку драйвер позволяющий создавать vlan интерфейсы анализирую заголовки IP пакетов. (Доступен для соединений IPoE и PPPoE). |
-DKDIR=/usr/src/kernels/3.10.0-229.4.2.el7.x86_64 | Задает путь к директории исходного кода ядра Linux. Необходим для построения модулей ядра PPTP, IPOE, VLAN-MON (версия вашего ядра может отличаться, смотреть uname -r). |
-DCMAKE_INSTALL_PREFIX=/usr/local | Задает путь для установки accel-ppp. |
-DCPACK_TYPE=Centos7 | указываем данный аргумент, так как мы нацелены собрать RPM пакет. |
cmake -DRADIUS=TRUE -DKDIR=/usr/src/kernels/3.10.0-229.4.2.el7.x86_64 -DCMAKE_INSTALL_PREFIX=/usr/local DLUA=TRUE -DBUILD_IPOE_DRIVER=TRUE -DBUILD_VLAN_MON_DRIVER=TRUE -DCPACK_TYPE=Centos7 ..
Обязательно оставляйте .. это указывает путь к исходному коду accel-ppp.
Компилируем.
make
Производим упаковку в DEB пакет.
cpack -G RPM
Устанавливаем.
rpm -ivh accel-ppp.rpm
При получении положительного результата установки RPM пакета, переименуем конфигурационный файл accel-ppp.conf.
mv /etc/accel-ppp.conf.dist /etc/accel-ppp.conf
insmod /usr/src/accel-ppp-build/drivers/ipoe/driver/ipoe.ko insmod /usr/src/accel-ppp-build/drivers/ipoe/driver/vlan_mon.ko
nano /etc/accel-ppp.conf
Настройка accel-ppp.conf :
Важно, обратите внимание :
Перед настройкой, убедитесь что имена интерфейсов в системе соответствуют именам интерфейсов в конфигурационном файле.
Документация по переменным accel-ppp.org-configfile
# nano /usr/local/share/accel-ppp/radius/dictionary ATTRIBUTE DHCP-Router-IP-Address 241 ipaddr ATTRIBUTE DHCP-Mask 242 integer ATTRIBUTE L4-Redirect 243 integer ATTRIBUTE L4-Redirect-ipset 244 string ATTRIBUTE DHCP-Option82 245 octets ATTRIBUTE Accel-Agent-Circuit-Id 246 octets ATTRIBUTE Accel-Agent-Remote-Id 247 octets ATTRIBUTE Session-Octets-Limit 227 integer ATTRIBUTE Octets-Direction 228 integer ATTRIBUTE PPPD-Upstream-Speed-Limit 230 integer ATTRIBUTE PPPD-Downstream-Speed-Limit 231 integer ATTRIBUTE PPPD-Upstream-Speed-Limit-1 232 integer ATTRIBUTE PPPD-Downstream-Speed-Limit-1 233 integer ATTRIBUTE PPPD-Upstream-Speed-Limit-2 234 integer ATTRIBUTE PPPD-Downstream-Speed-Limit-2 235 integer ATTRIBUTE PPPD-Upstream-Speed-Limit-3 236 integer ATTRIBUTE PPPD-Downstream-Speed-Limit-3 237 integer ATTRIBUTE Acct-Interim-Interval 85 integer ATTRIBUTE Acct-Input-Gigawords 52 integer ATTRIBUTE Acct-Output-Gigawords 53 integer
modprobe -r ip_gre
nano /etc/modprobe.d/blacklist.conf
blacklist ip_gre
nano /etc/modules
pptp pppoe
В словарь Freeradius - raddb/dictionary добавить такие пары:
cd /usr/local/freeradius/etc/raddb nano dictionary
ATTRIBUTE Accel-Agent-Circuit-Id 246 octets ATTRIBUTE Accel-Agent-Remote-Id 247 octets # Limit session traffic ATTRIBUTE Session-Octets-Limit 227 integer # What to assume as limit - 0 in+out, 1 in, 2 out, 3 max(in,out) ATTRIBUTE Octets-Direction 228 integer # Connection Speed Limit ATTRIBUTE PPPD-Upstream-Speed-Limit 230 integer ATTRIBUTE PPPD-Downstream-Speed-Limit 231 integer ATTRIBUTE PPPD-Upstream-Speed-Limit-1 232 integer ATTRIBUTE PPPD-Downstream-Speed-Limit-1 233 integer ATTRIBUTE PPPD-Upstream-Speed-Limit-2 234 integer ATTRIBUTE PPPD-Downstream-Speed-Limit-2 235 integer ATTRIBUTE PPPD-Upstream-Speed-Limit-3 236 integer ATTRIBUTE PPPD-Downstream-Speed-Limit-3 237 integer ATTRIBUTE Acct-Interim-Interval 85 integer ATTRIBUTE Acct-Input-Gigawords 52 integer
accel-pppd -p '/var/run/accel.pid' -c '/etc/accel-ppp.conf'