Linux accel-ppp
Сайт: accel-ppp
High performance PPTP/L2TP/PPPoE server for Linux.
Abills
/ System configuration/ NAS/
Alive: | Время между RADIUS Alive пакетами. Рекомендуется 300 |
---|---|
Type: | Linux accel-pptp |
IP:PORT: | Ип адрес и порт сервера. Порт по умолчанию 3799 |
Password: | пароль для Disconnect Message указывается в параметре конфигурационного файла /etc/accel-ppp.conf |
Установка и настройка accel-ppp
Что нужно:
- Ядро 2.36 и выше
- Для шейпера нужен libnl2 или libnl3
# wget http://sourceforge.net/projects/accel-ppp/files/accel-ppp-1.5.0.tar.bz2 # tar -xjf accel-ppp-1.5.0.tar.bz2 # mkdir accel-ppp-build # cd accel-ppp-build # cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DRADIUS=TRUE -DSHAPER=TRUE ../accel-ppp-1.5.0 # make # make install
Настройка accel-ppp
vim /etc/accel-ppp.conf
[modules] #path=/usr/local/lib/accel-ppp log_file #log_tcp #log_pgsql pptp pppoe #l2tp auth_mschap_v2 #auth_mschap_v1 #auth_chap_md5 #auth_pap radius #ippool sigchld pppd_compat shaper_tbf #chap-secrets [core] log-error=/var/log/accel-ppp/core.log thread-count=4 [ppp] verbose=1 min-mtu=1000 mtu=1400 mru=1400 #ccp=0 #sid-case=upper #check-ip=0 #single-session=replace #mppe=require [lcp] echo-interval=30 echo-failure=3 [pptp] echo-interval=30 verbose=1 [pppoe] interface=eth1 #ac-name=xxx #service-name=yyy #pado-delay=0 #pado-delay=0,100:100,200:200,-1:500 #ifname-in-sid=called-sid #tr101=1 verbose=1 #[l2tp] #dictionary=/usr/local/share/accel-ppp/l2tp/dictionary #hello-interval=60 #timeout=60 #rtimeout=5 #retransmit=5 #host-name=accel-ppp #verbose=1 [dns] dns1=10.0.0.10 #dns2=172.16.1.1 [radius] dictionary=/usr/local/share/accel-ppp/radius/dictionary nas-identifier=accel-ppp nas-ip-address=127.0.0.1 gw-ip-address=10.0.0.10 auth-server=127.0.0.1:1812,test123 acct-server=127.0.0.1:1813,test123 # адрес интерфейса, на котором нужно слушать запросы RADIUS PoD dae-server=127.0.0.1:3799,test123 verbose=1 #timeout=3 #max-try=3 #acct-timeout=120 #acct-delay-time=0 #[client-ip-range] #10.0.0.0/8 #[ip-pool] #gw-ip-address=192.168.0.1 #192.168.0.2-255 #192.168.1.1-255 #192.168.2.1-255 #192.168.3.1-255 #192.168.4.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 #log-debug=/dev/stdout #log-tcp=127.0.0.1:3000 copy=1 #color=1 #per-user-dir=per_user #per-session-dir=per_session #per-session=1 level=3 #log-tcp=127.0.0.1:3000 #[log-pgsql] #conninfo=user=log #log-table=log [pppd-compat] #ip-pre-up=/etc/ppp/ip-pre-up #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 #[chap-secrets] #gw-ip-address=192.168.100.1 #chap-secrets=/etc/ppp/chap-secrets [tbf] #attr=Filter-Id #down-burst-factor=0.1 #up-burst-factor=1.0 #latency=50 attr-down=PPPD-Downstream-Speed-Limit attr-up=PPPD-Upstream-Speed-Limit [cli] telnet=127.0.0.1:2000 #tcp=127.0.0.1:2001
vim /usr/local/share/accel-ppp/radius/dictionary
$INCLUDE dictionary.rfc2865 $INCLUDE dictionary.rfc2866 $INCLUDE dictionary.rfc2867 $INCLUDE dictionary.rfc2868 $INCLUDE dictionary.rfc2869 $INCLUDE dictionary.rfc3576 $INCLUDE dictionary.rfc3580 $INCLUDE dictionary.rfc4072 $INCLUDE dictionary.rfc4372 $INCLUDE dictionary.rfc5176 $INCLUDE dictionary.microsoft $INCLUDE dictionary.cisco # Limit session traffic ATTRIBUTE Session-Octets-Limit 227 integer # What to assume as limit - 0 in+out, 1 in, 2 out, 3 max(in,out) ATTRIBUTE Octets-Direction 228 integer # Connection Speed Limit ATTRIBUTE PPPD-Upstream-Speed-Limit 230 integer ATTRIBUTE PPPD-Downstream-Speed-Limit 231 integer ATTRIBUTE PPPD-Upstream-Speed-Limit-1 232 integer ATTRIBUTE PPPD-Downstream-Speed-Limit-1 233 integer ATTRIBUTE PPPD-Upstream-Speed-Limit-2 234 integer ATTRIBUTE PPPD-Downstream-Speed-Limit-2 235 integer ATTRIBUTE PPPD-Upstream-Speed-Limit-3 236 integer ATTRIBUTE PPPD-Downstream-Speed-Limit-3 237 integer ATTRIBUTE Acct-Interim-Interval 85 integer ATTRIBUTE Acct-Input-Gigawords 52 integer ATTRIBUTE Acct-Output-Gigawords 53 integer
Отключить ip_gre
modprobe -r ip_gre vim /etc/modprobe.d/blacklist.conf blacklist ip_gre
Добавить в автозагрузку драйвера
vim /etc/modules pptp pppoe
Cоздадим скрипт для запуска-остановки accel-ppp
vim /etc/init.d/accel-ppp chmod +x /etc/init.d/accel-ppp
#!/bin/sh # /etc/init.d/accel-pppd: set up the accel-ppp server ### BEGIN INIT INFO # Provides: accel-ppp # Required-Start: $networking # Required-Stop: $networking # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 ### END INIT INFO set -e PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/sbin; ACCEL_PPTPD=`which accel-pppd` . /lib/lsb/init-functions if test -f /etc/default/accel-ppp; then . /etc/default/accel-ppp fi if [ -z $ACCEL_PPPTD_OPTS ]; then ACCEL_PPTPD_OPTS="-c /etc/accel-ppp.conf" fi case "$1" in start) log_daemon_msg "Starting accel-ppp server" "accel-pppd" if start-stop-daemon --start --quiet --oknodo --exec $ACCEL_PPTPD -- -d -p /var/run/accel-pppd.pid $ACCEL_PPTPD_OPTS; then log_end_msg 0 else log_end_msg 1 fi ;; restart) log_daemon_msg "Restarting accel-ppp server" "accel-pppd" start-stop-daemon --stop --quiet --oknodo --retry 180 --pidfile /var/run/accel-pppd.pid if start-stop-daemon --start --quiet --oknodo --exec $ACCEL_PPTPD -- -d -p /var/run/accel-pppd.pid $ACCEL_PPTPD_OPTS; then log_end_msg 0 else log_end_msg 1 fi ;; stop) log_daemon_msg "Stopping accel-ppp server" "accel-pppd" start-stop-daemon --stop --quiet --oknodo --retry 180 --pidfile /var/run/accel-pppd.pid log_end_msg 0 ;; status) do_status ;; *) log_success_msg "Usage: /etc/init.d/accel-ppp {start|stop|status|restart}" exit 1 ;; esac exit 0
Добавляем в автозагрузку
update-rc.d accel-ppp defaults
В словарь Freeradius - raddb/dictionary добавить такие пары
# Limit session traffic ATTRIBUTE Session-Octets-Limit 227 integer # What to assume as limit - 0 in+out, 1 in, 2 out, 3 max(in,out) ATTRIBUTE Octets-Direction 228 integer # Connection Speed Limit ATTRIBUTE PPPD-Upstream-Speed-Limit 230 integer ATTRIBUTE PPPD-Downstream-Speed-Limit 231 integer ATTRIBUTE PPPD-Upstream-Speed-Limit-1 232 integer ATTRIBUTE PPPD-Downstream-Speed-Limit-1 233 integer ATTRIBUTE PPPD-Upstream-Speed-Limit-2 234 integer ATTRIBUTE PPPD-Downstream-Speed-Limit-2 235 integer ATTRIBUTE PPPD-Upstream-Speed-Limit-3 236 integer ATTRIBUTE PPPD-Downstream-Speed-Limit-3 237 integer ATTRIBUTE Acct-Interim-Interval 85 integer ATTRIBUTE Acct-Input-Gigawords 52 integer ATTRIBUTE Acct-Output-Gigawords 53 integer