**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) Трафик есть в обоих направлениях.