Simult Chek: различия между версиями
Sirmax (обсуждение | вклад) |
Sirmax (обсуждение | вклад) |
||
Строка 10: | Строка 10: | ||
Следующяя схема илюстрирует эту ситуацию |
Следующяя схема илюстрирует эту ситуацию |
||
− | <TABLE border=1> |
||
− | <TR> |
||
− | <TD>1</TD><TD>2</TD><TD>3</TD><TD>4</TD><TD>5</TD> |
||
− | </TR> |
||
− | <TR> |
||
− | <TD>Тип опции=2</TD><TD>Длина=8</TD><TD>Тип Тип Remote ID=0</TD><TD>Длина=4</TD><TD>Agent ID</TD> |
||
− | <TR> |
||
− | <TD>1 байт</TD><TD>1 байт</TD><TD>1 байт</TD><TD>1 байт</TD><TD>6 байт</TD> |
||
− | </TR> |
||
− | </TABLE> |
||
<TABLE border=1> |
<TABLE border=1> |
||
<TR> |
<TR> |
||
− | <TD> |
+ | <TD>111</TD><TD>2222</TD> |
− | 111 |
||
− | </TD> |
||
− | <TD> |
||
− | 2222 |
||
− | </TD> |
||
− | |||
− | </TR> |
||
− | <TR> |
||
− | <TD> |
||
− | 111 |
||
− | </TD> |
||
− | </TR> |
||
− | <TR> |
||
− | <TD> |
||
− | 111 |
||
− | </TD> |
||
− | </TR> |
||
− | <TR> |
||
− | <TD> |
||
− | 111 |
||
− | </TD> |
||
− | </TR> |
||
− | <TR> |
||
− | <TD> |
||
− | 111 |
||
− | </TD> |
||
− | </TR> |
||
− | <TR> |
||
− | <TD> |
||
− | 111 |
||
− | </TD> |
||
− | </TR> |
||
− | <TR> |
||
− | <TD> |
||
− | 111 |
||
− | </TD> |
||
− | </TR> |
||
− | <TR> |
||
− | <TD> |
||
− | 111 |
||
− | </TD> |
||
− | </TR> |
||
− | <TR> |
||
− | <TD> |
||
− | 111 |
||
− | </TD> |
||
</TR> |
</TR> |
||
</TABLE> |
</TABLE> |
||
− | </PRE> |
Версия 09:33, 29 апреля 2009
Описание проблемы
В сети используется VPN (accel-pptp) с авторизацией на центральном radius-сервере (freeradius). При попытке авторизации 2 и более клиентов с одинаковыми UserName может возникнуть ситуация когда пытающиеся авторизоваться (или часть из них) пройдут авторизацию успешно.
Это связано с особенностью провеки одновременности подключений - запрос
simul_count_query = "SELECT COUNT(*) FROM ${acct_table1} WHERE UserName=\'%{SQL-User-Name}\' AND AcctStopTime = 0"
проверяет тольк наличие сессий в таблице acct_table1 (обычно radacct). Сессии в таблице acct_table1 создаются только при получении Acct-пакета от NAS-а (VPN-серверов в моем случае ). В результате, возможна ситуация когда из-за различных причин, как например, нагрузка NAS-a или потерь в сети, в результате возникает некоторый промежмежуток времени, в течении которого возможно авторизоваться повторно.
Следующяя схема илюстрирует эту ситуацию
111 | 2222 |