<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Mikrotik.moscow [тема: RADIUS: Атрибут Max-Session-Time не определен.]</title>
		<link>http://mikrotik.moscow</link>
		<description>Новое в теме RADIUS: Атрибут Max-Session-Time не определен. форума RouterOS на сайте Mikrotik.moscow [mikrotik.moscow]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Thu, 20 Aug 2026 05:17:22 -0400</pubDate>
		<item>
			<title>RADIUS: Атрибут Max-Session-Time не определен.</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/73696-radius_-atribut-max_session_time-ne-opredelen./message297622">RADIUS: Атрибут Max-Session-Time не определен.</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Вижу, что NAS не знает, сколько времени уже проведено онлайн. Ну да, вполне логично. (Хотя все еще немного интересно, для чего предназначен атрибут max-session-time…) Только что закончил первые тесты с этими скриптами, и они работают как часы (я ни на минуту не сомневался, что так и будет!). Спасибо вам обоим за помощь. <br />
			<i>26.07.2006 15:00:00, NealC.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/73696-radius_-atribut-max_session_time-ne-opredelen./message297622</link>
			<guid>http://mikrotik.moscow/forum/forum57/73696-radius_-atribut-max_session_time-ne-opredelen./message297622</guid>
			<pubDate>Wed, 26 Jul 2006 15:00:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>RADIUS: Атрибут Max-Session-Time не определен.</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/73696-radius_-atribut-max_session_time-ne-opredelen./message297621">RADIUS: Атрибут Max-Session-Time не определен.</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Окей, давайте поиграем с этой идеей. Пользователь ABC подключается. Он аутентифицируется через RADIUS, RADIUS отправляет Session-Timeout := 600. В этом случае NAS знает, что через 600 секунд ему нужно разорвать соединение для пользователя ABC. Вроде бы всё отлично. А теперь отправим Max-Session-Time. Пользователь ABC подключается. Он аутентифицируется через RADIUS, RADIUS отправляет Max-Session-Time := 600. NAS НИКОГДА не узнает, когда ему нужно отключить этого пользователя, раз NAS не имеет представления о том, сколько времени пользователь уже провёл онлайн. Расчёт ОДНОЗНАЧНО должен выполняться RADIUS-сервером – так как RADIUS-сервер является единственным элементом в цепочке аутентификации, у которого есть данные учёта… Ну, в общем… Это то, что вам нужно. Реализуйте это, поиграйте с этим, и потом вернитесь и поблагодарите нас, когда всё будет готово. RADIUS-сервер получает максимальное разрешённое время из атрибута проверки (который вы добавляете в файл пользователей как часть блока аутентификации пользователя – похоже на пароль), RADIUS-сервер затем проверяет, сколько времени пользователь уже провёл онлайн. Таким образом, Max-Session-Time равен общему разрешённому времени минус время, которое уже было использовано. Разница затем отправляется NAS в качестве Session-Timeout, чтобы NAS разорвал соединение, когда будет использовано максимальное разрешённое время. Работает безупречно, делал это сотни раз… <br />
			<i>24.07.2006 15:56:00, savage.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/73696-radius_-atribut-max_session_time-ne-opredelen./message297621</link>
			<guid>http://mikrotik.moscow/forum/forum57/73696-radius_-atribut-max_session_time-ne-opredelen./message297621</guid>
			<pubDate>Mon, 24 Jul 2006 15:56:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>RADIUS: Атрибут Max-Session-Time не определен.</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/73696-radius_-atribut-max_session_time-ne-opredelen./message297620">RADIUS: Атрибут Max-Session-Time не определен.</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Слушай, может, тут какое-то недопонимание? Когда я выше упоминал атрибут Max-Session-Time, я не имел в виду ничего из твоего скрипта. Я имел в виду атрибут, описанный здесь: <noindex><a href="http://www.mikrotik.com/docs/ros/2.9/guide/aaa_radius" target="_blank" rel="nofollow" >http://www.mikrotik.com/docs/ros/2.9/guide/aaa_radius</a></noindex>, в разделе ‘Supported RADIUS Attributes’. Под заголовком ‘Access-Accept’ есть (частичная) запись для ‘Max-Session-Time’. Поскольку он указан как поддерживаемый атрибут для сообщений access-accept (которые, насколько я понимаю, передаются только от RADIUS к NAS – то есть это атрибут ОТВЕТА), я ожидал, что смогу отправить этот атрибут на AP. В связи с этим мне было интересно, чем он отличается от атрибута Session-Timeout, описанного непосредственно выше на той же странице, а также почему он указан там, а не в словарях. <br />
			<i>24.07.2006 15:48:00, NealC.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/73696-radius_-atribut-max_session_time-ne-opredelen./message297620</link>
			<guid>http://mikrotik.moscow/forum/forum57/73696-radius_-atribut-max_session_time-ne-opredelen./message297620</guid>
			<pubDate>Mon, 24 Jul 2006 15:48:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>RADIUS: Атрибут Max-Session-Time не определен.</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/73696-radius_-atribut-max_session_time-ne-opredelen./message297619">RADIUS: Атрибут Max-Session-Time не определен.</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Max-Session-Time — это элемент проверки, а не элемент ответа. Поэтому Radius-сервер получает этот атрибут откуда-то, проверяет его и разрешает или запрещает аутентификацию на его основе. В данном случае Max-Session-Time предоставляется непосредственно Radius-сервером на основе предоставленных мною настроек. Session-Timeout := 5 (Элемент ответа). Пользователь подключается, NAS разрешает пользователю оставаться подключенным в течение 5 секунд, а затем отключает пользователя. Как только пользователь переподключается, он снова будет отключен через 5 секунд и так далее. Max-All-Session := 500 (Элемент проверки). Пользователь подключается, Radius проверяет через свою базу данных учёта, как долго пользователь был в сети. Если пользователь находится в сети более 500 секунд, Radius-сервер запретит аутентификацию пользователя. Поскольку это элемент проверки, он не имеет никакого отношения к NAS. Max-Daily-Session := 500 (Элемент проверки). Пользователь подключается, Radius проверяет через свою базу данных учёта, как долго пользователь был в сети. Если пользователь находится в сети более 500 секунд за текущий день, аутентификация запрещена. Опять же, это элемент проверки, он не имеет никакого отношения к NAS. Max-Monthly-Session := 500 (Элемент проверки), то же самое, что и Daily-Session, только рассчитывается за период текущего месяца вместо дня. Опять же, элемент проверки, опять же, он не имеет никакого отношения к NAS. В двух словах: Session-Timeout — это элемент ответа (Он отправляется в NAS), и NAS выполняет работу по отключению пользователя после истечения периода ожидания. Max-All-Session (который вы можете легко переименовать в Max-Session-Time, отредактировав конфигурацию), Max-Daily-Session, Max-Monthly-Session, Max-AnythingYouWantToSetupInRLMSQLCounter-Session — это элемент проверки. Он обрабатывается внутри Radius-сервера и НИКОГДА не отправляется в NAS. Radius-сервер выполняет вычисления, чтобы определить, разрешить или запретить аутентификацию пользователя после истечения определенного периода времени в сети… Я не думаю, что могу быть понятнее, чем это… Это не ракетостроение? <br />
			<i>24.07.2006 15:14:00, savage.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/73696-radius_-atribut-max_session_time-ne-opredelen./message297619</link>
			<guid>http://mikrotik.moscow/forum/forum57/73696-radius_-atribut-max_session_time-ne-opredelen./message297619</guid>
			<pubDate>Mon, 24 Jul 2006 15:14:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>RADIUS: Атрибут Max-Session-Time не определен.</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/73696-radius_-atribut-max_session_time-ne-opredelen./message297618">RADIUS: Атрибут Max-Session-Time не определен.</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Спасибо, Кристиан - твое объяснение по поводу скриптов было абсолютно понятным. Savage - спасибо за пример скрипта, очень ценно. Затем отправь ЭТО значение как Max-Session-Time. Ну, я бы отправил, но Max-Session-Time не обнаруживается в словарях... К тому же, я немного запутался в разнице между Max-Session-Time и Session-Timeout - согласно <noindex><a href="http://www.mikrotik.com/docs/ros/2.9/guide/aaa_radius:" target="_blank" rel="nofollow" >http://www.mikrotik.com/docs/ros/2.9/guide/aaa_radius:</a></noindex> Session-Timeout - перезаписывает session-timeout в конфигурации по умолчанию и согласно <noindex><a href="http://www.mikrotik.com/docs/ros/2.9/guide/aaa_hotspot" target="_blank" rel="nofollow" >http://www.mikrotik.com/docs/ros/2.9/guide/aaa_hotspot</a></noindex> session-timeout &gt; (время; по умолчанию: 0s) - время ожидания сессии (максимальное разрешенное время сессии) для клиента. По истечении этого времени пользователь будет автоматически выключен. Итак, похоже, Session-Timeout ведет себя так же, как и Max-Session-Time? Зачем иметь 2 атрибута RADIUS, которые делают одно и то же - я, должно быть, что-то упускаю. Кажется немного странным, что нет атрибута RADIUS, который соответствует опции ‘Limit Uptime’ для пользователей Hotspot - в конце концов, два других варианта на этой вкладке (‘Limit Bytes In’ и ‘Limit Bytes Out’) соответствуют атрибутам RADIUS (Recv-Limit и Xmit-Limit), и ‘Limit Uptime’ мне кажется довольно важной функциональностью для точки доступа. Я изучу скрипты, как и было предложено, но пока у меня ощущение, что я, вероятно, просто буду создавать пользователей на MT с установленным ‘Limit Uptime’ - мы небольшая WISP-компания, и это не убьет меня, если я буду делать это вручную вначале (и это обеспечит немного более быстрый запуск). Если у кого-либо из вас (или у кого-то еще!!) есть какие-либо дальнейшие мысли или идеи, я буду очень благодарен, если вы опубликуете их здесь. А пока еще раз спасибо за ваши ответы. <br />
			<i>24.07.2006 15:04:00, NealC.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/73696-radius_-atribut-max_session_time-ne-opredelen./message297618</link>
			<guid>http://mikrotik.moscow/forum/forum57/73696-radius_-atribut-max_session_time-ne-opredelen./message297618</guid>
			<pubDate>Mon, 24 Jul 2006 15:04:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>RADIUS: Атрибут Max-Session-Time не определен.</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/73696-radius_-atribut-max_session_time-ne-opredelen./message297617">RADIUS: Атрибут Max-Session-Time не определен.</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Классический случай использования модуля sqlcounter (experimental.conf – хотя это уже не экспериментальный модуль).<br /><br />sqlcounter noresetcounter {<br /> &nbsp; &nbsp;counter-name = Max-All-Session-Time<br /> &nbsp; &nbsp;check-name = Max-All-Session<br /> &nbsp; &nbsp;sqlmod-inst = sql<br /> &nbsp; &nbsp;key = User-Name<br /> &nbsp; &nbsp;reset = never<br /> &nbsp; &nbsp;query = "SELECT SUM(AcctSessionTime) FROM RadiusAccounting WHERE UserName=TRIM(LOWER('%{%k}'))"<br /> &nbsp;}<br /><br /> &nbsp;sqlcounter dailycounter {<br /> &nbsp; &nbsp;counter-name = Daily-Session-Time<br /> &nbsp; &nbsp;check-name = Max-Daily-Session<br /> &nbsp; &nbsp;sqlmod-inst = sql<br /> &nbsp; &nbsp;key = User-Name<br /> &nbsp; &nbsp;reset = daily<br /> &nbsp; &nbsp;query = "SELECT SUM(AcctSessionTime - GREATEST((%b - UNIX_TIMESTAMP(AcctStartTime)), 0)) FROM RadiusAccounting WHERE UserName=TRIM(LOWER('%{%k}')) AND UNIX_TIMESTAMP(AcctStartTime) + AcctSessionTime &gt; '%b'"<br /> &nbsp;}<br /><br /> &nbsp;sqlcounter monthlycounter {<br /> &nbsp; &nbsp;counter-name = Monthly-Session-Time<br /> &nbsp; &nbsp;check-name = Max-Monthly-Session<br /> &nbsp; &nbsp;sqlmod-inst = sql<br /> &nbsp; &nbsp;key = User-Name<br /> &nbsp; &nbsp;reset = monthly<br /> &nbsp; &nbsp;query = "SELECT SUM(AcctSessionTime - GREATEST((%b - UNIX_TIMESTAMP(AcctStartTime)), 0)) FROM RadiusAccounting WHERE UserName=TRIM(LOWER('%{%k}')) AND UNIX_TIMESTAMP(AcctStartTime) + AcctSessionTime &gt; '%b'"<br /> &nbsp;}<br /><br />Просто небольшой пример… Очевидно, выше просто определяется его работа, я оставлю за вами конфигурацию, настройку атрибутов и соответствующие разделы в файле конфигурации radius. <br />
			<i>24.07.2006 14:50:00, savage.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/73696-radius_-atribut-max_session_time-ne-opredelen./message297617</link>
			<guid>http://mikrotik.moscow/forum/forum57/73696-radius_-atribut-max_session_time-ne-opredelen./message297617</guid>
			<pubDate>Mon, 24 Jul 2006 14:50:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>RADIUS: Атрибут Max-Session-Time не определен.</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/73696-radius_-atribut-max_session_time-ne-opredelen./message297616">RADIUS: Атрибут Max-Session-Time не определен.</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Максимальное время сессии – это не то, что вам нужно, если использовать это значение отдельно. Этот атрибут сообщает RouterOS, как долго может длиться одна "сессия" входа, то есть, разрешает ли пользователю находиться онлайн не более, скажем, 1 (непрерывный) час. Но это не мешает ему зайти снова сразу же. То, что вам нужно, нужно делать через скрипты на вашем RADIUS-сервере. Вам нужна база данных, где для каждого пользователя настроено "общее оставшееся время онлайн". Затем отправьте ЭТО значение как Max-Session-Time на ваш Hotspot при входе. Таким образом, пользователь не сможет находиться онлайн дольше, чем у него есть кредит. При каждом выходе пользователя вам нужно, чтобы на вашем RADIUS-сервере скрипт вычитал время, которое пользователь фактически был онлайн (RADIUS: Acct-Session-Time), из его оставшегося кредита. Когда пользователь заходит снова, он получит Max-Session-Time, который отражает его предыдущее использование. Надеюсь, это было достаточно понятно – просто здесь слишком жарко, чтобы думать о чем-то слишком сложном… С уважением, Christian Meis <br />
			<i>24.07.2006 12:11:00, cmit.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/73696-radius_-atribut-max_session_time-ne-opredelen./message297616</link>
			<guid>http://mikrotik.moscow/forum/forum57/73696-radius_-atribut-max_session_time-ne-opredelen./message297616</guid>
			<pubDate>Mon, 24 Jul 2006 12:11:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>RADIUS: Атрибут Max-Session-Time не определен.</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/73696-radius_-atribut-max_session_time-ne-opredelen./message297615">RADIUS: Атрибут Max-Session-Time не определен.</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Привет всем! Мы настраиваем точку доступа. Хотим продавать пользователям ограниченное время использования, после чего им придется докупить время, чтобы снова подключиться. Мне кажется, что атрибут RADIUS, который мне нужен для передачи точке доступа, это Max-Session-Time. Однако, в руководстве написано: Max-Session-Time &gt; - максимальная продолжительность сессии (время работы), которую разрешено пользователю. Получается, я просто предполагаю, что это должно работать как-то вроде «войдите и используйте». К сожалению, атрибут Max-Session-Time не объявлен ни в одном из словарей RADIUS, которые я посмотрел (те, которые идут с FreeRADIUS, и те, на которые есть ссылки на <noindex><a href="http://www.mikrotik.com/docs/ros/2.9/guide/aaa_radius)" target="_blank" rel="nofollow" >http://www.mikrotik.com/docs/ros/2.9/guide/aaa_radius)</a></noindex>. Не мог бы кто-нибудь подсказать: нужен ли мне именно этот атрибут? Поддерживается ли он на RB532? Каков его номер атрибута и тип (целое число?) — чтобы я мог добавить его в мои словари. Я нашел похостую тему с Nov 2005 на <noindex><a href="http://forum.mikrotik.com/t/max-session-time/3858/1" target="_blank" rel="nofollow" >http://forum.mikrotik.com/t/max-session-time/3858/1</a></noindex>. Тогда человек смог использовать атрибут Session-Timeout — но он не подходит мне (потому что пользователь может просто снова войти в систему с тем же именем пользователя/паролем). Заранее спасибо.<br /><br />P.S. RB532 с ROS2.9.27 на Firmware 1.13 <br />
			<i>24.07.2006 11:55:00, NealC.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/73696-radius_-atribut-max_session_time-ne-opredelen./message297615</link>
			<guid>http://mikrotik.moscow/forum/forum57/73696-radius_-atribut-max_session_time-ne-opredelen./message297615</guid>
			<pubDate>Mon, 24 Jul 2006 11:55:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
	</channel>
</rss>
