Инструменты пользователя

Инструменты сайта


Боковая панель

Разделы

Общее описание
История изменений
Рекомендации к обновлению
Планы на будущее
Известные проблемы
Онлайн демо
Случайная статья
Видео
Помощь проекту
Люди

FAQ



Редактировать сайдбар

mgaccel-ppp-pppoe

Настройка accel-ppp с PPPoE авторизацией

Для начала

Снова напоминаем: уже должен быть настроен КучаГен.
Далее подключаем словарь accel-ppp на стороне Убиллинга, для чего в файле:
/usr/local/etc/raddb/dictionary

нам нужно найти и раскомментировать (или добавить, в случае отсутствия) следующую строку:

$INCLUDE           /usr/local/etc/raddb/dictionary_preset/accel-ppp.dictionary

Создаем НАС в Убиллинге

Ключ для новосозданного НАСа, который нам потребуется в процессе дальнейшей конфигурации, можно найти здесь:

А мы, тем временем, рестартим радиус на «Убиллинговом» сервере
# service radiusd restart

И возвращаемся к нашему новосозданному НАСу и открываем форму редактирования «NAS КучаГен»

Указываем следующие опции и нажимаем кнопку «Сохранить»:

Далее все на той же форме редактирования «NAS КучаГен» нажимаем кнопку «Клонировать конфигурацию NAS«. Увидим нечто похожее:

и в выделенное на скриншоте поле для ввода(хотя оно там вообще-то и так - единственное) вставляем следующий текст (да - это уже преконфигурированные дефолтные атрибуты - все для людей!):

eyJvcHRpb25zIjp7ImlkIjoiOCIsIm5hc2lkIjoiOSIsInVzZXJuYW1ldHlwZSI6ImxvZ2luIiwic2VydmljZSI6ImNvYSIsIm9ubHlhY3RpdmUiOiIwIiwicG9ydCI6IjM3OTkifSwiYXR0cmlidXRlcyI6eyI0NCI6eyJpZCI6IjQ0IiwibmFzaWQiOiI5Iiwic2NlbmFyaW8iOiJyZXBseSIsIm1vZGlmaWVyIjoiYWN0aXZlIiwiYXR0cmlidXRlIjoiUFBQRC1VcHN0cmVhbS1TcGVlZC1MaW1pdCIsIm9wZXJhdG9yIjoiPSIsImNvbnRlbnQiOiJ7U1BFRURVUH0ifSwiNDUiOnsiaWQiOiI0NSIsIm5hc2lkIjoiOSIsInNjZW5hcmlvIjoicmVwbHkiLCJtb2RpZmllciI6ImFjdGl2ZSIsImF0dHJpYnV0ZSI6IlBQUEQtRG93bnN0cmVhbS1TcGVlZC1MaW1pdCIsIm9wZXJhdG9yIjoiPSIsImNvbnRlbnQiOiJ7U1BFRURET1dOfSJ9LCI0MiI6eyJpZCI6IjQyIiwibmFzaWQiOiI5Iiwic2NlbmFyaW8iOiJyZXBseSIsIm1vZGlmaWVyIjoiYWxsIiwiYXR0cmlidXRlIjoiRnJhbWVkLUlQLUFkZHJlc3MiLCJvcGVyYXRvciI6Ij0iLCJjb250ZW50Ijoie0lQfSJ9LCI0MyI6eyJpZCI6IjQzIiwibmFzaWQiOiI5Iiwic2NlbmFyaW8iOiJyZXBseSIsIm1vZGlmaWVyIjoiYWxsIiwiYXR0cmlidXRlIjoiRnJhbWVkLUlQLU5ldG1hc2siLCJvcGVyYXRvciI6Ij0iLCJjb250ZW50IjoiMjU1LjI1NS4yNTUuMjU1In0sIjQxIjp7ImlkIjoiNDEiLCJuYXNpZCI6IjkiLCJzY2VuYXJpbyI6ImNoZWNrIiwibW9kaWZpZXIiOiJhbGwiLCJhdHRyaWJ1dGUiOiJDbGVhcnRleHQtUGFzc3dvcmQiLCJvcGVyYXRvciI6Ijo9IiwiY29udGVudCI6IntQQVNTV09SRH0ifSwiNjgiOnsiaWQiOiI2OCIsIm5hc2lkIjoiOSIsInNjZW5hcmlvIjoicmVwbHkiLCJtb2RpZmllciI6ImFsbCIsImF0dHJpYnV0ZSI6IkZpbHRlci1JZCIsIm9wZXJhdG9yIjoiPSIsImNvbnRlbnQiOiJ7U1RBVEV9In19LCJzZXJ2aWNlcyI6eyI5Ijp7ImlkIjoiNyIsIm5hc2lkIjoiOSIsInBvZCI6IntQUklOVEZ9ICdGcmFtZWQtSVAtQWRkcmVzcz0ge0lQfScgfCB7U1VET30ge1JBRENMSUVOVH0ge05BU0lQfTozNzk5IGRpc2Nvbm5lY3Qge05BU1NFQ1JFVH0iLCJjb2Fjb25uZWN0Ijoie1BSSU5URn0gJ0ZyYW1lZC1JUC1BZGRyZXNzPSB7SVB9JyB8IHtTVURPfSB7UkFEQ0xJRU5UfSB7TkFTSVB9OjM3OTkgZGlzY29ubmVjdCB7TkFTU0VDUkVUfSIsImNvYWRpc2Nvbm5lY3QiOiJ7UFJJTlRGfSAnRnJhbWVkLUlQLUFkZHJlc3M9IHtJUH0nIHwge1NVRE99IHtSQURDTElFTlR9IHtOQVNJUH06Mzc5OSBkaXNjb25uZWN0IHtOQVNTRUNSRVR9In19fQ

