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

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


Сайдбар

Розділи

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

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