>народ кто юзает сабж
>помогите
>как в ppp.conf указать ему чтобы он авторизовался через радиус?
>и как с auth-key?
я уже в деталях не помню, но примерно так:
1. авторизация по радиусу может производиться либо непосредственно
через ppp, либо через radlogin. это зависит от того, как у тебя ppp
запускается.
2. для авторизации через раиус непосредственно из ppp в options нужно
прописать примерно следующее:
plugin /usr/lib/pppd/2.4.2b3/radius.so
plugin /usr/lib/pppd/2.4.2b3/radattr.so
radius-config-file /etc/radiusclient/radiusclient.conf
3. если авторизуешься radlogin, то нужно писать соответствующую обработку
в ip-up & ip-down, куда передаются переменные окружения RADIUS_*
4. т.к. и в ppp и в radlogin используется одна библиотека, то файлы
настроек у них одни и те же.
5. полезно будет к ppp применит следующий патч (я его делал для 2.4.2b3),
он добавляет работу с фильтрами, idle timeout + мапировка портов будет
одинаковой и для ppp и для radlogin:
diff -ur ppp-2.4.2-orig/pppd/plugins/radius/radius.c ppp-2.4.2/pppd/plugins/radius/radius.c
--- ppp-2.4.2-orig/pppd/plugins/radius/radius.c 2003-12-11 15:32:32.000000000 +0300
+++ ppp-2.4.2/pppd/plugins/radius/radius.c 2003-12-11 15:50:32.000000000 +0300
@@ -576,6 +576,17 @@
/* Session timeout */
maxconnect = vp->lvalue;
break;
+/* -- additional parameters */
+ case PW_FILTER_ID:
+ /* packet filter */
+ script_setenv("RADIUS_FILTER_ID",vp->strvalue,1);
+ break;
+ case PW_IDLE_TIMEOUT:
+ /* idle parameter */
+ idle_time_limit = vp->lvalue;
+ slprintf(msg, BUF_LEN, "setting idle tmo to %ld",vp->lvalue);
+ break;
+/* -- end of additional parameters */
#ifdef MAXOCTETS
case PW_SESSION_OCTETS_LIMIT:
/* Session traffic limit */
@@ -1200,10 +1211,13 @@
get_client_port(char *ifname)
{
int port;
- if (sscanf(ifname, "ppp%d", &port) == 1) {
+ return rc_map2id(ppp_devnam);
+
+/* if (sscanf(ifname, "ppp%d", &port) == 1) {
return port;
}
return rc_map2id(ifname);
+*/
}