Опять «презумпция виновности» и 11 злобных зрителей с нетерпением ждут возможности накидать замечаний за отсутствие аутентификации tacacs (и не только), а сапожник снова без сапог: нужен стенд – но развернуть его в офисной «стекляшке» негде. Партнер готов прийти на помощь – но доброта имеет четкие рамки: в соседние серверы не включаемся, но можно предоставить ноут с «чистой» Виндой.
В такой ситуации на ум приходят ровно 2 варианта: 20-летней давности Cisco Access Control Server (ACS) 4.2, либо … tacacs.net. Причем когда-то с обоими был не самый удачный первый опыт работы. На самом деле, самый первый опыт может оказаться неудачным с чем угодно – даже с tacacs+ на RedOS (там вместо текста – картинки, и не сразу поймешь – это цифра «один» или маленькая «эль») или vESR, но какая-то последующая попытка обычно становится успешной. В общем, «Не нравятся кошки? Вы просто не умеете их готовить».
После моего почти рефлекторного «интим tacas.net не предлагать», коллега высказал глубокую мысль: если нарисовать взаимосвязь разрозненных экранных форм и полей, параметров в файлах конфигураций и т.п., то успех оказывается намного более вероятным – так сказать, паззл сложится. Что подтвердилось тем же вечером.
Чтобы добавить «практической ценности» и наглядности, будем решать вот такую условную задачку: обеспечить на коммутаторах MES и маршрутизаторах ESR от Eltex авторизацию для оператора и администратора через tacacs. При этом оператор должен иметь возможность просматривать running-config, но не должен ничего изменять. Администратор же, в свою очередь, должен иметь полный доступ (level 15).
А дальше – строго по порядку:
-
Установка tacacs.net
-
Сложим паззл из параметров настройки tacacs.net и условий задачи
-
Настроим tacacs.net
-
Настроим сетевое оборудование
-
Дополнительно: смягчим лицензионные ограничения
Установка tacacs.net
Установка включает 2 шага: скачивание инсталлятора tacacs.net и его собственно установка.
На официальном сайте tacacs.net в свободном доступе есть версия 2.1.2 со следующими ограничениями в отсутствие файла лицензии: 5 устройств и 3 пользователя.
Поскольку эта версия относится к 2016 году, она имеет вполне гуманные по сегодняшним меркам системные требования:
-
Windows Vista or Windows Server 2008 or later
-
1 GHz CPU
-
256 MB RAM
-
500 MB HDD free
Установка заключается в запуске скачанного инсталлятора. В принципе, можно принять все параметры по умолчанию (включая установку всех утилит). При установке будет предложено ввести секретный ключ (по которому устройство и сервер tacacs верифицируют друг друга). По факту, его можно не вводить, а также скорректировать позже в файлах настройки. Я бы рекомендовал ввести что-то заведомо простое – например, 12345678. Позже, бросаясь в глаза, такая последовательность сразу укажет на поле в файле конфигурации. Естественно, что это значение можно потом изменить.
В процессе установки, файлы программ и конфигураций устанавливаются в разные каталоги. Причем файлы конфигураций жестко устанавливаются в скрытый каталог C:\ProgramData, там же приложение хранит журнальные файлы. Структура каталогов и начальный перечень файлов показаны ниже:
C:\ProgramData├───TACACS.net│ ├───config│ │ authentication.xml│ │ authorization.xml│ │ clients.xml│ │ googleotp.xml│ │ logging.xml│ │ tacplus.xml│ ││ └───Logs│ Accounting_2026-03-24_1.CSV│ Debug_2026-03-24_1.log│ System_2026-03-24_1.CSV
По завершению установки, появляется новый сервис Windows, обычно в состоянии «Выполняется». Это хорошая новость. Другая новость: до настройки ничего полезного он не делает. Впрочем, до этого тоже дойдем.
Детализируем условия и складываем паззл
Как правило, любую задачу можно решать несколькими способами. И в математике это используется для проверки правильности полученного результата.
В нашем случае проверить можно непосредственно в командной строке, поэтому в рамках статьи ограничимся следующим:
-
Определим идентификаторы пользователей – пусть это будут user9 и admin соответственно для оператора и администратора
-
Определяем базовый уровень привилегий, доступный пользователю (level 9 и15 соответственно для user9 и admin)
-
Тюнинг доступности команд на разных уровнях: на маршрутизаторах и коммутаторах нужно активировать «show running-config» для уровня 9, а для коммутаторов дополнительно перенести «configure» на уровень 10 или выше (сделав недоступной для user9)
Через Tacacs будет выполняться идентификация пользователей и задаваться уровни привилегий
Сборка же паззла заключается в визуализации нахождения и взаимосвязи параметров, разбросанных по разным файлам сервиса Tacacs.net (в отличии от того же tacacs+ для Linux, где все в одном файле), как показано на рисунке ниже.