не забываем отметить чекбокс под текстовым полем, подтверждающий то, что мы таки осознаем что делаем и нажимаем кнопку «Сохранить». Следующим шагом - очищаем атрибуты и делаем регенерацию базы(да, именно в такой последовательности):

Устанавливаем Accell-ppp

Предварительные манипуляции

Инсталлим, стандартно, Debian с минимальным набором софта. Логинимся рутом ииии:

# apt-get update
# apt-get upgrade
# apt-get install sudo

Добавляем своего юзера с правами рут:

# nano /etc/sudoers

После чего разлогиниваемся из-под рута:

# exit

И вводим пароль новосозданного пользователя

# sudo su

Инсталим нужный софт:

# apt-get install net-tools vlan ipset dnsutils mc

Включаем IP Forwarding

# sysctl -w net.ipv4.ip_forward=1

Что-бы не слетел после ребута

# echo net.ipv4.ip_forward = 1 >> /etc/sysctl.conf

Проверяем поддержку влан

# lsmod | grep 8021q

Если вывод пустой то подгружаем их

# modprobe 8021q

Чекаем интерфейсы

# ip a

Приводим наш конфиг /etc/network/interfaces к нормальному виду, где:

  • интерфейс ens192 смотрит в мир
  • интерфейс ens224 смотрит на клиентов
  • интерфейс ens266 смотрит на биллинг

Создаем пачку VLANов на нужном интерфейсе. Так как мы юзаем PPPoE, то IP адреса на этих VLANах нам не нужны.
В случае же с IPoE manual в определении интерфейса меняем на static и указываем IP адреса:

auto vlan102 
# здесь не manual, a static  
iface vlan102 inet static  
# здесь не забываем указать адреса
address 192.168.1.200 
netmask 255.255.255.0
vlan-raw-device ens224 

Ниже приведен конфиг /etc/network/interfaces целиком:

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug ens192
iface ens192 inet static
address xxx.xxx.xxx.xxx
netmask yyy.yyy.yyy.yyy
gateway zzz.zzz.zzz.zzz
# dns-* options are implemented by the resolvconf package, if installed
dns-nameservers 8.8.8.8
dns-search our.isp.net

allow-hotplug ens224
iface ens224 inet static
address !!!!- здесь адрес сетевой которая смотрит на клиентов -!!!!
netmask !!!!- здесь ваша маска для адреса, который смотрит на клиентов -!!!!

allow-hotplug ens256
iface ens256 inet static
address !!!!- здесь адрес сетевой которая смотрит на биллинг -!!!!
netmask !!!!- здесь ваша маска для адреса, который смотрит на биллинг -!!!!
        
auto vlan101
iface vlan101 inet manual
#address
#netmask
vlan-raw-device ens224

auto vlan102
iface vlan102 inet manual
#address 192.168.1.200
#netmask 255.255.255.0
vlan-raw-device ens224

auto vlan103
iface vlan103 inet manual
#address 192.168.1.200
#netmask 255.255.255.0
vlan-raw-device ens224

