====== Настройка Accel-IPoE (устарел) ====== Поддержан типа NAS Accel-[[:ipoe|IPoE]] начиная с версии 2.7.0 В данной статье будут указаны особенности настройки accel-ppp модуль ipoe в с связке с mikbill [[billing:nas_access_server:accelipoe_install|Установка Accel-IPoE от MikBiLL]] * [[http://sourceforge.net/apps/trac/accel-ppp|Главная страница автора accel-ppp]] * [[billing:nas_access_server:accelipoe_ipoe_ru|Accel-IPoE IPoE_ru.txt]] Внимательно читаем README в дистрибутиве accell-ppp. Внимательно изучаем accel-ppp.conf из дистрибутива и IPoE_ru.txt , ниже в этой статье указаны ИЗМЕНЕНИЯ а не ПОЛНАЯ замена секций конфигурационного файла. ДУМАТЬ и ЧИТАТЬ ОБЯЗАТЕЛЬНО. ====== Описание ====== Функционал который поддержан , фактически все что умеет сам модуль Accel-IPoE мы поддержали. * IPoE/IP Unnumbered/QinQ IP Unnumbered * "DHCP от Accel" ( не нужно включать модули dhcp другие вовсе) * работа без "DHCP от Accel" * Выдача "именных пулов" вместо IP от radius * Режим "[[mikbill:настройки:динамические_реальные_ip|пулинга]]" для выдачи IP * online * шейпер * шейпер по временным интервалам * услуга турбо * выкидывание * стандартный функционал страницы без денег * все варианты L4 redirect * так же поддержаны "пулы без денег" для выдачи IP ===== MikBiLL ===== свойства NAS {{ :billing:nas_access_server:accel-ipoe.jpg?nolink& |}} Изменить под свои нужды имя, описание, IP, логин, пароль, секрет Остальное не рекомендуется менять ===== Системные Опции ===== Указываем непосредственные свойства для Accel-ipoe: {{ :billing:nas_access_server:accel_ipoe_sys_opts_main.png?nolink& |}} |параметр|значение| |Выдать IP локальный|Включает или отключает выдачу IP через Framed-IP-Address , выдается IP из карточки абонента "локальный IP" | |Выдать IP выданный|Включает или отключает выдачу IP согласно услуге "[[mikbill:настройки:реальные_ip|внешний IP]]" выдается IP из карточки абонента "выданный IP", при условии что стоит галочка его выдать. использовать только совместно с опцией "Выдать IP локальный" или "Включить IP Pool в Accel" | |Выдавать именной пул|включает функцию отправки Framed-Pool имени из параметра "Пул". Для обычных абонентов.| |Включить IP Pool в Accel|Можно использовать совместно с "Выдать IP выданный" , тогда абоненты будут получать IP в "[[mikbill:настройки:динамические_реальные_ip|пулинге]]", кроме тех кому выдадите статику . Т е режим работы по выдаче IP как у Билайна| Варианты использования опций выше: - Не включать ни одной галочки - это значит что у вас режим start=up - Включено только "Выдавать именной пул" - у вас используется пулы внутри конфига accel - "Выдать IP локальный"+"Выдать IP выданный" - используете выдачу IP из локальная сеть и выданный IP, указанных в микбилл - "Включить IP Pool в Accel"+"Выдать IP выданный" - используете выдачу IP из микбилл , всем выдаются ip в ротации + указанным абонентам фиксированные - Так же можно не использовать "Выдать IP выданный" в указанных вариантах выше |Включить Pool должников| Включает режим выдачи IP из пула должников, настройка ниже| |Выдать именной пул должников|включает функцию отправки Framed-Pool имени из параметра "Пул должников". Для должников.| |Слать L4-Redirect|Шлет тег attr-l4-redirect=L4-Redirect в случае если абонент не прошел авторизацию.| |Длинна маски для пула без денег|Указать длину маски для пула без денег, в примере в пул должников занесли 192.168.0.0/20 и длинна маски тут 20| |шлюз для пула без денег|| |длинна маски для справочника реальных ip|Это необходимо для выдачи постоянных внешних ip согласно услуге "статические реальные ip" в рамках работы в модуле accel-ipoe нужно понимать что например если у нас блок /21 а мы выдаем абонентам всего лишь часть в статику , то эта маска должна включать в себя параметр ниже "шлюз для справочника реальных ip" т е например у нас сеть 195.2.204.0/20 мы на услугу "статические реальные ip" выделили 195.2.205.240/28 а шлюз для всех клиентов в рамках accel используем 195.2.204.14 - тогда получается указать маску надо 20 хотя и блок в услуге намного короче| |шлюз для справочника реальных ip|читать длинна маски для справочника реальных ip | |таймаут сессии должников|Убран за ненадобностью| |Пул|имя пула которое шлется в Accel при включенной опции "Выдавать именной пул" текст на английском - имя пула в Accel параметром Framed-Pool| |Пул должников|имя пула которое шлется в Accel при включенной опции "Выдать именной пул должников" текст на английском - имя пула в Accel параметром Framed-Pool| ====== модули Accel ====== ===== словарь accel ===== Так же после установки accel-ipoe необходимо открыть файл словаря самого accel как правило он тут /usr/local/share/accel-ppp/radius/dictionary и добавить строки ниже в самый конец файла ATTRIBUTE DHCP-Router-IP-Address 241 ipaddr ATTRIBUTE DHCP-Mask 242 integer ATTRIBUTE L4-Redirect 243 integer ATTRIBUTE L4-Redirect-ipset 244 string ATTRIBUTE DHCP-Option82 245 octets ATTRIBUTE AccelRemoteId 246 octets ATTRIBUTE AccelCircuitId 247 octets Обязательно это же добавить в файл dictionary на вашем сервере с mikbill Для Работы нужно расширить словари freeradius Словарь находится в разных ОС по разным местам ниже варианты нахождения файла словаря /usr/share/freeradius/dictionary /usr/local/share/freeradius/dictionary В конце файла рекомендуем добавить пустую строку После операции выше перезапустите radiusd ===== конфиг accel - radius ===== [radius] dictionary=/usr/local/share/accel-ppp/radius/dictionary nas-identifier=accel nas-ip-address=10.1.1.1 server=10.1.1.2,secret,auth-port=1812,acct-port=1813,req-limit=0,fail-time=0 dae-server=0.0.0.0:3799,secret verbose=0 timeout=3 max-try=3 acct-delay-time=0 |secret|указать свой секрет| |10.1.1.2|указать ip сервера с freeradius| |10.1.1.1|указать ip accel-ppp| ===== шейпер ===== mikbill отправляет шейпер по атрибуту "Filter-Id" Так же возможен вариант с временными интервалами. Все едлать как указано на сайте accel по включению временных интервалов В микбил достаточно просто заполнить их в тарифе , по сути все работает как и в случае с accel-ppp. Обычный шейпер в тарифе {{ :billing:nas_access_server:accel_ipoe_shaper_basic.jpg?nolink& |}} пример обычного шейпера в модуле [shaper] attr=Filter-Id ifb=ifb0 up-limiter=htb down-limiter=htb cburst=1375000 r2q=10 quantum=1500 leaf-qdisc=sfq perturb 10 verbose=0 ===== Шейпер День/Ночь ===== {{ :billing:nas_access_server:accel_ipoe_shaper_interval.jpg?nolink& |}} пример шейпера по интервалам в модуле [shaper] attr=Filter-Id quantum=1500 time-range=1,7:00-00:59 time-range=2,1:00-3:59 time-range=3,4:00-6:59 up-limiter=htb down-limiter=htb cburst=1375000 ifb=ifb0 r2q=10 quantum=1500 leaf-qdisc=sfq perturb 10 verbose=0 ====== должники ====== Суть работы с должниками в следующем. Есть несколько вариантов как им выдать IP. - "Включить Pool должников"- средствами микбила выдается "пул должников", настройки ниже + укажите правильную маску в "системных опциях". - "Выдать именной пул должников" - вы указываете имя пула, который задан в конфиге акселя и ip выдаются из него. - слать "L4-Redirect" - эту опцию можно включать совместно с любой из выше или же только ее. Указанный пул должников в mikbill будет выдаваться абонентам вместо их ip. Т е они получат от accel ip, mask, gw, dns, wins |wins|указать в соответствующих модулях accel| |dns|указать в соответствующих модулях accel| Блокировку интернет и редирект на "страницу без денег" делаете самостоятельно. ===== Именной пул - пример ===== пример конфига для "Выдать именной пул должников": [ip-pool] 192.168.0.2-254/20,name=l4-redirect gw-ip-address=192.168.0.1 attr=Framed-Pool ===== Настройка "Пул без денег" ===== Для корректной работы необходимо обязательно включить и указать пул без денег. {{ :billing:nas_access_server:accel_ipoe_sys_opts-1.jpg?nolink& |}} ===== L4-Redirect ===== Если включена системная опция "слать L4-Redirect" то пир ответе для должников, заблокирован интернет и т д будет послан данный атрибут L4-Redirect По которому модуль ipoe может выполнить дополнительные действия например часть из конфига [ipoe] l4-redirect-ipset=l4 Т е в ipset 14 будет добавлена запись с IP абонента [ipoe] l4-redirect-table=100 В таблицу маршрутизации номер 100 будет добавлен маршрут на IP абонента ====== IPoE - примеры====== ниже примеры настроек модулей не забываем включить протокол accel Это делается 1 раз при установке accel-ppp echo "100 accel/ipoe" >> /etc/iproute2/rt_protos В примере указаны 100% обязательные настройки, остальные по желанию ==== IPoE (mac) ==== режим работы аналогичный mikrotik hotspot или LinuxIGS Поиск абонента идет по указанному в абоненте mac-адресу IP выдается согласно указаному абоненту сегменту шлюз и маска берутся из свойств сегмента dns, wins согласно настройкам accel Если указано "выдать реальник" то выдается внешний ip Хотя никто не мешает сделать 1 сегмент на внешних, другой на серых и т д [ipoe] username=lua:username lua-file=/etc/accel-ppp.lua lease-time=300 max-lease-time=300 attr-dhcp-client-ip=Framed-IP-Address attr-dhcp-router-ip=DHCP-Router-IP-Address attr-dhcp-mask=DHCP-Mask attr-l4-redirect=L4-Redirect shared=1 ifcfg=1 mode=L2 start=dhcpv4 proto=100 interface=re:eth1.101 файл /etc/accel-ppp.lua function username(pkt) return pkt:hdr('chaddr') end ==== IPoE (L3)==== Поиск абонента идет по указанному в абоненте IP-адресу IP выдается согласно указаному абоненту сегменту шлюз и маска берутся из свойств сегмента dns, wins согласно настройкам accel Если указано "выдать реальник" то выдается внешний ip Хотя никто не мешает сделать 1 сегмент на внешних, другой на серых и т д [ipoe] username=ifname lease-time=300 max-lease-time=300 attr-dhcp-client-ip=Framed-IP-Address attr-dhcp-router-ip=DHCP-Router-IP-Address attr-dhcp-mask=DHCP-Mask attr-l4-redirect=L4-Redirect shared=1 ifcfg=1 mode=L3 start=dhcpv4 proto=100 interface=re:eth1.101 ==== Unnumbered ==== Выполняет мониторинг вланов на eth1 начиная с 101 до 464 принцип работы 1 влан = 1 абонент Поиск абонента идет по указанному в абоненте устройству и порту IP выдается согласно указаному абоненту сегменту шлюз и маска берутся из свойств сегмента dns, wins согласно настройкам accel Если указано "выдать реальник" то выдается внешний ip Хотя никто не мешает сделать 1 сегмент на внешних, другой на серых и т д Пример настройки устройства BDCOM для пассивной оптики В конфиге устройства занесено так чтобы на каждую онушку давался свой разный влан от 101 до 464 Тип устройства {{ :billing:nas_access_server:sw_type.jpg?nolink& |}} Само устройство (модуль 1) {{ :billing:nas_access_server:bd_com_mod_1.jpg?nolink& |}} Добавляем пары влан=порт {{ :billing:nas_access_server:bd_com_mod_2.jpg?nolink& |}} {{ :billing:nas_access_server:bd_com_mod_3.jpg?nolink& |}} Итого результат {{ :billing:nas_access_server:bd_com_mod_4.jpg?nolink& |}} таким образом можно делать и с меньшим или с большим кол-вом портов. ну и никто вас не ограничивает кол-вом устройств. После этого мы просто указываем абоненту модуль 1 и порт и все система всегда его авторизует и занесет в логи его мак. Пример [ipoe] username=ifname lease-time=300 max-lease-time=300 attr-dhcp-client-ip=Framed-IP-Address attr-dhcp-router-ip=DHCP-Router-IP-Address attr-dhcp-mask=DHCP-Mask attr-l4-redirect=L4-Redirect shared=0 proxy-arp=0 proto=100 vlan-mon=eth1,101-464 vlan-timeout=600 vlan-name=%I.%N interface=re:eth1\.[1-4][0-9][0-9] ==== QinQ ==== Тут все так же как и в прошлом модуле за исключением одной детали которая указана ниже В настройках устройства нужно указать номер тега QinQ {{ :billing:nas_access_server:bd_com_mod_1_qinq.jpg?nolink& |}} Все остальные настройки в mikbill аналогичны Unnumbered. Пример [ipoe] username=ifname lease-time=300 max-lease-time=300 attr-dhcp-client-ip=Framed-IP-Address attr-dhcp-router-ip=DHCP-Router-IP-Address attr-dhcp-mask=DHCP-Mask attr-l4-redirect=L4-Redirect shared=0 proxy-arp=0 proto=100 vlan-mon=re:eth1\.2[0-9][0-9][0-9],101-464 vlan-timeout=600 vlan-name=%I.%N interface=re:eth1\.2[0-9][0-9][0-9].[1-4][0-9][0-9] Т е слушается qinq 2000-2999 и vlan 100-464 на eth1 ВНИМАНИЕ QinQ интерефейсы необходимо создать на сервере вручную. Например vconfig add eth1 2000 Т е теперь accel будет слушать по qinq 2000 В qinq вланы должны иметь вид ethX.2000.101 где ethX - физический интерфейс, 2000 - номер тега QINQ, 101 номер клиентского влана ==== Итоги ==== Еще можно в рамках одного accel-ppp Сделать все три режима настройки Т е разными свойствами interface и vlan-mon обеспечить одновременную работу всех режимов и на каждом interface будет свой режим. Например на одном NAS нам понадобилось 1 часть вланов были в авторизации по mac и там было в каждом влан много абонентов 2 Другая часть вланов была unnumbered vlan-mon=eth1,101-464 vlan-timeout=600 vlan-name=%I.%N interface=re:eth1\.[1-4][0-9][0-9],shared=0,mode=L2 interdace=re:eth2.100,shared=1,mode=L2