Jump to content
Калькуляторы

mpd5 и номер ng как определить номер тунеля?

Встала необходимость навесить скрипт, который на 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?

Share this post


Link to post
Share on other sites

у нас получается по данным радиуса найти порт в mpd

для pppoe получаем такую ссылку http://NAS:5006/cmd?link%20vlan536-39&show%20auth

поинтересуюсь завтра у программистов, как вычисляют

Share this post


Link to post
Share on other sites
Никто не сталкивался с задачей определения номера ng? Может я что-то упустил в доках, и этот номер можно получить другим атрибутом? Если нет, то как можно вычислить номер интерфейса скажем по IP?

Можно без mpd, из таблицы маршрутизации: route -n get $ip | awk '/interface:/{print $2;}'

А еще он передается радиусу аттрибутом mpd-iface

Edited by littlesavage

Share this post


Link to post
Share on other sites

А чем PoD не устроил? Хорошая же вещь :). Можно даже передать прямо номер сессии либо логин, а mpd уже сам разберется.

Share this post


Link to post
Share on other sites
Можно без mpd, из таблицы маршрутизации: route -n get $ip | awk '/interface:/{print $2;}'
Жизненно, но не спортивно :) . NAS-ов несколько, придется сначала еще вычислять на каком из них залогинился абонент, потом уже на этом NAS-e шерстить таблицу.

 

А еще он передается радиусу аттрибутом mpd-iface
А вот это уже гораздо интереснее! Полез проверять...

Share this post


Link to post
Share on other sites
А еще он передается радиусу аттрибутом mpd-iface
То что доктор прописал!!! Спасибки огромное!

Тема закрыта.

Share this post


Link to post
Share on other sites

Стоит попробовать привязаться не к номеру интерфейса, а к Session-ID

Share this post


Link to post
Share on other sites

Стоит попробовать привязаться не к номеру интерфейса, а к Session-ID

Я уже о этом говорил. :)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this