**Accel-ppp L3 router**
**Старт сессии по некласифицированному пакету через L3 router.**
**Вариант установки на чистые ОС.**
__**1. Настройка сервера доступа.**__
**1.1. Установка accel-ppp**
Воспользуйтесь ссылками:
Ручная установка - [[billing:nas_acces_server:accelipoe_sample|тут]]
Автоматическая установка - [[billing:howto:nas_install|тут]]
----
**1.2. Конфигурирование accel-ppp.**
[modules]
log_file
ipoe
radius
sigchld
shaper
[core]
log-error=/var/log/accel-ppp/core.log
thread-count=4
[ipoe]
username=lua:username
lua-file=/etc/accel-ppp.lua
lease-time=300
max-lease-time=300
attr-l4-redirect=L4-Redirect
shared=1
ifcfg=1
mode=L3
start=up
proto=100
interface=eth1,mode=L3
local-net=10.22.0.0/24
verbose=7
[dns]
dns1=8.8.8.8
dns2=8.8.8.4
[radius]
dictionary=/usr/local/share/accel-ppp/radius/dictionary
nas-identifier=nas1
nas-ip-address=0.0.0.0
server=10.10.1.1,secret,auth-port=1812,acct-port=1813,req-limit=0,fail-time=0
dae-server=0.0.0.0:3799,secret
verbose=100
timeout=3
max-try=3
acct-delay-time=0
[client-ip-range]
0.0.0.0/0
[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=/var/log/accel-ppp/debug.log
copy=1
color=1
level=7
[shaper]
attr=Filter-Id
ifb=ifb0
up-limiter=htb
down-limiter=htb
cburst=1375000
r2q=10
quantum=1500
verbose=0
[cli]
verbose=1
telnet=127.0.0.1:2000
tcp=127.0.0.1:2001
[connlimit]
limit=10/min
burst=3
timeout=60
Не забудьте сверить секцию **[Radius]** со справочником **"Сервера NAS"**
Секция **[ipoe]** - режим **L3**, слушает на интерфейсе **eth1**, старт от если есть пакеты из **10.22.0.0/24**
----
**1.2. Конфигурирование iptables и ipset.**
Добавьте правила NAT для пользовательской подсети:
iptables -t nat -A POSTROUTING -s 10.10.1.0/24 -j MASQUERADE
**Должники.**
Адреса абонентов имеющие отрицательную задолженность, с учётом специфики схемы L3 будут заносится в списки ipset.
Создайте список ipset:
ipset -N l4 iphash
Создайте для них следующие правила:
iptables -A FORWARD -p udp -m multiport --port 53 -j ACCEPT
iptables -A FORWARD -p tcp -d stat.lan -j ACCEPT
iptables -A FORWARD -p tcp -s stat.lan -j ACCEPT
iptables -A FORWARD -m set --match-set l4 src -j DROP
----
__**1.3. Оптимизация системы:**__
sysctl.conf
net.ipv4.ip_forward=1
net.ipv4.neigh.default.gc_thresh1 = 1024
net.ipv4.neigh.default.gc_thresh2 = 2048
net.ipv4.neigh.default.gc_thresh3 = 4096
# turn off selective ACK and timestamps
net.ipv4.tcp_sack = 0
net.ipv4.tcp_timestamps = 0
# memory allocation min/pressure/max.
# read buffer, write buffer, and buffer space
net.ipv4.tcp_rmem = 10000000 10000000 10000000
net.ipv4.tcp_wmem = 10000000 10000000 10000000
net.ipv4.tcp_mem = 10000000 10000000 10000000
net.core.rmem_max = 524287
net.core.wmem_max = 524287
net.core.rmem_default = 524287
net.core.wmem_default = 524287
net.core.optmem_max = 524287
net.core.netdev_max_backlog = 300000
net.core.netdev_tstamp_prequeue = 0
Пример нормального распределения прерываний на примере карты Intel
cat /proc/interrupts
55: 1373298 8 0 0 0 0 0 0 PCI-MSI-edge eth2-TxRx-0
56: 13 1373293 0 0 0 0 0 0 PCI-MSI-edge eth2-TxRx-1
57: 13 8 1373285 0 0 0 0 0 PCI-MSI-edge eth2-TxRx-2
58: 13 8 0 1373285 0 0 0 0 PCI-MSI-edge eth2-TxRx-3
59: 13 8 0 0 1373285 0 0 0 PCI-MSI-edge eth2-TxRx-4
60: 11 8 0 1 0 1373286 0 0 PCI-MSI-edge eth2-TxRx-5
61: 8 7 3 0 2 0 1373285 1 PCI-MSI-edge eth2-TxRx-6
62: 2 1 0 0 9 9 0 1373285 PCI-MSI-edge eth2-TxRx-7
----
__**1.4. Проверка rc.local**__
Автозагрузка модуля ipoe.
insmod /opt/accel-ppp-code/build/drivers/ipoe/driver/ipoe.ko
Автозагрузка акселя.
/usr/local/sbin/accel-pppd -d -p /var/run/accel-pppd.pid -c /etc/accel-ppp.conf
Создание списка для должников.
/usr/sbin/ipset -N l4 iphash
Если используются реальные адреса, включить proxy_arp.
echo 1 > /proc/sys/net/ipv4/conf/eth1/proxy_arp
----
__**2. Настройка билинга.**__
2.1. Установка билинга.
[[billing:howto:auto_centos6_mikbill|Centos6]]
[[billing:howto:auto_ubuntu_ltsp12_mikbill|Ubuntu LTSP 12.04]]
[[billing:howto:auto_debian_mikbill|Debian 7]]
----
**2.2. Проверка системных опций.**
Настройки-Системные опции-Параметры-Дополнительно:
{{ :billing:howto:accel_l3_r_1.jpg |}}
* Radius перезапуск.
* выкидывание
{{ :billing:howto:accel_l3_r_2.jpg |}}
Системные пути для Centos
{{ :billing:howto:accel_l3_r_3.jpg |}}
Системные пути для Debian
{{ :billing:howto:accel_l3_r_4.jpg |}}
Параметры Accel-IPoE
{{ :billing:howto:accel_l3_r_5.jpg |}}
Для должников ставим шейпер и список - l4
----
**2.3. Создание сегмента для серых адресов.**
Пример сегмента сети
{{ :billing:howto:accel_l3_r_7.jpg |}}
----
**2.4. Создание сегмента для реальных адресов.**
Настраивается аналогично сегменту серых адресов.
----
**2.5. Настройка справочника Сервера NAS**
{{ :billing:howto:accel_l3_r_6.jpg |}}
Настройки сервера NAS
----
**2.6. Заведение тестового абонента.**
{{ :billing:howto:accel_l3_r_8.jpg |}}
* Тариф выберите - **Tarif1**
* Сегмент - **Тест**
* Локальный IP должен получиться из подсети **10.22.0.0/24**
----
**2.7. Пример тарифа с ограничением скорости 10Мбит.**
{{ :billing:howto:accel_l3_r_9.jpg |}}
----
__**3. Настройка L3 роутера.**__
Если используются софтовый роутер:
net.ipv4.ip_forward=1
Если коммутатор L3 уровня - проверить форвардинг между вланами.
Коммутатор либо софт-роутер должен быть в одном влане с сервером доступа.
Коммутатор либо софт-роутер должен иметь шлюз по умолчанию на сервер доступа.
----
__**4. Проверка и отладка **__
**4.1. Лог accel-ppp**
rad_recv: Access-Request packet from host 10.10.1.1 port 35437, id=1, length=105
User-Name = "10.22.0.3"
NAS-Identifier = "nas16"
NAS-Port = 65
NAS-Port-Id = "ipoe0"
NAS-Port-Type = Ethernet
Calling-Station-Id = "00:1f:c6:FF:FF:FF"
Called-Station-Id = "eth1"
User-Password = "10.22.0.3"
Sending Access-Accept of id 1 to 10.10.1.1 port 35437
Acct-Interim-Interval = 300
L4-Redirect = 1
----
**4.2. Вывод с консоли аccel**
ipoe0 |10.22.0.3 |60:a4:4c:ea:c3:61 |10.22.0.3 |10240/10240 |ipoe | | active|00:22:48
Сессия активна, есть какой-то аптайм и установлен лимит.
**4.2. Пример правильной работы абонентского интерфейса**
ipoe0 Link encap:Ethernet HWaddr 00:00:00:00:00:00
inet6 addr: fe80::200:ff:fe00:0/64 Scope:Link
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:36865 errors:0 dropped:0 overruns:0 frame:0
TX packets:1942 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:2523758 (2.4 MiB) TX bytes:923110 (901.4 KiB)
Трафик есть в обоих направлениях.