auto vlan104
iface vlan104 inet manual
#address 192.168.1.200
#netmask 255.255.255.0
vlan-raw-device ens224

auto vlan105
iface vlan105 inet manual
#address 192.168.1.200
#netmask 255.255.255.0
vlan-raw-device ens224

auto vlan106
iface vlan106 inet manual
#address 192.168.1.200
#netmask 255.255.255.0
vlan-raw-device ens224

auto vlan107
iface vlan107 inet manual
#address 192.168.1.200
#netmask 255.255.255.0
vlan-raw-device ens224

auto vlan108
iface vlan108 inet manual
#address 192.168.1.200
#netmask 255.255.255.0
vlan-raw-device ens224

auto vlan109
iface vlan109 inet manual
#address 192.168.1.200
#netmask 255.255.255.0
vlan-raw-device ens224

Поднимаем интерфейсы

# ifup -a

и приступаем к установке accel-ppp

Собственно, установка accel-ppp

# apt-get install -y build-essential git cmake gcc linux-headers-`uname -r` git libpcre3-dev libssl-dev liblua5.1-0-dev
# git clone https://github.com/xebd/accel-ppp.git /opt/accel-ppp-code
# mkdir /opt/accel-ppp-code/build
# cd /opt/accel-ppp-code/build/

Собираем с модулями IPOE_DRIVER, возможно потом пригодится и VLAN_MON который нужен и для PPPoE и для IPoE.

# cmake -DBUILD_IPOE_DRIVER=TRUE -DBUILD_VLAN_MON_DRIVER=TRUE -DCMAKE_INSTALL_PREFIX=/usr -DKDIR=/usr/src/linux-headers-`uname -r` -DLUA=TRUE -DCPACK_TYPE=Debian10 ..

Обращаем особое внимание на параметр -DCPACK_TYPE=Debian он должен соответствовать реальности. В конце строки обязательно оставляйте .. - это указывает путь к исходному коду accel-ppp. Компилируем.

# make

Если не успеваем за выводом, еще раз запускаем компиляцию и убеждаемся что нужные нам модули скомпилились.

# make
[  7%] Built target triton
[ 37%] Built target accel-pppd
[ 40%] Built target luasupp
[ 48%] Built target radius
[ 50%] Built target vlan-mon
[ 52%] Built target pptp
[ 57%] Built target pppoe
[ 60%] Built target l2tp
[ 61%] Built target sstp
[ 66%] Built target ipoe
[ 68%] Built target auth_chap_md5
[ 69%] Built target auth_pap
[ 70%] Built target auth_mschap_v1
[ 72%] Built target auth_mschap_v2
[ 74%] Built target log_tcp
[ 75%] Built target log_file
[ 77%] Built target log_syslog
[ 79%] Built target connlimit
[ 81%] Built target sigchld
[ 83%] Built target pppd_compat
[ 85%] Built target ipv6pool
[ 86%] Built target ippool
[ 88%] Built target chap-secrets
[ 89%] Built target logwtmp
[ 92%] Built target ipv6_dhcp
[ 93%] Built target ipv6_nd
[ 97%] Built target shaper
[ 98%] Built target accel-cmd
[ 99%] Built target ipoe_drv
[100%] Built target vlan_mon_drv

Упаковываем все в пакет

# cpack -G DEB

CPack: Create package using DEB
CPack: Install projects
CPack: - Run preinstall target for: accel-ppp
CPack: - Install project: accel-ppp
CPack: Create package

Инсталлируем

# dpkg -i accel-ppp.deb

Если получаем ошибку, значит вы не читаете документацию, а именно первые 6 строк.

dpkg: warning: 'ldconfig' not found in PATH or not executable
dpkg: warning: 'start-stop-daemon' not found in PATH or not executable
dpkg: error: 2 expected programs not found in PATH or not executable
Note: root's PATH should usually contain /usr/local/sbin, /usr/sbin and /sbin
# mv /etc/accel-ppp.conf.dist /etc/accel-ppp.conf

Чекаем интерфейсы

# ip a

Правим конфиг под наши нужды

# nano /etc/accel-ppp.conf
 
[modules]
path=/usr/lib64/accel-ppp
log_file
pppoe
auth_mschap_v2
radius
sigchld
pppd_compat
shaper
 
[core]
log-error=/var/log/accel-ppp/core.log
# в опции ниже крайне рекмендуется указывать реальное количество ядер процессора 
thread-count=4    
 