Видно, что (представьте Боромира) «Нельзя просто взять и настроить в tacacs.net уровень привилегий для пользователя». Впрочем, рассмотрим все по порядку.
Для снижения объема информации в рисунке, неиспользуемые строки не показаны – но приведена полная XML-иерархия (для ориентирования в XML-файлах, поскольку строк там немало).
А для наглядности, изменяемые параметры выделены цветом: черным с подчеркиванием – локальные параметры (не используются для ссылок в других файлах), а синий и красный – два параметра, которые согласованно используются в двух файлах.
И так, в файле tacplus.xml в простейшем случае задается адрес, на котором tacacs.net будет принимать запросы. На рисунке приведено исходное значение, которое необходимо скорректировать.
В файле clients.xml описываются параметры tacacs-клиентов (сетевых устройств), включая:
-
Диапазон(ы) допустимых адресов
-
Секретный ключ для взаимодействия с tacacs сервером («те самые» 12345678, упомянутые выше)
Эти параметры объединяются в клиентскую группу, которой присваивается идентификатор (в нашем случае — INTERNAL).
В файле authentication.xml описываются параметры идентификации и аутентификации. При этом пользователи с одинаковыми методом аутентификации, привилегиями и настройками (priv-lvl, default-acl, autocmd и т.п.) объединяются в пользовательские группы (на рисунке — OPERATOR). Иначе пользователей нужно разносить по разным группам. Для каждой группы задается тип аутентификации (для простоты выбираем file), для пользователя – его логин и пароль.
В файле authorization.xml происходит магия: по совпадению комбинации клиентской и пользовательской групп применяются настройки, указанные в AutoExec. В нашем случае – задается необходимый уровень привилегий.
Настраиваем tacacs.net
Настройка выполняется путем редактирования файлов конфигурации в редакторе Notepad. Перед началом редактирования следует очистить флажок атрибута «только чтение». Для редактирования:
-
редактор необходимо запускать от имени администратора (иначе не получится сохранить изменения – ибо на диске С)
-
файл конфигурации открывать уже в запущенном редакторе
Начать можно с файла tacplus.xml, где нужно поправить ровно 1 поле. Задается адрес, который:
-
Доступен для сетевых устройств (клиентов tacacs)
-
Локальный (настроен на сетевом интерфейсе) для виртуалки или компьютера
Пусть в нашем случае это будет адрес 172.16.1.111.
В файле clients.xml можно ничего не менять и использовать группу INTERNAL или даже DEFAULT.
В файле authentication.xml настраиваются 2 группы с методом идентификации file:
-
OPERATOR – пользователь user9 с каким-либо паролем
-
ADMINISTRATOR – пользователь admin с каким-либо надежным паролем, причем с помощью утилиты tacdes его можно зашифровать и не хранить в файле в открытом виде. И тогда строчка с паролем может выглядеть следующим образом:
<LoginPassword ClearText="" DES="GwJQb6xe9+C8Ysosigs5OQ=="> </LoginPassword>
При правке файла authentication.xml за основу удобно взять группу «Network Engineering», которая в начале файла и уже использует метод аутентификации file. Однако, исходно в этой группе все пользователи «закомментарены» – обращаем внимание на комбинации <!— и —>.
В файле authorization.xml нужно настроить 2 группы Authorization: для пользовательских групп OPERATOR и ADMINISTRATOR (можно ссылаться на одну и ту же клиентскую группу INTERNAL или DEFAULT), указав правильный уровень привилегий (15 для ADMINISTRATOR, 9 для OPERATOR).
После сохранения конфигураций, в окне командной строки следует запустить утилиту tacverify.
Ожидаемый результат:
All files have the correct syntax. Validating configuration...No errors were found in the configuration.
В случае обнаружения ошибки будет указан файл и строка, плюс минимальные пояснения.
После исправления ошибок (если будут) нужно рестартовать сервис TACACS.NET. И в качестве финальной проверки, можно сымитировать подключение устройства с помощью команды tactest (убрал под кат):
Имитация подключения устройства
C:\Users\User>tactest -s 172.16.1.111 -k 12345678 -u user9 -author -p user9
Trying to open connection to 172.16.1.111:49
Sending:
MajorVersion=12
MinorVersion=0
Type=Authorization
SeqNum=1
IsEncrypted=True
IsSingleConnect=True
SessionID=2038531187
DataLength=41
Authorization Method=Debug
Priv lvl=1
Auth Type=Ascii
Service=None
User=user9
Port=
Rem Addr=127.0.0.1
Args: service=shell cmd= priv-lvl=9
Received Header:
MajorVersion=12
MinorVersion=0
Type=Authorization
SeqNum=2
IsEncrypted=True
IsSingleConnect=False
SessionID=2038531187
DataLength=17
Received Body:
Authorization Status=PassAdd
User=
Port=
Args: priv-lvl=9
Command Pass status = True, Message=,
——————
SUMMARY STATISTICS
——————
Total Commands ………………… 1
Successes …………………….. 1
Failures ……………………… 0
No Results ……………………. 0
Time Taken for commands ………… 0,039 secs
Avg Possible Transactions/Second … 25
Network Time per command ……….. 0,013 secs
Total Network time …………….. 0,013 secs
Sent Transactions/Second ……….. 15,9
C:\Users\User>
Обращаем внимание, что:
-
Аутентификация прошла успешно,
-
Пользователю сопоставлен корректный уровень привилегий
Примечание: иногда после дальнейших изменений и попытки рестарта, сервис TACACS.NET рестартовать отказывается и выдает следующую картинку:

Обычно это значит, что:
-
Либо IP-адрес в файле tacplus.xml не является локальным для TACACS.NET
-
Либо какая-то ошибка в настройках (например, забыли убрать комментарии вокруг секции с пользователями в файле authentication.xml)
Настраиваем сетевое оборудование Eltex
Настройка сетевого оборудования сводится к следующим командам:
-
Настройкам tacacs
-
Тюнингу доступа к отдельным командам на 9 уровне
Настройки маршрутизаторов ESR:
privilege root level 9 "show running-config"#aaa authentication mode breakaaa authentication login default tacacs local#tacacs-server host 172.16.1.111 key ascii-text 12345678 source-interface [укажите свой, если нужно]
Настройки коммутаторов MES:
privilege exec 9 show running-configprivilege exec 10 configure!tacacs-server host 172.16.1.111 key 12345678tacacs-server host source-interface [укажите свой, если нужно]!aaa authentication mode breakaaa authentication login authorization default tacacs local
После этого можно зайти на сетевые устройства и убедиться, что:
-
Пользователь заходит под доступной учеткой и получает требуемый уровень привилегий (15 для admin, 9 для user9)
-
Для user9 недоступна команда configure, но доступна show running-config
Смягчаем лицензионные ограничения
На самом деле, здесь не будут даваться ссылки на кейгены или кряки. Но, столкнувшись с этими ограничениями (после авторизации появляется Access Denied), придумал свой способ.
И так, ограничения в 5 устройств и 3 пользователя. На первый взгляд, пользователей всего 2 (admin и user9), значит причина в количестве устройств. И после перезапуска сервиса авторизация восстанавливается (типа, приложение не злопамятное).
Таким образом, напрашивается регулярная перезагрузка – и при разумных сценариях работы с 2-4 устройствами одновременно неудобств возникать не должно. А это вполне можно сделать через «Планировщик задач».
Выполняем следующие действия:
-
Создаем файл tacacs.bat следующего содержания:
net stop TACACS.netnet start TACACS.net
-
В «Планировщике задач» создаем новую задачу, которую назовем tacacs и последовательно заполним формы на вкладках.




Здесь ключевыми моментами являются:
-
Выполнение с высшим приоритетом
-
Достаточно частое повторение (в нашем случае – каждые 5 минут)
-
В качестве действия – запуск ранее созданного файла tacacs.bat
В качестве проверки рекомендуется выполнить следующие 3 действия:
-
Остановить сервис TACACS.net
-
Убедиться, что в журнале с требуемой периодичностью появляются сведения о старте и успешном завершении задания (может понадобиться обновить содержимое)

-
Убедиться, что сервис TACACS.net перешел в состояние «выполняется» (хотя иногда состояние «выполняется» не отображается, слева появляются варианты действия «остановить» и «перезапустить» — что также указывает на требуемое состояние сервиса).
Заключение
В этой статье я показал как настроить экзотичный «tacas на Windows», а также показал способ смягчения лицензионных ограничений, заложенных разработчиком в версии 2.1.2.
Справедливости ради, когда одновременных операторов много и подключаются они ко всем железкам, ограничения таки срабатывают (чудес не бывает). Так что, продемонстрировав «отлуп» как свидетельство работоспособности, TACACS.net был отключен (и здесь главное – не забыть отключить задачу из «Планировщика», которая будет его каждые 5 минут запускать).
Так что без лицензии для продуктива TACACS.net 2.1.2 вряд ли подойдет – но при работе на стенде может оказаться даже очень годным инструментом.
ссылка на оригинал статьи https://habr.com/ru/articles/1024726/