Перейти к содержимому
Калькуляторы

Просмотр ppp сессий

Помогите решить проблему.

Есть VPN сервак, на нем ALTlinux Server 4.0.1, pptpd-1.3.4, ppp-2.4.4. Все установлено из rpm.

в pptpd.conf есть logwtmp. В /var/log/wtmp ppp сессии есть, а вот в /var/run/utmp их нет. Знаю, что по who можно смотреть сессии (работает на другом серваке). Вообщем надо, чтобы по команде who отображались текущие ppp сессии.

Облазил весь инет. Что-то никто не знает как это исправить или где копать.

Значит, у меня два вопроса:

1. Как это сделать? Может надо пакеты собирать с какими-то опциями?

2. Или предложите варианты (может скрипт написать какой), чтобы можно было видеть ppp сесии и соответственно логины, под которым впн-юзеры залогинены. И чтобы можно было эти сессии при необходимости сбросить.

 

PS авторизация впн0юзеров происходит через радиус сервер.

Изменено пользователем lanman

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А вы не хотите аккаунтинг тоже в радиус запихнуть? Там и будете смотреть текущие сессии - надо будет только acct_update прикрутить и SQL какой-нить, для удобства.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

в auth-up и auth-down можно добавить скрипты, которые будут добавлять/удалять из базы текущие сессии

сбросить сессию можно через ifconfig $IFACE down

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Я наверно немного не точно описал проблему. Постараюсь изложить все более подробно, потому как перерыл весь инет, понял, что у людей есть такая проблема, но решения данной проблемы я не нашел.

Была собственно работающая следующая схема. VPN сервер, RADIUS сервер. Моя задача была собрать новый VPN сервер. Остальное как все это работало, для меня в принципе было не важно и являлось таким черным ящиком. Я собрал сервер, настроил ppp и pptpd. Все заработало. Но потом выяснилось, что техподдержка смотрит текущие сессии и при необходимости их сбрасывает через Finger. Выяснилось, что xtradius, который у нас стоит, тоже использует finger, чтобы при авторизации vpn пользователя, он не мог законнектиться два или более раз под одной учеткой. Происходит это следующем образом. Стоит finger сервер. Вместо in.fingerd используется ctlportslave. В системе есть файл в /var/run/utmp, куда пишутся текущие ppp и консольные сессии (так было по-крайней мере на старром VPN сервере). Скрипт ctlportslave читает этот файл. Так вот на старом VPN сервере в этот файл пишутся текущие ppp сессии, а новом нет.

В pptpd.conf есть строчка logwtmp. pptpd использует plugin pptpd-logwtmp.so. В /var/log/wtmp пишутся ppp сессии и также они должны писаться в utmp, но этого повторюсь не происходит на новом VPN сервер и связано это каким-то образом, с более новыми версиями пакетов pptpd и ppp. Сейчас стоит ppp-2.4.4, pptpd-1.3.4. На старом VPN сервере стояли ppp-2.4.2 и pptpd-1.3.2 если я не ошибаюсь. xtradius сейчас нет возможности поменять на freeradius и реализовать просмотр и отключение пользователей, а также проверку на multiple login с новым радиусом. Если кто использует pptpd, посмотрите, можно ли у вас по who посмотреть, текущие ppp сессии. По-большому счету просмотр и отключению сессий можно конечно и через самописный скрипт написать. Но самое важное - это проверка xtradius'ом на multiple login. Как вот это сделать? Повторюсь, что xtradius заменить на freeradius и делать какие-то манипуляции с базой пользователей нет возможности, как предложили ниже.

Изменено пользователем lanman

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Доброго утра, камрады! Похожая ситуация, только система debian, как известно who в ней показывает только пользователей на консоли, на убунтах всё отлично она выводит список ppp-пользователей ip, логин, время подключения и т.д. Дело в том, что существуют скрипты на сервере VPN, которые запускает биллинговая машина обращаясь на сокеты VPN-сервера (xinetd), находя логин и активную сессию в /var/log/wtmp используя команду last, так вот сама проблема в том, что last -f /var/log/wtmp жутко грузит все 4 ядра данного сервера, если кто знает более производительный способ смотреть ppp пользователей отпишитесь, спасибо!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

проблема в том, что last -f /var/log/wtmp жутко грузит все 4 ядра данного сервера,

 

а чего грузит то? наверно нет ротации логов и файл распух до гигантских размеров?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

проблема в том, что last -f /var/log/wtmp жутко грузит все 4 ядра данного сервера,

 

а чего грузит то? наверно нет ротации логов и файл распух до гигантских размеров?

периодические при запуске тех самых скриптов, в htop'e наблюдаю как процессы с командой last -f /var/log/wtmp грузят под 100% все 4 ядра, Вы верно подметили, возможно более частая ротация wtmp лога поможет, но по сути он и так ротируется, просто на других дебианах такая же схема поиска ppp юзеров и там таких скачков загрузки CPU нет... хотя сервера все аппаратно одинаковые 4х ядерники AMD Phenom II

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Если авторизация пользователей через Radius и mysql-базу, то может так:

mysql radius -e "select radacctid,username,acctstarttime,callingstationId,framedipaddress from radacct where acctstoptime=0"

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Если авторизация пользователей через Radius и mysql-базу, то может так:

mysql radius -e "select radacctid,username,acctstarttime,callingstationId,framedipaddress from radacct where acctstoptime=0"

Спасибо, попробую! На данный момент настройкой ротации wtmp лога, ядра больше не грузятся... Всем спасибо!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.