[ppp]
verbose=1
min-mtu=1000
mtu=1400
mru=1400
 
[lcp]
echo-interval=30
echo-failure=3
 
[common]
single-session=replace
 
[pppoe]
interface=ens192
interface=vlan101
interface=vlan102
interface=vlan103
interface=vlan104
interface=vlan105
interface=vlan106
interface=vlan107
interface=vlan108
interface=vlan109
 
[dns]
dns1=8.8.4.4
dns2=8.8.8.8
 
[radius]
dictionary=/usr/local/share/accel-ppp/radius/dictionary
dictionary=/usr/local/share/accel-ppp/radius/radius.dict
nas-identifier=accel-ppp
nas-ip-address=адрес сетевой которая смотрит на биллинг
gw-ip-address=адрес сетевой которая смотрит на клиентов
auth-server=адрес биллинга:1812,ключ радиуса
acct-server=адрес биллинга:1813,ключ радиуса
dae-server=адрес сетевой которая смотрит на биллинг:3799,ключ радиуса
 verbose=1
 
[client-ip-range]
10.0.0.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
copy=1
level=1
 
[pppd-compat]
ip-up=/etc/ppp/if-up
ip-down=/etc/ppp/if-down
radattr-prefix=/var/run/radattr
 
[shaper]
#may need: ethtool -K eth0 tso off ufo off gso off gro off lro off
up-limiter=police
down-limiter=tbf
attr-down=PPPD-Downstream-Speed-Limit
attr-up=PPPD-Upstream-Speed-Limit
verbose=1
 
[cli]
telnet=127.0.0.1:2001
verbose=1

В силу того что accel-ppp не умеет ipset через CoA, то рулить юзерами будем скриптами up/down указанными в секции [pppd-compat] нашего конфига.

# mkdir /etc/ppp
# nano /etc/ppp/if-up

if-up конфиг:

#!/bin/bash
IP=`/usr/bin/awk '/Framed-IP-Address/ {print $2}' /var/run/radattr.$1`
STATE=`/usr/bin/awk '/Filter-Id/ {print $2}' /var/run/radattr.$1`
if [[ "$STATE" == "PASSIVE" ||  "$STATE" == "DOWN"  || "$STATE" == "OFF-LINE" || "$STATE" == "NOT-EXIST" ]];
then
/usr/sbin/ipset -A disabled $IP 2>/dev/null
/usr/sbin/ipset -D active $IP 2>/dev/null
else
/usr/sbin/ipset -D disabled $IP 2>/dev/null
/usr/sbin/ipset -A active $IP 2>/dev/null
fi

Далее:

# nano /etc/ppp/if-down

if-down конфиг:

#!/bin/bash
IP=`/usr/bin/awk '/Framed-IP-Address/ {print $2}' /var/run/radattr.$1`
/usr/sbin/ipset -D disabled $IP 2>/dev/null
/usr/sbin/ipset -D active $IP 2>/dev/null

Раздаем права:

# chmod +x /etc/ppp/if-up
# chmod +x /etc/ppp/if-down

Зачастую при установке либо обновлении аццель затирает папку со словарями потому проверяем

# ls /usr/local/share/accel-ppp/radius/

Если такового нет, не страшно:

# mkdir -p /usr/local/share/accel-ppp/radius/
# cp /opt/accel-ppp-code/accel-pppd/radius/dict/* /usr/local/share/accel-ppp/radius/

Создаем свой словарь атрибутов, чтобы аццель понимал шейпы получаемые от радиуса:

# nano /usr/local/share/accel-ppp/radius/radius.dict

Добавляем содержимое:

ATTRIBUTE PPPD-Upstream-Speed-Limit 230 integer
ATTRIBUTE PPPD-Downstream-Speed-Limit 231 integer

Добавляем в автозапуск:

#systemctl enable accel-ppp

Заливаем фаерволл

#nano /etc/init.d/firewall

Добавляем содержимое:

#!/bin/bash
#
# firewall
#
# chkconfig: - 97 20
#
### BEGIN INIT INFO
# Provides:firewall
# Required-Start:    $network
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop:  0 1 6
# Description:   firewall builder
### END INIT INFO
 
lock_path=/var/lock/firewall.lock
 
# Список IPSETов
ipset_list=(
disabled
)
 
VC=`which vconfig`
IFC=`which ifconfig`
ETT=`which ethtool`
IPT=`which iptables`
IPS=`which ipset`
DIG=`which dig`
CTL=`which sysctl`
 
