forum.bitel.ru http://forum.bitel.ru/ |
|
Вопрос про 691 ошибку http://forum.bitel.ru/viewtopic.php?f=5&t=1212 |
Страница 1 из 1 |
Автор: | S [ 15 июн 2008, 21:55 ] |
Заголовок сообщения: | Вопрос про 691 ошибку |
Прочитал http://wiki.bgbilling.ru/index.php/Детальное_информирование_абонентов_о_причинах_ошибки_691. В принципе саму суть уловил. Хотелось бы понять некоторые вещи, уточнить скорее, верно ли я понимаю. Есть NAS (FreBSD,mpd4). При данной ошибке выдаем ACCEPT с необходимыми аттрибутами (длительность сессии, IP-адрес для редиректа и т.п.) и совершаем редирект данной сети (ipfw на редирект через gre сразу можно настроить) на порт прокси через gre. Немного не понятна другая ситуация, при попытке http-запроса конкретным клиентом, как он узнает о своей конкретной ошибке. Видел табличку dialup_conn_error куда заносится ip и error, то есть в данном, моем, случае, необходимо вносить ошибку и ip, который я выдаю клиенту через новые аттрибуты. А далее, прокси-сервер делает sql-запрос, выборку по ip и выдает http-страницу. Подскажите, я все верно понимаю? |
Автор: | Victor [ 16 июн 2008, 07:55 ] |
Заголовок сообщения: | |
Да так и есть. По поводу самой схемы. Был написан простой WCCP-информер для циски, чтобы исключить применение Oops и заменить его nginx. Сейчас гоняется в тесте, отлавливаются ошибки конфигурации nginx. |
Автор: | S [ 16 июн 2008, 08:04 ] |
Заголовок сообщения: | |
Ладно, попробую реализовать, а там поглядим. В принципе и в апаче mod_proxy я где-то видел, а ngnix сам из себя прокси-сервер строит? Не уверен, что squid умеет делать sql-запросы, попробуем. Спасибо, что откликнулись. |
Автор: | snark [ 17 июн 2008, 00:19 ] |
Заголовок сообщения: | |
не пойму, в чем Ваша проблема ... сессия инициируется, скрипт выдает параметры, выдает клиенту адрес, Вам сложно зафорвардить (ipfw fwd) этот адрес на страничку виртуал хоста (дабы апач ответил нужным хостом - поднимите Ваш error.site.ru выше остальных виртуалхостов, смотреть через httpd -S) в апаче без применения проксей и прочих gre кои необходимы только в связке wccp enabled cisco + wccp aware proxy? |
Автор: | S [ 17 июн 2008, 06:34 ] |
Заголовок сообщения: | |
Любые мысли полезны ) |
Автор: | Victor [ 17 июн 2008, 08:04 ] |
Заголовок сообщения: | |
snark писал(а): не пойму, в чем Ваша проблема ... сессия инициируется, скрипт выдает параметры, выдает клиенту адрес, Вам сложно зафорвардить (ipfw fwd) этот адрес на страничку виртуал хоста (дабы апач ответил нужным хостом - поднимите Ваш error.site.ru выше остальных виртуалхостов, смотреть через httpd -S) в апаче без применения проксей и прочих gre кои необходимы только в связке wccp enabled cisco + wccp aware proxy?
Только проблема в том, что в непионерской сети нет фряшки в качестве маршрутизаторов/бриджей между клиентом и интернетом. |
Автор: | Администратор [ 17 июн 2008, 12:52 ] |
Заголовок сообщения: | |
В радиусе есть такой атрибут Replay-Message, случаем циска не умеет его передавать как-нибудь клиенту в окошко? В качестве причины отлупа. Или он не для того? |
Автор: | snark [ 17 июн 2008, 17:15 ] |
Заголовок сообщения: | |
Victor писал(а): Только проблема в том, что в непионерской сети нет фряшки в качестве маршрутизаторов/бриджей между клиентом и интернетом. почитайте, пожалуйста, внимательно чем NAS-ят в этой сети: S писал(а): Есть NAS (FreBSD,mpd4).
я склонен считать что именно через фрю в этой сети и выпускают клиентов в инет и именно поэтому я и писал про фрю ... перефразирую свой предыдущий ответ - ув. S все что Вам надо - это использовать тот же метод который используется при принудительном прозрачном проксировании, но только форвардить пакеты Вы будете не на сквид, а на адрес/порт виртуалхоста апача ... ну или форвардите их на сквид, а уже им решайте какие адреса пойдут в инет через сквид (для экономии полосы), а какие увидят страничку ![]() |
Автор: | S [ 17 июн 2008, 20:45 ] |
Заголовок сообщения: | |
На циске не сошелся свет клином, а то, что не используется NAS-циска так это не показатель. За советы спасибо, действительно проще на вхост апача форвардить. |
Автор: | Victor [ 18 июн 2008, 10:12 ] |
Заголовок сообщения: | |
про nginx выше я тоже самое написал... просто не вижу смысла ставить монстра апачи. |
Автор: | S [ 18 июн 2008, 11:32 ] |
Заголовок сообщения: | |
nginx не использовал, пока на него времени нет, апач не такой уж и монстр ) |
Автор: | romero [ 12 дек 2008, 12:46 ] |
Заголовок сообщения: | |
При реализации данного примера из WiKi возник вопрос: адреса клиентов типа 192.168... т.е. 192.168.255.255 = 3232301055 DEC int: до 2147483647 Соответственно нада long. Но в API есть setIntValue(int value), а не setLongValue(long value). Что можете подсказать? (у клиентов статические ИПы перебивать не хотелось бы))) |
Автор: | Victor [ 12 дек 2008, 14:56 ] |
Заголовок сообщения: | |
php-шный ip2long() в этом случае начнет давать минусовые значения, можно собсно и их использовать. |
Автор: | romero [ 12 дек 2008, 15:41 ] |
Заголовок сообщения: | |
setIntValue(int value) используем в http://wiki.bgbilling.ru/index.php/Передача_ACCEPT_вместо_REJECT_вместе_с_доп._аттрибутами , т.е. нада передать ИП в атрибуты RADIUS , а именно // Framed-IP-Address raIp = new RadiusAttribute( 8 ); raIp.setIntValue( login_ip ); причем тут php-шный ip2long() , мона поподробнее? |
Автор: | Amir [ 12 дек 2008, 18:30 ] |
Заголовок сообщения: | |
В int влезает ip4 адреc: Код: long f = 0xFFFFFFFFL;
System.out.println(f); int i = (int)f; System.out.println(i); f = (long)i&0xFFFFFFFFL; System.out.println(f); -- 4294967295 -1 4294967295 Также raIp.setIntValue( int ) аналогично raIp.setByteValue( Utils.convertIntToBytes( int ) ) |
Автор: | romero [ 12 дек 2008, 19:37 ] |
Заголовок сообщения: | |
В скрипте: f = 3232237110; Ответ: Error or number too big for integer type: 3232237110Parse error at line X, column X: Error or number too big for integer type: 3232237110 192.168.6.54 = 3232237110 DEC наверно что то не так) лог скрипта из WiKi: Sourced file: inline evaluation of: ``import bitel.billing.server.call.bean.Login; import bitel.billing.server.radius. . . . '' : Method Invocation rs.getIntcom.mysql.jdbc.exceptions.MySQLDataException: '3232237110' in column '1' is outside valid range for the datatype INTEGER. |
Автор: | Victor [ 15 дек 2008, 07:50 ] |
Заголовок сообщения: | |
ip2long() непричем, просто он показывает, что происходит со значением типа int, при превышении. Начинает использоваться отрицательные значения. |
Автор: | snark [ 16 дек 2008, 15:08 ] |
Заголовок сообщения: | |
romero писал(а): Error or number too big for integer type: 3232237110Parse error at line X, column X: Error or number too big for integer type: 3232237110
ерунда какая то ... влазит оно в int: Код: mysql> SELECT INET_NTOA(3232237110);
+-----------------------+ | INET_NTOA(3232237110) | +-----------------------+ | 192.168.6.54 | +-----------------------+ 1 row in set (0.00 sec) mysql> SELECT INET_ATON('192.168.6.54'); +---------------------------+ | INET_ATON('192.168.6.54') | +---------------------------+ | 3232237110 | +---------------------------+ 1 row in set (0.00 sec) |
Автор: | romero [ 16 дек 2008, 19:38 ] |
Заголовок сообщения: | |
Amir писал(а): В int влезает ip4 адреc:
Код: long f = 0xFFFFFFFFL; System.out.println(f); int i = (int)f; System.out.println(i); f = (long)i&0xFFFFFFFFL; System.out.println(f); -- 4294967295 -1 4294967295 Также raIp.setIntValue( int ) аналогично raIp.setByteValue( Utils.convertIntToBytes( int ) ) пасиб заработало |
Автор: | Net_andy [ 23 апр 2009, 17:28 ] |
Заголовок сообщения: | |
вот добрался до этого раздела: при соединении клиента с сервером выкидывает "ошибка 691" в логах mpd.log - Apr 23 22:06:16 xxxxxxx mpd: Name: "test" Apr 23 22:06:16 xxxxxxx mpd: [p0000] AUTH: Auth-Thread started Apr 23 22:06:16 xxxxxxx mpd: [p0000] AUTH: Trying RADIUS Apr 23 22:06:16 xxxxxxx mpd: [p0000] RADIUS: RadiusAuthenticate for: test Apr 23 22:06:16 xxxxxxx mpd: [p0000] RADIUS: RadiusAddServer Adding 192.168.1.56 Apr 23 22:06:16 xxxxxxx mpd: [p0000] RADIUS: RadiusStart: rad_put_string(RAD_NAS_IDENTIFIER): xxxxxxx.xxxxxxxx.ru Apr 23 22:06:16 xxxxxxx mpd: [p0000] RADIUS: RadiusStart: rad_put_addr(RAD_NAS_IP_ADDRESS): 192.168.1.56 Apr 23 22:06:16 xxxxxxx mpd: [p0000] RADIUS: Adding Message Authenticator Apr 23 22:06:16 xxxxxxx mpd: [p0000] RADIUS: RadiusStart: rad_put_int(RAD_NAS_PORT): 0 Apr 23 22:06:16 xxxxxxx mpd: [p0000] RADIUS: RadiusStart: rad_put_int(RAD_NAS_PORT_TYPE): 5 Apr 23 22:06:16 xxxxxxx mpd: [p0000] RADIUS: RadiusStart: rad_put_int(RAD_SERVICE_TYPE): RAD_FRAMED Apr 23 22:06:16 xxxxxxx mpd: [p0000] RADIUS: RadiusStart: rad_put_int(RAD_FRAMED_PROTOCOL): RAD_PPP Apr 23 22:06:16 xxxxxxx mpd: [p0000] RADIUS: RadiusStart: rad_put_string(RAD_CALLING_STATION_ID) 192.168.1.5 Apr 23 22:06:16 xxxxxxx mpd: [p0000] RADIUS: RadiusPutAuth: RADIUS_CHAP (MD5) peer name: test Apr 23 22:06:16 xxxxxxx mpd: [p0000] RADIUS: RadiusSendRequest: username: test Apr 23 22:06:16 xxxxxxx mpd: [p0000] RADIUS: RadiusSendRequest: username: test trying Apr 23 22:06:16 xxxxxxx mpd: [p0000] RADIUS: RadiusSendRequest: username: test trying Apr 23 22:06:16 xxxxxxx mpd: [p0000] RADIUS: rad_send_request failed: No valid RADIUS responses received Apr 23 22:06:16 xxxxxxx mpd: [p0000] AUTH: RADIUS returned undefined Apr 23 22:06:16 xxxxxxx mpd: [p0000] AUTH: ran out of backends Apr 23 22:06:16 xxxxxxx mpd: [p0000] AUTH: Auth-Thread finished normally Apr 23 22:06:16 xxxxxxx mpd: [p0000] CHAP: ChapInputFinish: status failed Apr 23 22:06:16 xxxxxxx mpd: Reply message: Login incorrect Apr 23 22:06:16 xxxxxxx mpd: [p0000] CHAP: sending FAILURE len:15 Apr 23 22:06:16 xxxxxxx mpd: [p0000] LCP: authorization failed Apr 23 22:06:16 xxxxxxx mpd: [p0000] LCP: parameter negotiation failed Apr 23 22:06:16 xxxxxxx mpd: [p0000] LCP: state change Opened --> Stopping Apr 23 22:06:16 xxxxxxx mpd: [p0000] AUTH: Cleanup ----- в логах radius.log 04-23/22:06:16 INFO [PortListener-pool-1-thread-9] radius - AUTH: Type=AUTHENTICATION_REQUEST Attributes: User-Name=test NAS-Identifier=xxxxxxx.xxxxxxxx.ru CHAP-Password=..в[y.~{|y.&..оS. NAS-IP-Address=192.168.1.56 NAS-Port=0 Message-Authenticator=V..^..5.Т╦jv7КS. Service-Type=2 Framed-Protocol=1 Calling-Station-Id=192.168.1.5 NAS-Port-Type=5 CHAP-Challenge=╩.hСЁ..Ч.eMАb.Рw..і#.╚).╙.].щNШҐ?z╟Р.╟П..=БxҐтО 04-23/22:06:16 INFO [PortListener-pool-1-thread-9] radius - RESPONSE: Type=AUTHENTICATION_ACCEPT Process time auth: 51 init_tariff: 2; set_ip: 2; common_auth: 39 Attributes: Acct-Interim-Interval=60 Service-Type=2 Framed-Protocol=1 Framed-IP-Address=10.0.0.5 -------- в processor.log 04-23/22:06:16 ERROR [PortListener-pool-1-thread-9] LoggingPrintStream - Stop without start! вопрос - как победить ? |
Автор: | snark [ 27 апр 2009, 17:40 ] |
Заголовок сообщения: | |
таймаут радиуса в мпд увеличить? |
Автор: | Net_andy [ 28 апр 2009, 05:13 ] |
Заголовок сообщения: | |
snark писал(а): таймаут радиуса в мпд увеличить?
уже, вроде даже что то завелось |
Автор: | snark [ 28 апр 2009, 16:19 ] |
Заголовок сообщения: | |
вот так все работает Код: radius:
set auth disable internal set auth max-logins 1 set auth timeout 60 set auth enable radius-auth set auth enable radius-acct set auth acct-update 60 set radius identifier mpd set radius timeout 60 set radius retries 3 set radius server ... set radius me ... |
Автор: | iONE [ 10 янв 2013, 04:47 ] |
Заголовок сообщения: | Re: Вопрос про 691 ошибку |
Ссылка на wccp клиента на wiki не рабочая. Если возможно, перезалейте. |
Автор: | Victor [ 10 янв 2013, 09:55 ] | ||
Заголовок сообщения: | Re: Вопрос про 691 ошибку | ||
Вложил в этот топик, ссылку в вики переправлю. А вообще, это самая первая реализация заворота трафика и не самая удачная имхо. Эстетичнее и правильнее это делать через route-map... Если кому интересно, можно статью в вики дополнить.
|
Автор: | snark [ 10 янв 2013, 22:10 ] |
Заголовок сообщения: | Re: Вопрос про 691 ошибку |
Victor писал(а): Эстетичнее и правильнее это делать через route-map. Правильнее это делать через WCCP (если |
Автор: | Victor [ 16 янв 2013, 09:54 ] |
Заголовок сообщения: | Re: Вопрос про 691 ошибку |
snark писал(а): Victor писал(а): Эстетичнее и правильнее это делать через route-map. Правильнее это делать через WCCP (если Доступ заблокирован и так, так что куда там они уйдут - дело десятое... С WCCP при лежащем хоcте возможна ситуация работающего HTTP при заблокированном интернете. |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |