Abram Опубликовано 9 июня, 2014 · Жалоба Поделитесь идеологией vlan-per-user + qinq. В идеале порт агрегации на один коммутатор доступа, тогда все ясно - svlan на коммутатор, cvlan на клиента. А если за портом агрегации куст из нескольких свиче доступа, как поступаете? svlan на куст или по прежднему на коммутатор, но тогда нужен доступ с поддержкой qinq... svlan на аггрегацию. Ведем учёт cvlan-ов скриптом в MySQL-базе. При генерации конфига для свитча доступа автоматом добавляются на аплинки все "соседние" cvlan. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
kayot Опубликовано 9 июня, 2014 · Жалоба Чем занимается accel? Как это можно поглядеть? попробуй perfа лучше callgrind К сожалению я от этого довольно далек. Можешь озвучить условия проверки(дебаг-релиз сборка софта и ядра), нужные тестовые пакеты и в идеале строки запуска утилит? strace и perf top на релизной конфигурации запускал, ничего интересного не увидел. [root@ipoe1 ~]# strace -c -p 26468 Process 26468 attached - interrupt to quit ^CProcess 26468 detached % time seconds usecs/call calls errors syscall ------ ----------- ----------- --------- --------- ---------------- 100.00 2.350000 1175000 2 2 rt_sigtimedwait 0.00 0.000000 0 2 2 rt_sigreturn ------ ----------- ----------- --------- --------- ---------------- 100.00 2.350000 4 4 total [root@ipoe1 ~]# perf top -p 26468 19.42% libpthread-2.12.so [.] 0x000000000000c182 6.29% [kernel] [k] _raw_spin_lock_irq 5.53% libpthread-2.12.so [.] pthread_spin_lock 4.55% [kernel] [k] _raw_spin_lock 3.70% libtriton.so [.] triton_thread 1.76% libtriton.so [.] mempool_free 1.47% libtriton.so [.] triton_context_call 1.36% libtriton.so [.] mempool_alloc 1.30% [ip_tables] [k] ipt_do_table 1.15% [kernel] [k] __netif_receive_skb_core 1.14% [kernel] [k] try_to_wake_up 1.07% [cls_u32] [k] u32_classify 1.00% [bnx2] [k] bnx2_rx_int Samples: 4K of event 'cycles', Event count (approx.): 282284945, DSO: libpthread-2.12.so 76.29% [.] 0x000000000000c182 ◆ 17.02% [.] pthread_spin_lock ▒ 2.31% [.] pthread_mutex_lock ▒ 1.18% [.] pthread_mutex_unlock ▒ 0.98% [.] __libc_sigwait ▒ 0.72% [.] pthread_kill ▒ 0.53% [.] __pthread_enable_asynccancel ▒ 0.52% [.] __pthread_disable_asynccancel Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
byteplayer Опубликовано 10 июня, 2014 · Жалоба У кого взлетел accel c shared=1 mode=L2? Выдача адресов dhcp-модулем freeradius, авторизация freeradius. IP реальные. У меня что-то не взлетает. Есть кто, кому конфиг показать и ткнуть на бока? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
nuclearcat Опубликовано 11 июня, 2014 · Жалоба xeb, static void parse_attr(struct rad_attr_t *attr, int dir, int *speed, int *burst, int *tr_id) else if (attr->attr->type == ATTR_TYPE_INTEGER) *speed = attr->val.integer; ИМХО надо else if (attr->attr->type == ATTR_TYPE_INTEGER) *speed = conf_multiplier * attr->val.integer; Сорри, что не патч, но помоему я его оформлять дольше буду, чем расскажу тут :) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Abram Опубликовано 11 июня, 2014 · Жалоба Сорри, что не патч, но помоему я его оформлять дольше буду, чем расскажу тут :) Это слишком большое изменение. Здесь pull request надо. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
roysbike Опубликовано 11 июня, 2014 (изменено) · Жалоба Поделитесь идеологией vlan-per-user + qinq. В идеале порт агрегации на один коммутатор доступа, тогда все ясно - svlan на коммутатор, cvlan на клиента. А если за портом агрегации куст из нескольких свиче доступа, как поступаете? svlan на куст или по прежднему на коммутатор, но тогда нужен доступ с поддержкой qinq... svlan на аггрегацию. Ведем учёт cvlan-ов скриптом в MySQL-базе. При генерации конфига для свитча доступа автоматом добавляются на аплинки все "соседние" cvlan. А если монтажник сменил порт клиенту, как вы регистрируйте клиента? Если я не отдаю атрибут DCHP-Router-IP-address , то клиент не может получить IP. Отдаю IP из радиус. man accel-ppp.conf [ipoe] gw-ip-address=x.x.x.x/mask Specifies address to be used as server ip address if radius can assign only client address. In such case if client address is matched network and mask then specified address and mask will be used. You can specify multiple such options. Поделитесь идеологией vlan-per-user + qinq. В идеале порт агрегации на один коммутатор доступа, тогда все ясно - svlan на коммутатор, cvlan на клиента. А если за портом агрегации куст из нескольких свиче доступа, как поступаете? svlan на куст или по прежднему на коммутатор, но тогда нужен доступ с поддержкой qinq... Спасибо! за gw-ip-address=x.x.x.x/mask , решило проблему , теперь не отдаю DHCP-Mask и Router-IP-Address. Изменено 11 июня, 2014 пользователем roysbike Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
roysbike Опубликовано 13 июня, 2014 · Жалоба Проявилась сегодня проблемка. Клиенты перестали получать IP. Захожу cмотрю show sessions, все сессии finish и не мог скинуть их с сервера. Перезапустил , все заработало. [ipoe] verbose=5 username=ifname lease-time=60 max-lease-time=180 shared=0 ifcfg=0 mode=L2 start=dhcpv4 proxy-arp=0 proto=100 attr-dhcp-client-ip=Framed-IP-Address #attr-dhcp-client-ip=DHCP-Client-IP-Address #attr-dhcp-router-ip=DHCP-Router-IP-Address #attr-dhcp-mask=DHCP-Mask gw-ip-address=172.30.0.29/16 attr-l4-redirect=L4-Redirect l4-redirect-ipset=debtors interface=vlan2000 interface=vlan2001 interface=vlan2002 interface=vlan2003 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
mr.Scamp Опубликовано 14 июня, 2014 (изменено) · Жалоба А как работает accel-ppp с IPv6 в режиме IPoE? Собираемся делать dual-stack с shared=1, mode=L2, vlan-mon. Изменено 14 июня, 2014 пользователем mr.Scamp Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
kayot Опубликовано 14 июня, 2014 · Жалоба ipv6 пока только в проекте Я бы тоже не отказался от работающего v6, пора уже хотя бы в тестовом виде начинать внедрение. P.S. неделю работает IPOE на 1.8.0, vlan per user, полет отличный. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
mr.Scamp Опубликовано 14 июня, 2014 · Жалоба Спасибо :) Еще один вопрос новичка - а как установить модуль ядра ipoe на wheezy? sasha@bras1:~/src/accel-ppp-code/build$ sudo make -C /usr/src/linux-headers-3.2.0-4-amd64/ M=/home/sasha/src/accel-ppp-code/build/drivers/ipoe/drivers/ipoe modules_install make: Entering directory `/usr/src/linux-headers-3.2.0-4-amd64' DEPMOD 3.2.0-4-amd64 Warning: you may need to install module-init-tools See http://www.codemonkey.org.uk/docs/post-halloween-2.6.txt make: Leaving directory `/usr/src/linux-headers-3.2.0-4-amd64' Модуль собирается, но не ставится в /lib/modules. Его нужно руками копировать? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Lynx10 Опубликовано 14 июня, 2014 · Жалоба Спасибо :) Еще один вопрос новичка - а как установить модуль ядра ipoe на wheezy? sasha@bras1:~/src/accel-ppp-code/build$ sudo make -C /usr/src/linux-headers-3.2.0-4-amd64/ M=/home/sasha/src/accel-ppp-code/build/drivers/ipoe/drivers/ipoe modules_install make: Entering directory `/usr/src/linux-headers-3.2.0-4-amd64' DEPMOD 3.2.0-4-amd64 Warning: you may need to install module-init-tools See http://www.codemonkey.org.uk/docs/post-halloween-2.6.txt make: Leaving directory `/usr/src/linux-headers-3.2.0-4-amd64' Модуль собирается, но не ставится в /lib/modules. Его нужно руками копировать? можна и руками Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
ykorikk Опубликовано 15 июня, 2014 · Жалоба ACCEL_PPP_VERSION "92aa52c116cdd1a5df42c1437fe9d68b3a1c122b" Ошибочка закралась у вас: /accel-ppp-code/accel-pppd/logs/log_pgsql.c --- log_pgsql_old.c 2014-06-15 11:28:43.502592904 +0300 +++ log_pgsql.c 2014-06-15 11:24:10.627911936 +0300 @@ -86,7 +86,7 @@ sleeping = 1; spin_unlock(&queue_lock); if (need_close) { - triton_md_unregister_handler(&pgsql_hnd); + triton_md_unregister_handler(&pgsql_hnd, 1); PQfinish(conn); conn = NULL; triton_context_unregister(&pgsql_ctx); @@ -267,7 +267,7 @@ { spin_lock(&queue_lock); if (sleeping) { - triton_md_unregister_handler(&pgsql_hnd); + triton_md_unregister_handler(&pgsql_hnd, 1); PQfinish(conn); conn = NULL; triton_context_unregister(&pgsql_ctx); Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
roysbike Опубликовано 16 июня, 2014 · Жалоба Коллеги , помогите решить задачку. Планирую переводить на IPoE , интересует вопрос. Например логина eth1.1500.1 нет в базе, как мне отдать клиенту IP из спец пула чтобы кинуть на старицу регистрации. У кого так реализовано? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Dimka88 Опубликовано 16 июня, 2014 (изменено) · Жалоба Коллеги , помогите решить задачку. Планирую переводить на IPoE , интересует вопрос. Например логина eth1.1500.1 нет в базе, как мне отдать клиенту IP из спец пула чтобы кинуть на старицу регистрации. У кого так реализовано? Это реализуется на стороне биллинга. У вас какой биллинг? Изменено 16 июня, 2014 пользователем Dimka88 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
roysbike Опубликовано 16 июня, 2014 · Жалоба Коллеги , помогите решить задачку. Планирую переводить на IPoE , интересует вопрос. Например логина eth1.1500.1 нет в базе, как мне отдать клиенту IP из спец пула чтобы кинуть на старицу регистрации. У кого так реализовано? Это реализуется на стороне биллинга. У вас какой биллинг? самописный, расскажите логику , объясню программеру он впилит. Я пока до конца не въеду. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
kayot Опубликовано 16 июня, 2014 · Жалоба roysbike Логика - радиус должен вместо отбоя неизвестному логину отвечать ok и давать ip из гостевого блока. У меня радиус отвечает ok всегда, а выдачу нужных адресов обеспечивает самописный dhcp-сервер, конечная реализация не приципиальна. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Abram Опубликовано 17 июня, 2014 · Жалоба самописный, расскажите логику , объясню программеру он впилит. Я пока до конца не въеду. Неавторизованным обманентам выдается Access-Accept + IP из спец. пула. Всё, что из этого пула, на NAS-е редиректится на страницу "введи логин". Пользователь вводит логин-пароль. После правильного ввода следует оборвать сессию (посредством CoA либо отстуствием ответа из радиуса на Interim-Update). Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
ichthyandr Опубликовано 18 июня, 2014 (изменено) · Жалоба самописный, расскажите логику , объясню программеру он впилит. Я пока до конца не въеду. Неавторизованным обманентам выдается Access-Accept + IP из спец. пула. Всё, что из этого пула, на NAS-е редиректится на страницу "введи логин". Пользователь вводит логин-пароль. После правильного ввода следует оборвать сессию (посредством CoA либо отстуствием ответа из радиуса на Interim-Update). странице авторизации както доставляется инфа номер интерфейса + мак? Интересует ситуация именно Л2-коннектед & влан на абонента Изменено 18 июня, 2014 пользователем ichthyandr Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
NiTr0 Опубликовано 18 июня, 2014 · Жалоба странице авторизации както доставляется инфа номер интерфейса + мак? А зачем если эти данные знает биллинг (сессия-то поднята)? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
911 Опубликовано 18 июня, 2014 · Жалоба а если выдать reject, accel сам выдаст ип из своего гостевого пула, есть ли способ передать биллингу username? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
ichthyandr Опубликовано 18 июня, 2014 (изменено) · Жалоба странице авторизации както доставляется инфа номер интерфейса + мак? А зачем если эти данные знает биллинг (сессия-то поднята)? как зачем? аццель авторизует абнента по qnq интерфейсу + мак. Клиент поменял мак или вообще еще не подключался ниразу, редиректим на страницу авторизации в биллинг. В большинстве биллингов доступ к учетке авторизуется через логин/пароль, абонент вводит логин/пароль. как странице авторизации передать ЕЩЕ И qnq + мак, чтобы определить валидность этой связки? Есть подозрение - вытащить через выданный IP на страничке qnq+mac из текущей сессии? Изменено 18 июня, 2014 пользователем ichthyandr Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
911 Опубликовано 18 июня, 2014 · Жалоба вытащить через выданный IP на страничке qnq+mac из текущей сессии ну да Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
NiTr0 Опубликовано 19 июня, 2014 · Жалоба Клиент поменял мак или вообще еще не подключался ниразу, редиректим на страницу авторизации в биллинг. В большинстве биллингов доступ к учетке авторизуется через логин/пароль, абонент вводит логин/пароль. как странице авторизации передать ЕЩЕ И qnq + мак, чтобы определить валидность этой связки? Биллинг выдает гостевой адрес, поднимается гостевая сессия. При вводе логина-пароля - известен айпи, т.е. известна сессия, т.е. известны логин и мак... Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
roysbike Опубликовано 19 июня, 2014 · Жалоба Коллеги , в продолжении темы. Настроил freeradius, чтобы при смене mac-address , кидало на страницу регистрации. Например клиент сменил устройство или монтажник сменил порт клиенту. Если auth прошла, то клиенту отдается Framed-IP-Address из базы. Если User-Name базе не известен, то разрешаем auth и отдаю Framed-Pool- guestpool в accel-ppp заведен guestpool. Вопрос, как мне быть , если Username например vlan1500.1 есть в базе, но не совпадает mac-address , клиенту отдается Framed-IP-Address и Framed-Pool, как мне выпилить Framed-IP-Address. Пока в голову не приходит. unlang в default if ("%{sql:SELECT COUNT(*) FROM `radcheck` WHERE username = '%{User-Name}' AND mac = '%{Calling-Station-Id}'}" >= 1 && NAS-Identifier == "ipoe") { ok update control { Auth-Type := "Accept" } } elsif (NAS-Identifier == "mpd") { ok } else { update control { Auth-Type := "Accept" } update reply { Framed-Pool := "guestpool" Reply-Message = "Hello , last MAC-address + %{User-name} not correct or %{User-Name} not registered" } } Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
NiTr0 Опубликовано 19 июня, 2014 · Жалоба roysbike http://lists.freeradius.org/pipermail/freeradius-users/2008-January/024806.html - не то? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...