DNS_lookup="8.8.8.8"
 
# OUT интерфейс (интернет)
out_interface1="сетевая которая смотрит в интернет"
 
# IP SRC-NAT для пользователей
out_ext_ip1="внешний ip наса"
 
# IP для редиректа на страницу заглушку
REDIRECT_IP="ip заглушки"
 
# название IPSETа для разрешенных IP
allowed_ipset="allowed"
 
# Список разрешенных сайтов и IP
allowed_list=(
Адрес биллинга
8.8.8.8
8.8.4.4
www.liqpay.com
liqpay.com
static.liqpay.com
ecommerce.liqpay.com
api.privatbank.ua
login.privatbank.ua
privat24.privatbank.ua
www.privat24.ua
privat24.ua
liqpay.com
www.liqpay.com
static.liqpay.com
ecommerce.liqpay.com
fonts.googleapis.com
ajax.googleapis.com
my-payments-p24.privatbank.ua
themes.googleusercontent.com
www.google-analytics.com
google-analytics.com
ssl.google-analytics.com
widget.siteheart.com
static.siteheart.com
www.googleadservices.com
stats.g.doubleclick.net
googleads.g.doubleclick.net
qrapi.privatbank.ua
js.honeybadger.io
socauth.privatbank.ua
www.googletagmanager.com
st.privatbank.ua
services.privatbank.ua
mypayments.privatbank.ua
client.siteheart.com
fonts.gstatic.com
esapi.siteheart.com
crm.privatbank.ua
)

postrouting() {
    # Очищаем NAT
    $IPT -t nat -F POSTROUTING
 
    # NAT для пользователей
    $IPT -t nat -A POSTROUTING -s 10.0.0.0/8 -o $out_interface1 -j SNAT --to-source $out_ext_ip1 --persisten
    echo "POSTROUTING done"
}
 
input() {
    $IPT -F INPUT
 
    # Если используете Fail2ban SSH
    $IPT -N fail2ban-ssh
    $IPT -A INPUT -p tcp -m multiport --dports 22 -j fail2ban-ssh
    $IPT -A INPUT -i eth1 -s "mgmt_net" -j ACCEPT
    $IPT -A INPUT -p TCP -m state --state ESTABLISHED,RELATED -j ACCEPT
    $IPT -A INPUT -p UDP -m state --state ESTABLISHED,RELATED -j ACCEPT
    $IPT -A INPUT -p TCP -m multiport --dports 6881:6889 -m state --state NEW -j DROP
    $IPT -A INPUT -p UDP -m multiport --dports 6881:6889 -j DROP
    $IPT -A INPUT -p TCP -m multiport --dports 49001 -m state --state NEW -j DROP
    $IPT -A INPUT -p UDP -m multiport --dports 49001 -j DROP
    $IPT -A INPUT -p TCP -m multiport --dports 135,137,138,139,445 -j DROP
    echo "INPUT done"
}
 
raw_rules() {
    # очищаем RAW таблицы
    $IPT -t raw -F PREROUTING
    $IPT -t raw -F OUTPUT
 
    echo "RAW rules done"
}
 
forward() {
    # Очищаем FORWARD
    $IPT -F FORWARD
 
    # Пропускаем трафик к разрешенным IP
      $IPT -A FORWARD -m set --match-set $allowed_ipset dst -j ACCEPT
 
    # Блокируем трафик пользователей в IPSETах
    for ipset_name in ${ipset_list[*]}
    do
    $IPT -A FORWARD -m set --match-set $ipset_name src -j REJECT --reject-with icmp-proto-unreach
    done
 
    echo "FORWARD done"
}
 
prerouting() {
    # Очищаем PREROUTING
    $IPT -t nat -F PREROUTING
 
    # Пропускаем трафик к разрешенным IP
    $IPT -t nat -A PREROUTING -m set --match-set $allowed_ipset dst -j ACCEPT
 
    # Перенаправляем пользователей из IPSETов на страницы заглушки
    $IPT -t nat -A PREROUTING -m set --match-set disabled src -p tcp --dport 80 -j DNAT --to-destination $REDIRECT_IP:80
 
    echo "PREROUTING done"
}
 
