disappointed Опубликовано 1 мая, 2009 · Жалоба Очень-очень требуется получать в биллинге интерфейс с которого пришёл клиент на NAS (у нас это влан на кампусный узел), тот самый что виден как nic-Х при запуске pppd, перерыл инет, нет патча реализующего это. Если кто-то имеет наработки по данному вопросу прошу отозваться в личку. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
MagMike Опубликовано 2 мая, 2009 · Жалоба Очень-очень требуется получать в биллинге интерфейс с которого пришёл клиент на NAS (у нас это влан на кампусный узел), тот самый что виден как nic-Х при запуске pppd, перерыл инет, нет патча реализующего это. Если кто-то имеет наработки по данному вопросу прошу отозваться в личку. патч, который в МАС-адрес клиента добавляет имя интерфейса затем этот адрес передается в качестве remotenumber и ipparam pppd. --- rp-pppoe-3.10/src/pppoe-server.c 2008-06-30 20:00:43.000000000 +0600 +++ rp-pppoe-3.10-my/src/pppoe-server.c 2009-05-02 16:16:55.000000000 +0600 @@ -1746,6 +1746,16 @@ argv[c++] = "novj"; argv[c++] = "novjccomp"; argv[c++] = "default-asyncmap"; + + snprintf(buffer, SMALLBUF, "%s:%02x:%02x:%02x:%02x:%02x:%02x", + session->ethif->name, + session->eth[0], session->eth[1], session->eth[2], + session->eth[3], session->eth[4], session->eth[5]); + argv[c++] = "ipparam"; + argv[c++] = strdup(buffer); + argv[c++] = "remotenumber"; + argv[c++] = strdup(buffer); + if (Synchronous) { argv[c++] = "sync"; } @@ -1832,6 +1842,16 @@ argv[c++] = "novj"; argv[c++] = "novjccomp"; argv[c++] = "default-asyncmap"; + + snprintf(buffer, SMALLBUF, "%s:%02x:%02x:%02x:%02x:%02x:%02x", + session->ethif->name, + session->eth[0], session->eth[1], session->eth[2], + session->eth[3], session->eth[4], session->eth[5]); + argv[c++] = "ipparam"; + argv[c++] = strdup(buffer); + argv[c++] = "remotenumber"; + argv[c++] = strdup(buffer); + if (PassUnitOptionToPPPD) { argv[c++] = "unit"; sprintf(buffer, "%u", (unsigned int) (ntohs(session->sess) - 1 - SessOffset)); Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
disappointed Опубликовано 2 мая, 2009 (изменено) · Жалоба Спасибо, но каким образом мне передать эти данные на радиус биллинга? radius.c if (*remote_number) { rc_avpair_add(&send, PW_CALLING_STATION_ID, remote_number, 0, VENDOR_NONE); } else if (ipparam) rc_avpair_add(&send, PW_CALLING_STATION_ID, ipparam, 0, VENDOR_NONE); PW_CALLING_STATION_ID у меня уходит, с ipparam не могу разобраться. Изменено 2 мая, 2009 пользователем disappointed Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
MagMike Опубликовано 3 мая, 2009 · Жалоба rc_avpair_add(&send, PW_CALLING_STATION_ID, remote_number, 0, VENDOR_NONE); вот, как раз этим передается в атрибуте Calling-Station-Id то, что изначально из командной строки попадает из параметра remotenumber. а ipparam обычно используется в скриптах ip-up, ip-down, куда он передается 6-ым параметром. так что ловите радиусом Calling-Station-Id. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
disappointed Опубликовано 4 мая, 2009 · Жалоба так что ловите радиусом Calling-Station-Id. Не получаю в этом аттрибуте, там обычный мак, ищу косяк и не вижу его. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Giga-Byte Опубликовано 4 мая, 2009 · Жалоба так что ловите радиусом Calling-Station-Id.Не получаю в этом аттрибуте, там обычный мак, ищу косяк и не вижу его. ну не разберёшься, пиши в аську. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...