====== Налаштування accel-ppp з PPPoE авторизацією ======
===== Для початку =====
Знову нагадуємо: вже має бути налаштований [[multigen|КупаГен]]. \\
Далі підключаємо словник accel-ppp на стороні Убіллінга, для чого у файлі: \\
// /usr/local/etc/raddb/dictionary // \\
нам потрібно знайти і розкоментувати (або додати, у разі відсутності) такий рядок: \\
$INCLUDE /usr/local/etc/raddb/dictionary_preset/accel-ppp.dictionary
===== Створюємо NAS в Убілінгу =====
{{:mgaccelpppoe_nas_clreate.png?&400|}}
Ключ для новоствореного НАСу, який нам знадобиться в процесі подальшої конфігурації, можна знайти тут:
{{:mgaccelpppoe_nas_key.png|}}
А ми, тим часом, рестартимо радіус на "Убіллінговому" сервері \\
**# service radiusd restart**
І повертаємося до нашого новоствореного НАСу та відкриваємо форму редагування **"NAS КупаГен "**.
{{:mgaccelpppoe_nas_edit1.png|}} \\
Вказуємо такі опції та натискаємо кнопку **"Зберегти "**:
{{:mgaccelpppoe_nas_edit.png|}} \\
Далі все на тій же формі редагування **"NAS КупаГен "** натискаємо кнопку **"Клонувати конфігурацію NAS "**. Побачимо щось схоже: \\
{{:mgaccelpppoe_nas_clone.png|}} \\
і у виділене на скріншоті поле для введення (хоча воно там узагалі-то і так - єдине) вставляємо наступний текст (так, це вже преконфігуровані дефолтні атрибути - все для людей!):
eyJvcHRpb25zIjp7ImlkIjoiOCIsIm5hc2lkIjoiOSIsInVzZXJuYW1ldHlwZSI6ImxvZ2luIiwic2VydmljZSI6ImNvYSIsIm9ubHlhY3RpdmUiOiIwIiwicG9ydCI6IjM3OTkifSwiYXR0cmlidXRlcyI6eyI0NCI6eyJpZCI6IjQ0IiwibmFzaWQiOiI5Iiwic2NlbmFyaW8iOiJyZXBseSIsIm1vZGlmaWVyIjoiYWN0aXZlIiwiYXR0cmlidXRlIjoiUFBQRC1VcHN0cmVhbS1TcGVlZC1MaW1pdCIsIm9wZXJhdG9yIjoiPSIsImNvbnRlbnQiOiJ7U1BFRURVUH0ifSwiNDUiOnsiaWQiOiI0NSIsIm5hc2lkIjoiOSIsInNjZW5hcmlvIjoicmVwbHkiLCJtb2RpZmllciI6ImFjdGl2ZSIsImF0dHJpYnV0ZSI6IlBQUEQtRG93bnN0cmVhbS1TcGVlZC1MaW1pdCIsIm9wZXJhdG9yIjoiPSIsImNvbnRlbnQiOiJ7U1BFRURET1dOfSJ9LCI0MiI6eyJpZCI6IjQyIiwibmFzaWQiOiI5Iiwic2NlbmFyaW8iOiJyZXBseSIsIm1vZGlmaWVyIjoiYWxsIiwiYXR0cmlidXRlIjoiRnJhbWVkLUlQLUFkZHJlc3MiLCJvcGVyYXRvciI6Ij0iLCJjb250ZW50Ijoie0lQfSJ9LCI0MyI6eyJpZCI6IjQzIiwibmFzaWQiOiI5Iiwic2NlbmFyaW8iOiJyZXBseSIsIm1vZGlmaWVyIjoiYWxsIiwiYXR0cmlidXRlIjoiRnJhbWVkLUlQLU5ldG1hc2siLCJvcGVyYXRvciI6Ij0iLCJjb250ZW50IjoiMjU1LjI1NS4yNTUuMjU1In0sIjQxIjp7ImlkIjoiNDEiLCJuYXNpZCI6IjkiLCJzY2VuYXJpbyI6ImNoZWNrIiwibW9kaWZpZXIiOiJhbGwiLCJhdHRyaWJ1dGUiOiJDbGVhcnRleHQtUGFzc3dvcmQiLCJvcGVyYXRvciI6Ijo9IiwiY29udGVudCI6IntQQVNTV09SRH0ifSwiNjgiOnsiaWQiOiI2OCIsIm5hc2lkIjoiOSIsInNjZW5hcmlvIjoicmVwbHkiLCJtb2RpZmllciI6ImFsbCIsImF0dHJpYnV0ZSI6IkZpbHRlci1JZCIsIm9wZXJhdG9yIjoiPSIsImNvbnRlbnQiOiJ7U1RBVEV9In19LCJzZXJ2aWNlcyI6eyI5Ijp7ImlkIjoiNyIsIm5hc2lkIjoiOSIsInBvZCI6IntQUklOVEZ9ICdGcmFtZWQtSVAtQWRkcmVzcz0ge0lQfScgfCB7U1VET30ge1JBRENMSUVOVH0ge05BU0lQfTozNzk5IGRpc2Nvbm5lY3Qge05BU1NFQ1JFVH0iLCJjb2Fjb25uZWN0Ijoie1BSSU5URn0gJ0ZyYW1lZC1JUC1BZGRyZXNzPSB7SVB9JyB8IHtTVURPfSB7UkFEQ0xJRU5UfSB7TkFTSVB9OjM3OTkgZGlzY29ubmVjdCB7TkFTU0VDUkVUfSIsImNvYWRpc2Nvbm5lY3QiOiJ7UFJJTlRGfSAnRnJhbWVkLUlQLUFkZHJlc3M9IHtJUH0nIHwge1NVRE99IHtSQURDTElFTlR9IHtOQVNJUH06Mzc5OSBkaXNjb25uZWN0IHtOQVNTRUNSRVR9In19fQ
не забуваємо відмітити чекбокс під текстовим полем, який підтверджує те, що ми таки усвідомлюємо, що робимо, і натискаємо кнопку **"Зберегти"**. Наступним кроком - очищаємо атрибути і робимо регенерацію бази (так, **саме в такій послідовності**): \\
{{:mgaccelpppoe_nas_reset.png|}} \\
===== Встановлюємо Accel-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
{{:mgaccelpppoe_traff_shaping.png|}} \\
===== Копірайти =====
Автор даного мануалу - [[https://local.com.ua/forum/profile/12403-maxx/|Себастьян Перейро]]
{{accel_share.zip|Завантажити мануал в оригіналі}}