allow() {
    # Очищаем IPSET разрешенных IP
    $IPS -F $allowed_ipset
 
    for row in ${allowed_list[*]}
    do
   # проверяем запись из списка разрешенных, явлияется ли она IP адресом
    if [[ $row =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]];
    then
    # добавляем этот IP в список разрешенных
    $IPS add $allowed_ipset $row > /dev/null 2>&1
    else
    # запись оказалась доменом, резолвим его IP через dig
      for ip in `$DIG $row +short @$DNS_lookup`
    do
    # добавляем полученные через dns IP адрес в список разрешенных
    $IPS add $allowed_ipset $ip > /dev/null 2>&1
    done
    fi
    done
 
    echo "ALLOWED done"
}
 
start() {
    if [ -f $lock_path ]; then
      echo "Firewall is running"
      exit 0
    else
      touch $lock_path
    fi
 
    echo "Start building firewall"
 
    for ipset_name in ${ipset_list[*]}
    do
      $IPS -N $ipset_name iphash > /dev/null 2>&1
    done
 
    $IPS -N active iphash > /dev/null 2>&1
    $IPS -N $allowed_ipset iphash > /dev/null 2>&1
 
    allow
    input
    forward
    prerouting
    postrouting
    raw_rules
 
    $CTL -p > /dev/null 2>&1
 
    echo "Firewall rules created"
}
 
stop() {
    if [ ! -f $lock_path ]; then
      echo "Firewall is stoped"
      exit 0
    else
      rm -f $lock_path
    fi
 
    $IPT -F INPUT
    $IPT -F FORWARD
    $IPT -t nat -F
    $IPT -t mangle -F
    $IPT -t raw -F PREROUTING
    $IPT -t raw -F OUTPUT
 
    $IPT -P FORWARD ACCEPT
 
    echo "FORWARD/NAT/RAW flushed"
 
    $CTL -p > /dev/null 2>&1
}
 
show() {
    $IPT -L INPUT -v -n --line-numbers
    $IPT -L FORWARD -v -n --line-numbers
    $IPT -t nat -L PREROUTING -v -n --line-numbers
    $IPT -t nat -L POSTROUTING -v -n --line-numbers
    $IPT -t raw -L -v -n --line-numbers
    $IPS list $allowed_ipset
}
 
case "$1" in
  start)
    start
    ;;
  stop)
    stop
    ;;
  restart)
    stop
    start
    ;;
  allow)
    allow
    ;;
  input)
    input
    ;;
  forward)
    forward
    ;;
  pre)
    prerouting
    ;;
  post)
    postrouting
    ;;
  raw)
    raw_rules
    ;;
  show)
    show
    ;;
  *)
    echo "Usage: $0 {start|stop|restart|allow|input|forward|pre|post|raw|show}"
esac

Обращаем внимание на #NAT для пользователей, где указываем какую клиентскую подсеть натить.

Делаем наш ферволл-скрипт исполняемым:

# chmod +x /etc/init.d/firewall
# bash /etc/init.d/firewall start

И добавляем его в автозагрузку

# /lib/systemd/systemd-sysv-install enable firewall

Смотрим или создались таблички:

# ipset list

В ответ мы должны увидеть примерно следующее:

Name: disabled
Type: hash:ip
Revision: 4
Header: family inet hashsize 1024 maxelem 65536
Size in memory: 88
References: 2
Number of entries: 0
Members:
 
Name: active
Type: hash:ip
Revision: 4
Header: family inet hashsize 1024 maxelem 65536
Size in memory: 88
References: 0
Number of entries: 0
Members:

- именно в эти таблички и будут запихиваться юзеры скриптами if-up и if-down

Запускаем accel-ppp

# service accel-ppp start

Чекаем логи

# cat /var/log/accel-ppp/core.log
# cat /var/log/accel-ppp/emerg.log
# cat /var/log/accel-ppp/accel-ppp.log

В логах должно быть чисто
Типичная ошибка - юзер не подключается с ошибкой авторизации и в логе:

radius: out of memory

- проверьте пути к словарям и наличие самих словарей.

Настраиваем ротацию логов:

# nano /etc/logrotate.d/accel-ppp

Добавляем содержимое:

/var/log/accel-ppp/*.log {
    missingok
    sharedscripts
    postrotate
            test -r /var/run/accel-pppd.pid && kill -HUP `cat /var/run/accel-pppd.pid`
    endscript
}

Завершающий этап

Ребутимся, подключаем юзера.

На стороне наса проверяем или корректно выдался шейп.

# telnet 127.0.0.1 2001
# show sessions


Копирайт

mgaccel-ppp-pppoe.txt · Последние изменения: 2020/11/22 22:17 — bobr