Alexandr Ovcharenko Posted October 3, 2010 Posted October 3, 2010 Встала необходимость навесить скрипт, который на NAS-е (mpd5.5) должен вырубить пптп-тунель (потушить определенный интерфейс ngXX). Я вижу единственное решение - скрипт телнетится в консоль mpd и делает close для определенного ngХХ. Дело за малым - узнать этот самый номер ХХ. Ранее, когда это были mpd3/mpd4, они передавали радиусу номер ng через атрибут NAS-Port. Но в mpd5 интерфейсы создаются динамически, и передаваемое в NAS-Port число теперь вовсе не соответствует номеру интерфейса ng. Собственно говоря, вообще непонятно что за номер дает теперь NAS-Port, пользы от него ноль - номера ng совсем не соответсвуют номерам NAS-Port. Из известных параметров, однозначно определяющих тунель, в данный момент остался только назначаемый на тунель IP. Но как по нему в mpd идентифицировать номер ng я пока не додумался. Никто не сталкивался с задачей определения номера ng? Может я что-то упустил в доках, и этот номер можно получить другим атрибутом? Если нет, то как можно вычислить номер интерфейса скажем по IP? Вставить ник Quote
marikoda Posted October 3, 2010 Posted October 3, 2010 у нас получается по данным радиуса найти порт в mpd для pppoe получаем такую ссылку http://NAS:5006/cmd?link%20vlan536-39&show%20auth поинтересуюсь завтра у программистов, как вычисляют Вставить ник Quote
littlesavage Posted October 3, 2010 Posted October 3, 2010 (edited) Никто не сталкивался с задачей определения номера ng? Может я что-то упустил в доках, и этот номер можно получить другим атрибутом? Если нет, то как можно вычислить номер интерфейса скажем по IP? Можно без mpd, из таблицы маршрутизации: route -n get $ip | awk '/interface:/{print $2;}' А еще он передается радиусу аттрибутом mpd-iface Edited October 3, 2010 by littlesavage Вставить ник Quote
Abram Posted October 3, 2010 Posted October 3, 2010 А чем PoD не устроил? Хорошая же вещь :). Можно даже передать прямо номер сессии либо логин, а mpd уже сам разберется. Вставить ник Quote
Alexandr Ovcharenko Posted October 3, 2010 Author Posted October 3, 2010 Можно без mpd, из таблицы маршрутизации: route -n get $ip | awk '/interface:/{print $2;}'Жизненно, но не спортивно :) . NAS-ов несколько, придется сначала еще вычислять на каком из них залогинился абонент, потом уже на этом NAS-e шерстить таблицу. А еще он передается радиусу аттрибутом mpd-ifaceА вот это уже гораздо интереснее! Полез проверять... Вставить ник Quote
Alexandr Ovcharenko Posted October 3, 2010 Author Posted October 3, 2010 А еще он передается радиусу аттрибутом mpd-ifaceТо что доктор прописал!!! Спасибки огромное!Тема закрыта. Вставить ник Quote
Deac Posted October 3, 2010 Posted October 3, 2010 Стоит попробовать привязаться не к номеру интерфейса, а к Session-ID Вставить ник Quote
Abram Posted October 3, 2010 Posted October 3, 2010 Стоит попробовать привязаться не к номеру интерфейса, а к Session-ID Я уже о этом говорил. :) Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.