Користувальницькькі налаштування

Налаштування сайту


Сайдбар

Розділи

Загальний опис
Історія змін
Рекомендації до оновлення
Плани на майбутнє
Відомі проблеми
Онлайн демо
Відео
Допомога проекту
Люди
Трохи про безпеку

FAQ



Редагувати сайдбар

mgaccel-ppp-pppoe

Налаштування accel-ppp з PPPoE авторизацією

Для початку

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

нам потрібно знайти і розкоментувати (або додати, у разі відсутності) такий рядок:

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

Створюємо NAS в Убілінгу

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

А ми, тим часом, рестартимо радіус на “Убіллінговому” сервері

# service radiusd restart

І повертаємося до нашого новоствореного НАСу та відкриваємо форму редагування “NAS КупаГен “.


Вказуємо такі опції та натискаємо кнопку “Зберегти “:


Далі все на тій же формі редагування “NAS КупаГен “ натискаємо кнопку “Клонувати конфігурацію NAS “. Побачимо щось схоже:


і у виділене на скріншоті поле для введення (хоча воно там узагалі-то і так - єдине) вставляємо наступний текст (так, це вже преконфігуровані дефолтні атрибути - все для людей!):

eyJvcHRpb25zIjp7ImlkIjoiOCIsIm5hc2lkIjoiOSIsInVzZXJuYW1ldHlwZSI6ImxvZ2luIiwic2VydmljZSI6ImNvYSIsIm9ubHlhY3RpdmUiOiIwIiwicG9ydCI6IjM3OTkifSwiYXR0cmlidXRlcyI6eyI0NCI6eyJpZCI6IjQ0IiwibmFzaWQiOiI5Iiwic2NlbmFyaW8iOiJyZXBseSIsIm1vZGlmaWVyIjoiYWN0aXZlIiwiYXR0cmlidXRlIjoiUFBQRC1VcHN0cmVhbS1TcGVlZC1MaW1pdCIsIm9wZXJhdG9yIjoiPSIsImNvbnRlbnQiOiJ7U1BFRURVUH0ifSwiNDUiOnsiaWQiOiI0NSIsIm5hc2lkIjoiOSIsInNjZW5hcmlvIjoicmVwbHkiLCJtb2RpZmllciI6ImFjdGl2ZSIsImF0dHJpYnV0ZSI6IlBQUEQtRG93bnN0cmVhbS1TcGVlZC1MaW1pdCIsIm9wZXJhdG9yIjoiPSIsImNvbnRlbnQiOiJ7U1BFRURET1dOfSJ9LCI0MiI6eyJpZCI6IjQyIiwibmFzaWQiOiI5Iiwic2NlbmFyaW8iOiJyZXBseSIsIm1vZGlmaWVyIjoiYWxsIiwiYXR0cmlidXRlIjoiRnJhbWVkLUlQLUFkZHJlc3MiLCJvcGVyYXRvciI6Ij0iLCJjb250ZW50Ijoie0lQfSJ9LCI0MyI6eyJpZCI6IjQzIiwibmFzaWQiOiI5Iiwic2NlbmFyaW8iOiJyZXBseSIsIm1vZGlmaWVyIjoiYWxsIiwiYXR0cmlidXRlIjoiRnJhbWVkLUlQLU5ldG1hc2siLCJvcGVyYXRvciI6Ij0iLCJjb250ZW50IjoiMjU1LjI1NS4yNTUuMjU1In0sIjQxIjp7ImlkIjoiNDEiLCJuYXNpZCI6IjkiLCJzY2VuYXJpbyI6ImNoZWNrIiwibW9kaWZpZXIiOiJhbGwiLCJhdHRyaWJ1dGUiOiJDbGVhcnRleHQtUGFzc3dvcmQiLCJvcGVyYXRvciI6Ijo9IiwiY29udGVudCI6IntQQVNTV09SRH0ifSwiNjgiOnsiaWQiOiI2OCIsIm5hc2lkIjoiOSIsInNjZW5hcmlvIjoicmVwbHkiLCJtb2RpZmllciI6ImFsbCIsImF0dHJpYnV0ZSI6IkZpbHRlci1JZCIsIm9wZXJhdG9yIjoiPSIsImNvbnRlbnQiOiJ7U1RBVEV9In19LCJzZXJ2aWNlcyI6eyI5Ijp7ImlkIjoiNyIsIm5hc2lkIjoiOSIsInBvZCI6IntQUklOVEZ9ICdGcmFtZWQtSVAtQWRkcmVzcz0ge0lQfScgfCB7U1VET30ge1JBRENMSUVOVH0ge05BU0lQfTozNzk5IGRpc2Nvbm5lY3Qge05BU1NFQ1JFVH0iLCJjb2Fjb25uZWN0Ijoie1BSSU5URn0gJ0ZyYW1lZC1JUC1BZGRyZXNzPSB7SVB9JyB8IHtTVURPfSB7UkFEQ0xJRU5UfSB7TkFTSVB9OjM3OTkgZGlzY29ubmVjdCB7TkFTU0VDUkVUfSIsImNvYWRpc2Nvbm5lY3QiOiJ7UFJJTlRGfSAnRnJhbWVkLUlQLUFkZHJlc3M9IHtJUH0nIHwge1NVRE99IHtSQURDTElFTlR9IHtOQVNJUH06Mzc5OSBkaXNjb25uZWN0IHtOQVNTRUNSRVR9In19fQ

не забуваємо відмітити чекбокс під текстовим полем, який підтверджує те, що ми таки усвідомлюємо, що робимо, і натискаємо кнопку “Зберегти”. Наступним кроком - очищаємо атрибути і робимо регенерацію бази (так, саме в такій послідовності):


Встановлюємо 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


Копірайти

mgaccel-ppp-pppoe.txt · Востаннє змінено: 2023/07/29 13:27 повз nightfly