Ах, настройка авторизации с помощью протоколов Radius и Tacacs+ — это как приготовить борщ: много ингредиентов, несколько часов на плите и в итоге либо праздник для души, либо слёзы на кухне. Но не переживайте, сегодня мы пройдём этот путь вместе, и даже анекдотик по дороге расскажу.
Итак, представьте себе нашу лабораторию сетевого алхимика: коммутаторы MES-3308F, MES-2308P и ESR-12VF — словно три мушкетёра в мире сетей. А в роли короля у нас Ubuntu-сервер — мудрый и надёжный. Для начала мы выделили из подсети три IP адреса в VLAN 4: 192.168.89.6 для ESR-12VF (наш сервер), 192.168.89.7 для MES-3308F и 192.168.89.8 для MES-2308P. Подумаешь, всего три адреса! Как говорится, «не важно сколько у тебя адресов — важно, чтобы они были как у шпиона: секретные и незаметные».
Настройка VLAN напоминает мне старую историю про программиста: он решил назвать VLAN «Management», но забыл закрыть кавычки и получил вместо этого сеть с именем «Managment» — теперь все думают, что это какая-то новая магия управления… или опечатка судьбы.
Далее мы включаем OSPF — протокол динамической маршрутизации, который работает как настоящий дипломат: договаривается с соседями о том, кто куда пойдет пакеты посылать. И да, не забудьте про loopback-интерфейс — это как запасной выход на случай пожара в вашем королевстве.
Подключаем интерфейсы GigabitEthernet к uplink’у и downlink’у — тут можно вспомнить классический анекдот: «Почему программисты любят гигабит? Потому что мегабит им кажется слишком медленным». В общем, ставим режим trunk и разрешаем VLAN 4 пролезать туда-сюда без проблем.
Настройка MES-3308F идёт по тому же сценарию – включаем VLAN 4, назначаем IP адресацию и активируем LLDP для общения с соседями (LLDP – это такой сетевой «сплетник», который рассказывает всем вокруг о том, кто ты есть). MES-2308P тоже не отстаёт – добавляем trunk-порты и задаём маршрутизатору OSPF ID.
После того как наши железки готовы принимать команды через Telnet и SSH (да-да, Telnet ещё живой!), переходим к установке Freeradius и PostgreSQL на наш Ubuntu-сервер. Установка этих пакетов напоминает рецепт бабушкиного пирога: сначала берём freeradius-utils для специй, потом postgresql с contrib – это как добавить изюм в тесто.
Включаем расширения SQL для freeradius – делаем символическую ссылку (symlink), потому что настоящие системные администраторы любят создавать ссылки там, где можно просто открыть файл напрямую… шутка! Потом раскомментируем нужные параметры в конфигурационных файлах – это примерно как вынимать косточки из винограда перед тем, как сделать сок.
Создаём базу данных radius через psql – тут главное не перепутать пароль radius_db с паролем от Wi-Fi соседа (хотя иногда хочется). Импортируем таблицы из схемы PostgreSQL — эти таблицы напоминают библиотеку рецептов на случай неожиданного приступа голода у сервера аутентификации.
В файле настроек sql меняем драйвер на rlm_sql_postgresql — звучит почти как заклинание Гарри Поттера! Вот только вместо волшебной палочки у нас команда sudo systemctl start freeradius – запускаем службу радиусного веселья!
Проверяем статус сервиса… если всё зелёное – можно праздновать! Если красное – значит пора пить кофе крепче или звонить коллеге с вопросом «А ты точно сделал symlink?»