Ліміт сесій сумеснага акаўнта VPN: чаму адна прылада адвальваецца
Сумесны ўваход дасягае мяжы адначасовых сесій, і адна прылада адвальваецца. Прачытайце паведамленне кліента, палічыце сесіі на серверы, затым выпраўце мадэль ідэнтычнасці.
Вы дадаяце другі ноўтбук да акаўнта, які ўжо працуе на тэлефоне, і тунель тэлефона адвальваецца на працягу хвіліны. Або новая прылада ніколі не даканчае падключэнне, і кліент завяршаецца паведамленнем пра палітыку замест тайм-аўту. Сетка ў абодвух выпадках у парадку; рашэнне было прынята вышэй за яе. Сумесны ўваход — гэта адна ідэнтычнасць, і большасць службаў VPN лічаць менавіта яе, а не колькасць прылад, якімі вы валодаеце. Я іду ад экрана кліента вонкі, бо ён звычайна паказвае, які ўзровень вас адхіліў.
Прачытайце паведамленне кліента, перш чым чапаць сетку
Тры збоі выглядаюць падобна і не з'яўляюцца такімі. Тайм-аўт азначае, што вашыя пакеты нікуды не дайшлі. Памылка TLS або сертыфіката азначае, што канчатковы пункт адказаў, але рукапацісканне не ўдалося. Адмова аўтэнтыфікацыі або палітыкі азначае, што шлюз прачытаў вашыя даныя ўваходу і потым адхіліў іх. Толькі трэцяя належыць да гісторыі пра ліміт сесій, таму спачатку зафіксуйце яе.
Кліенты OpenVPN трымаюць цікавыя радкі на панэлі журнала. Пракруціце да апошняй спробы падключэння, а не да цыкла паўтораў пасля яе, і шукайце AUTH_FAILED або дасланы радок прычыны. Кліент часта паведамляе пра агульную адмову без тлумачэння, таму наступны крок — сервер, а не налады кліента. Праграмы пастаўшчыка горш: паведамленне пра ліміт прылад карыснае, але злучэнне, якое развальваецца праз дзве секунды, — гэта рашэнне палітыкі, а не дрэнны пароль. У любым выпадку запішыце назву прылады і дакладны час; аператар зможа супаставіць гэтую пару з запісам доступу за секунды.
Лічыце сесіі там, дзе іх лічыць сервер
Важны лічыльнік жыве на шлюзе. OpenVPN запісвае файл стану, калі сервер запускаецца з --status, пералічваючы кожнага падключанага кліента з яго агульнай назвай, рэальным адрасам і лічыльнікамі трафіку.
cat /var/log/openvpn-status.log
# or query the management socket directly
echo "status 2" | socat - UNIX-CONNECT:/run/openvpn/server.sock
Два радкі з аднолькавай агульнай назвай — гэта дзве жывыя сесіі пад адным сертыфікатам. Па змаўчанні OpenVPN не трымае абедзве: без --duplicate-cn другое злучэнне з тым жа сертыфікатам замяняе першае, і старэйшая прылада губляе свой тунель. Гэтая замена і ёсць подпіс ліміту ідэнтычнасці. Выпадковая страта пакетаў не адключае ветліва роўна адну прыладу ў той момант, калі з'яўляецца іншая.
У WireGuard няма табліцы сесій для прагляду. wg show wg0 друкуе суседзяў і іх апошні рукапацісканне, і кожная зарэгістраваная прылада — гэта сусед са сваім ключом. Сумесны акаўнт там — гэта файл канфігурацыі, скапіраваны на некалькі машын, і ліміт ідзе ад таго, што раздае гэтыя канфігурацыі: партал пастаўшчыка, колькасць месцаў або правіла, прывязанае да вашага публічнага адрасу. Дапаможнік OpenVPN 2.6 апісвае параметры сервернага боку, калі вы ўтрымліваеце ўласны шлюз.
Аддзяліце чатыры ліміты, якія хаваюцца за адным паведамленнем
Большасць заявак пра сумесны акаўнт — гэта адно з чатырох рашэнняў аб допуску. Кліент не можа іх адрозніць, але схема таго, якая прылада збаўляе, можа.
Тая ж ідэнтычнасць, другое злучэнне. Новая прылада працуе, а старая памірае ў той жа момант. Гэта правіла адначасовасці на адну ідэнтычнасць, якое выконвае шлюз або сістэма акаўнта. Нічога не зламана; служба робіць тое, што гаворыць яе палітыка.
Колькасць месцаў або прылад у плане. Першыя прылады застаюцца падключанымі, а наступнай адмаўляюць, пакуль іншыя працягваюць працаваць. Праверце спіс прылад пастаўшчыка, перш чым змяняць кліент, бо ліцэнзійны ліміт не выправіць з боку кліента.
Абмежаванне, прывязанае да вашага публічнага адрасу. Два ноўтбукі за адным хатнім маршрутызатарам збаўляюць, а той жа ўваход працуе з кропкі доступу тэлефона. Перанясіце другую прыладу ў іншую сетку, каб праверыць. Калі яна падключыцца там, вы бачыце правіла на адрас або NAT, а не колькасць акаўнта.
Максімум на ўвесь сервер. Усе на шлюзе збаўляюць у адну і тую ж пікавую гадзіну, уключаючы акаўнты, якія былі ў парадку ўчора. --max-clients у OpenVPN паводзіць сябе менавіта так, і гэта не мае нічога агульнага з вашымі зарэгістраванымі прыладамі.
Ачысціце састарэлыя сесіі, перш чым купляць больш месцаў
Сесія, якая дрэнна скончылася, можа ўсё яшчэ займаць месца. RADIUS-акаўнтынг запісвае запіс, калі сесія пачынаецца, і закрывае яго, калі сесія спыняецца; калі кліент знікае, спыненне ніколі не прыходзіць, і сервер трымае сесію, пакуль не скончыцца прамежкавае абнаўленне або тайм-аўт. На шлюзе FreeRADIUS вы бачыце адкрытыя запісы:
SELECT username, acctsessionid, acctstarttime
FROM radacct WHERE acctstoptime IS NULL;
Адкрыты запіс са старым часам пачатку і без трафіку належыць прыладзе, якая ўжо сышла. Закрыйце яго праз кансоль аператара або запытам на адключэнне, перш чым меркаваць, што ліміт быў сапраўдны. Тэлефоны перападключаюцца, калі Wi-Fi перадае кіраванне мабільнай сетцы, а ноўтбук можа трымаць адзін тунель у АС плюс яшчэ адзін унутры праграмы пастаўшчыка, што лічыцца двума сесіямі з адной машыны.
Перастаньце дзяліць адну ідэнтычнасць паміж прыладамі, якія працуюць разам
Трывалае рашэнне — структурнае. Дайце кожнай прыладзе ўласны сертыфікат з унікальнай агульнай назвай або ўласны акаўнт і запішыце, хто і якая машына ім валодае. У OpenVPN гэта азначае адзін кліенцкі сертыфікат на прыладу, пры гэтым --duplicate-cn пакідаюць выключаным, калі вы не хочаце паводзін перахопу; у WireGuard — адна пара ключоў на прыладу, створаная там і ніколі не скапіраваная.
Кланіраванне профілю, каб абысці ліміт прылад, ламае адкліканне: адкліканне адной копіі адсякае кожную прыладу, якая яе дзеліць, і журнал ужо не скажа, якая машына што рабіла. Калі ліміт камерцыйны, сумленнае рашэнне — дададзенае месца; калі гэта ўнутраная палітыка, папрасіце другую ідэнтычнасць з тымі ж правамі доступу.
Правярайце ў фіксаваным парадку
Тэстуйце выпраўленне аднолькава кожны раз, каб вынік нешта значыў.
- Выйдзіце з кожнай прылады і пацвердзіце, што актыўны спіс сервера пусты; запіс, які не ачышчаецца, — гэта састарэлая сесія, а не памылка кліента.
- Падключайце прылады па адной і назірайце за спісам паміж злучэннямі.
- Калі дзве павінны працаваць разам, пацвердзіце, што абодва радкі маюць розныя ідэнтычнасці і абодва трымаюць рукапацісканне свежым.
- Паўтарыце пасля пераходу з Wi-Fi на мабільную сетку, бо перападключэнне можа стварыць другі запіс.
Калі старая прылада ўсё яшчэ збаўляе, калі падключаецца новая, шлюз выконвае правіла на ідэнтычнасць, на якое вам не далі выключэння. Прынясіце аператару назвы прылад, часы і спіс актыўных сесій; гэта ператварае расплывістую скаргу ў пытанне палітыкі, на якое яны могуць адказаць.