IPoE Accel-ppp Q-in-Q Mode
Материал из BiTel WiKi
Версия от 12:00, 17 августа 2016; Zavndw (Обсуждение | вклад)
Схема в общих чертах. Для максимальной простоты настройки Q-in-Q на accel-ppp с авторизацией по radius, номера S-Vlan и C-Vlan подставляются в логин пользователя. Скрипт обрезает все лишнее и дальше привычным образом происходит авторизация и шейпинг средствами accel-ppp.
У меня конфигурация accel-ppp расположена тут /etc/accel-ppp.conf
[modules] log_file ipoe auth_mschap_v2 auth_mschap_v1 auth_chap_md5 auth_pap radius ippool pppd_compat shaper #net-snmp #logwtmp #connlimit [core] log-error=/var/log/accel-ppp/core.log thread-count=4 [ipoe] verbose=5 username=lua:username shared=0 ifcfg=1 mode=L2 start=dhcpv4 ip-unnumbered=1 lua-file=/etc/accel-ppp.lua offer-delay=0,100:100,200:200,-1:1000 vlan-mon=e0.1000,1-4095 vlan-name=%I.%N interface=re:e0.1000\.\d{4} gw-ip-address=10.200.0.1/16 [dns] dns1=8.8.8.8 dns2=8.8.4.4 [radius] dictionary=/usr/local/share/accel-ppp/radius/dictionary nas-identifier=accel-ppp nas-ip-address=10.163.0.5 server=10.163.0.3,secret,auth-port=1912,acct-port=1913,req-limit=50,fail-timeout=0,max-fail=10,weight=1 dae-server=10.163.0.5:3799,secret verbose=5 [client-ip-range] 10.0.0.0/8 192.168.0.0/16 [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 color=1 level=5 [log-pgsql] conninfo=user=log log-table=log [pppd-compat] ip-up=/etc/ppp/ip-up ip-down=/etc/ppp/ip-down ip-change=/etc/ppp/ip-change radattr-prefix=/var/run/radattr verbose=1 [shaper] vendor=Cisco attr=Cisco-AVPair up-limiter=police down-limiter=tbf verbose=1 [cli] verbose=1 telnet=127.0.0.1:2000 tcp=127.0.0.1:2001 [snmp] master=0 agent-name=accel-ppp [connlimit] limit=10/min burst=3 timeout=60
Скрипт обрезающий в имени пользователя интерфейс, расположен тут /etc/accel-ppp.lua
function username(pkt) local username = string.sub(pkt:ifname(), string.find(pkt:ifname(), ".", 1, true)+1, 32) return username end