По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие
наши статьи:
Цель данной статьи, чтобы разобраться с тем как поправить незначительные ошибки, возникающие в файловых системах. Файловых систем много, поэтому много различных инструментов для работы с ними. Поэтому будет рассказано об основных инструментах к основным стандартным системам Linux. И рассмотрим несколько инструментов к рекомендованным LPIC файловым системам. Рассмотрим, так же журналируемые файловые системы и посмотрим индексные дескрипторы.
Проверка целостности файловой системы;
Проверка свободного пространства и индексных дескрипторов в файловой системе;
Исправление проблем файловой системы.
Список утилит:
df, du, fsck, debugfs – общие утилиты для всех Linux систем
mke2fs, e2fsck, dumpe2fs, tune2fs – утилиты для файловой системы ext
xfs_check, xfs_repair, xfs_info, xfs_metadump – утилиты для файловой системы xfs
Совершенно понятно, что для других файловых систем есть свои утилиты для работы с данными файловыми сиcтемами.
Первая утилита df:
man df
Данная утилита показывает использование дискового пространства. У данной утилиты достаточно много ключей. Её особенностью является то, что она показывает дисковое пространство в 1 кбайт блоках.
Данные цифры не очень понятны и удобны, для того чтобы было удобно можно использовать ключ –h и тогда вид станет удобно читаемым. В выводе команды мы сразу видим размер, сколько использовано, процент использование и точка монтирования. Как мы видим на новом перемонтированном разделе /dev/sdc1 занят 1% дискового пространства. Если посмотреть в папку монтирования раздела, то мы увидим там папку lost+found. Данная папка пуста, но занимает 37 МБ. Есть такое понятие индексные дескрипторы в журналируемых файловых системах inode. Inode – это метка идентификатора файла или по другому индексный дескриптор. В этих индексных дескрипторах хранится информация о владельце, типе файла, уровне доступа к нему. И нужно понимать, что для каждого файла создается свой отдельный inode. Команда df –I может показать нам inode.
Число, например, inode напротив /dev/sda2 показывает сколько inode всего может быть на устройстве, далее сколько используется и сколько свободно. Обычно под inode отдается примерно 1% жесткого диска. И получается, что больше чем число inode на устройстве файлов и папок быть не может. Количество inode зависит от типа файловой системы. Далее мы рассмотрим, как пользоваться inode.
Следующая команда du
man du
Данная команда показывает, что и сколько занимает у нас места на жестком диске, а именно размер папок в текущей директории. Если посмотреть вывод данной команды без ключей, то мы увидим список папок в текущей директории и количество блоков, с которым очень неудобно работать. Чтобы перевести данные блоки в человеческий вид, то необходимо дать ключ –h.
А для еще большего удобства, можно установить замечательную утилиту ncdu простой командой.
sudo apt install ncdu –y
После установки нужно запустить ncdu. И мы увидим очень красивую картинку.
Но вернемся к стандартной утилите du. С помощью данной утилиты мы можем указать в какой папке необходим просмотр папок и вывод их размера.
du –h /home
К сожалению данная утилита умеет взвешивать вес только каталогов и не показывает размер файлов. Для того, чтобы посмотреть размер файлов, мы конечно же можем воспользоваться командой ls –l. А также если мы запустим данную команду с ключем –i мы увидим номера inode файлов.
Как вы видите у каждой папки и у каждого файла есть свой индексный дескриптор.
Далее команды, которые нам позволят проверить целостность файловой системы.
Команда fsck
man fsck
Как написано в описании утилиты она позволяет проверять и чинить Linux файловую систему.
Мы можем видеть, например, в oперационной системе Windows, что в случае некорректного завершения работы операционной системы, операционная система запускает утилиту проверки целостности checkdisk. В случае необходимости данная утилита исправляет найденные ошибки в файловой системе. Следовательно, в Linux данные операции выполняет утилита fsck, причем может работать с различными файловыми системами Linux операционных систем. Мы можем попробовать воспользоваться утилитой fsck /dev/sdc1. В ответ от операционной системы мы получим следующее:
Как мы видим операционная система вернула в ответ на команду для работы с данным разделом, что данный раздел с монтирован и операция прервана. Аналогичную ситуацию мы будем наблюдать в операционной системе Windows, если мы будем пытаться рабочий раздел проверить на ошибки. Т.е возникнет следующая ситуация. Если мы будем проверять дополнительный логический диск, где не установлена операционная система Windows, то данный раздел на время проведения тестов будет отключен и будут идти проверки. А если мы попытаемся проверить основной раздел, куда установлена операционная система Windows, то операционная система не сможет запустить данную утилиту и попросит перезагрузиться для запуска данной утилиты. В нашем случае придется делать точно так же. Поэтому, чтобы проверить необходимо отключить (от монтировать раздел) и после уже этого запускать утилиту.
Из вывода можно заметить утилита пыталась запустить другую утилиту e2fsck, которая в данном случае отвечает за проверку файловых систем extext2ext3ext4. О чем достаточно подробно написано в описании данной утилиты. По сути fsck запускает утилиту ту, которая идет в пакете утилит для конкретной файловой системы. Бывает такое, что fsck не может определить тип файловой системы.
Для того, чтобы утилита все-таки проверила файловую систему, необходимо отмонтировать логический раздел. Воспользуемся командой umount /mnt.
И запускаем непосредственно саму проверку fsck –t ext4 /dev/sdc1
Проходит проверка моментально. Команда fsck запустилась и запустила необходимую утилиту для файловой системы. По результатам проверки файловая система чистая, найдено 11 файлов и 66753 блока. При обнаружении проблем, утилита предложила нам исправить.
Для того, чтобы посмотреть на проверку другой файловой системы, необходимо переформатировать раздел.
mkfs –t xfs –f /dev/sdc1
При попытке запуска проверки без указания типа файловой системы fsck /dev/sdc1
Как мы видим, утилита fsck отказалась проверять или вызывать утилиту, а явно указала на ту которую необходимо использовать в данном случае. Для проверки используем xfs_ncheck /dev/sdc1. А для починки файловой системы xfs_repair /dev/sdc1.
Перемонтируем обратно наш раздел mount /dev/sdc1 /mnt
Теперь можно получить информацию по разделу xfs_info /dev/sdc1
Или сделать дамп файловой системы xfs_metadump /dev/sdc1 dump.db
Переформатируем файловую систему ext4 на разделе обратно /dev/sdc1. Перемонтируем в папку mnt. Создадим текстовый файл с текстом на данном разделе nano /mnt/test.txt
Далее мы можем посмотреть следующую утилиту man debugfs. Данная утилита умеет очень многое: очень много ключей и различных опций. Чистит, удаляет, чинит, работает с inodes.
Зайти в данную утилиту можно debugfs –w /dev/sdc1. Набираем help и видим кучу опций.
Можно попросить данную утилиту вывести содержимое нашего тома.
ls
В результате данной команды мы увидим 2 объекта с номерами их inode. Теперь мы можем сказать rm test.txt и файл будет удален, точнее не сам файл а его индексный дескриптор., если посмотреть опять с помощью команды ls. То будет видно, что количество объектов не изменилось. Следовательно, мы этот файл в журналируемых файловых системах можем восстановить, восстановив его индексный дескриптор. Но только до тех пор, пока на место удаленного файла не был записан другой. Именно поэтому если требуется восстановление информации на диске, рекомендуется немедленно отключить ПК и после этого отдельно подключать носитель информации для процедуры восстановления. Так же на данном принципе основано сокрытие информации в Информационной безопасности, когда на носитель информации в 2 или 3 прохода записываются псевдослучайные данные. Для восстановления данных мы можем использовать команду lsdel. Данная команда показывает удаленные файлы.
В принципе на данном debugfs и основаны многие программы для восстановления данных.
На скриншоте хорошо видно, что был удален 1 inode с номером 12 дата и время, другие параметры. Для выхода используем q. Для восcтановления используем undel test.txt, команда, номер индексного дескриптора и имя файла с которым оно восстановится. Убедиться, что файл на месте можно с помощью команды ls.
Утилита debagfs помогает восстанавливать файлы и вообще работать с файловой системой на низком уровне. Конечно восстанавливать по 1 файлу, это очень трудозатратно. Поэтому вот эти низкоуровневые утилиты используют более современные программы.
Еще одна утилита dumpe2fs. Можно вызвать справку по данной утилите man dumpe2fs
Данная команда делает дамп информации, которая хранится на данных томах. Выполним данную команду для /dev/sdc1
Мы получим следующий вывод информации.
Данный вывод был сделан на стандартный вывод – т.е экран. Сделаем вывод в файл, например:
dumpe2fs /dev/sdc1 > /tmp/output.txt
Мы можем просмотреть информацию в выведенную в файл поэкранно с помощью less /tmp/output.txt
В выводе мы сможем увидеть основные опции данной файловой системы.
Переделаем файловую систему, текущую ext4 в ext2. Это можно сделать 3-мя способами с помощью утилит: mkfs, mke2fs, mkfs.ext2. Перед переформатирование необходимо отмонтировать файловую систему. После форматирования и перемонтируем. Опять снимаем дамп и передаем по конвееру на команду grep чтобы посмотреть features. Получаем следующее:
dumpe2fs /dev/sdc1 | grep features
И видим, что файловые системы отличаются, более новая файловая система имеет фишку журналирования has_jounal. Данная опция так же присутствует в ext3. Т.е в данных файловых системах имеются журналы с помощью которых удобно восстанавливать.
Есть интересная утилита tune2fs – настраивать файловую систему.
man tune2fs
Данная утилита, как следует из описания настраивает настраиваемые параметры файловых систем. Например, у нас есть не журналируемая файловая система ext2. Мы даем команду tune2fs –O has_journal /dev/sdc1. Данная утилита добавляет опцию ведения журнала к файловой системе ext2. Или можем наоборот сказать удалить опцию поставив значок ^.
OpenSIPS - это SIP-прокси-сервер с открытым исходным кодом операторского уровня, используемый для сигнализации SIP, и может обрабатывать все типы операций SIP. Он используется многими провайдерами телекоммуникационных услуг, телефонии и операторами связи из-за его надежности и производительности.
Итак, если вы, ребята, хотите обрабатывать тысячи одновременных вызовов и SIP-сессий, тогда OpenSIPS - ваш выход. Существует множество различных сценариев, в которых openSIPS может хорошо играть в вашей инфраструктуре. Некоторые из них:
OpenSIPS как SIP Edge Proxy
OpenSIPS в качестве среднего регистратора или главного сервера регистрации
OpenSIPS как входящий и исходящий шлюз
OpenSIPS как балансировщик нагрузки
И многое другое
Примечание: OpenSIPS обрабатывает только SIP-сигнализацию, а не медиа. Для обработки мультимедиа вы можете использовать RTPPROXY или RTPENGINE.
Как установить OpenSIPS 3 из исходного кода на Debian 9
Являясь модульным, мощным и гибким SIP-сервером, OpenSIPS можно установить на все основные дистрибутивы Linux. В этом уроке мы будем использовать Debian 9 в качестве базовой операционной системы. Итак, вот шаги, которым мы должны следовать, чтобы запустить наш первый экземпляр OpenSIPS и запустить его:
Установите все необходимые зависимости
Склонируйте последнюю версию репозитория OpenSIPS
Скомпилируйте это
Создайте файлы конфигурации
Настройте сервис OpenSIPS
Настройте OpenSIPS-CLI
Создайте базу данных OpenSIPS
Запустите сервер OpenSIPS 3
Поэтому, прежде чем мы начнем устанавливать зависимости, нам нужно сначала понять, как мы будем настраивать наш экземпляр OpenSIPS. Что ж, базовому серверу OpenSIPS не нужно много библиотек или зависимостей, но мы будем использовать панель управления OpenSIPS позже вместе с поддержкой MySQL, поэтому мы установим некоторые другие зависимости, чтобы мы могли легко скомпилировать некоторые дополнительные модули OpenSIPS.
Шаг 1: Установка всех зависимостей
Давайте обновим все списки пакетов, которые у нас есть.
apt update
Теперь давайте установим все зависимости вместе с сервером MySQL (MariaDB).
apt install git gcc bison flex make openssl perl libdbi-perl libdbd-mysql-perl libdbd-pg-perl libfrontier-rpc-perl libterm-readline-gnu-perl libberkeleydb-perl mysql-server ssh libxml2 libxml2-dev libxmlrpc-core-c3-dev libpcre3 libpcre3-dev subversion libncurses5-dev git ngrep libssl-dev net-tools
После того, как мы установили все эти пакеты, нам нужно установить пакеты devel для сервера MySQL.
Для MariaDB:
apt install libmariadbclient-dev-compat sudo
Для сервера MySQL:
apt install libmysqlclient-dev
Теперь нам нужно установить зависимости для сервера micro httpd, который OpenSIPS будет использовать для прослушивания соединений JSON RPC.
apt install libmicrohttpd-dev pkg-config libjsoncpp-dev libjson-c-dev
ln -s /usr/include/jsoncpp/json/ /usr/include/json
wget http://ftp.us.debian.org/debian/pool/main/j/json-c/libjson-c3_0.12.1-1.1_amd64.deb
dpkg -i libjson*
Все зависимости должны быть установлены сейчас, и теперь мы готовы клонировать исходный код openSIPS 3.
Примечание: не забудьте установить имя пользователя и пароль root для msyql, используя - mysql_secure_installation
Шаг 2: Клонирование репозитория OpenSIPS
Мы будем клонировать последнюю версию репозитория OpenSIPS 3 в /usr/src
cd /usr/src ; git clone https://github.com/OpenSIPS/opensips.git -b 3.0 opensips-3.0
Шаг 3: Скомпилируйте исходный код
Чтобы сначала скомпилировать модули OpenSIPS или исходный код, перейдите в каталог opensips-3.0.
cd /usr/src/opensips-3.0
Теперь наберите
make menuconfig
Откроется главное меню конфигурации OpenSIPS. Из этого меню мы можем скомпилировать OpenSIPS и сгенерировать наши конфигурационные скрипты. Поэтому, прежде чем мы скомпилируем, нам нужно включить дополнительный модуль, который нам нужен для поддержки MySQL и JSON.
Теперь давайте выберем несколько дополнительных модулей, которые нам нужны. Итак, перейдите к Configure Compile Options -> Configure Excluded Module (Настройка параметров компиляции -> Настройка исключенного модуля).
Мы должны выбрать 4 модуля - db_mysql, dialplan, json, httpd
Примечание: если вы хотите выбрать или скомпилировать какой-либо другой модуль, обязательно установите его зависимости.
Теперь вернитесь, используя клавишу со стрелкой влево и сохраните изменения. И как только мы выберем наши модули для компиляции, тогда просто выберите Compile and Install OpenSIPS
Компиляция началась, и если вы правильно установили все зависимости, то ошибок быть не должно.
После успешной компиляции вам будет предложено нажать любую клавишу, чтобы вернуться в главное меню.
Шаг 4: Генерация скрипта конфигурации OpenSIPS.
Скрипт конфигурации OpenSIPS - это мозг сервера OpenSIPS, он контролирует всю маршрутизацию, обработку SIP-трафика, регистрации и почти все операции SIP. Поэтому для нас очень важно создать его из меню конфигурации. После компиляции всех модулей, перейдите к Generate OpenSIPS Script.
Мы можем сгенерировать 3 типа скриптов из меню конфигурации:
Residential Script - обеспечивает регистрацию пользователя.
Trunking Script - Подходит для предоставления услуги транкинга. Он не поддерживает регистрацию.
Load-Balancer Script - используется для балансировки нагрузки входящих и исходящих вызовов.
Примечание. Эти конфигурационные файлы будут иметь базовую конфигурацию. Вам всегда нужно редактировать эти файлы, чтобы они работали в соответствии с вашим сценарием.
Для этой установки мы будем использовать Trunking Script.
Теперь перейдите к настройке скрипта Configure Script
Выберите функции, которые вы хотите добавить в свой скрипт.
После выбора всех необходимых параметров сохраните сценарий и выберите Generate Trunking Script.
Это все. Теперь вернитесь и сохраните все изменения - Exit & Save All Changes.
Шаг 5: Настройка сервиса OpenSIPS
Очень важно понять файловую структуру OpenSIPS и важные каталоги, прежде чем начать работу над ней. Вот некоторые основные каталоги, над которыми мы будем работать во всей этой установке.
/usr/local/etc/opensips/ - Каталог файлов конфигурации OpenSIPS по умолчанию
/usr/local/lib64/opensips/modules/ - Каталог модулей OpenSIPS
/etc/init.d/ - Каталог файлов сервиса OpenSIPS
/etc/default/opensips - Файл конфигурации службы OpenSIPS
Мы можем найти файл opensips.init и opensips.default в каталоге /usr/src/opensips-3.0/packaging/debian/. Поэтому нам нужно скопировать эти файлы в каталог /etc/init.d/ и /etc/default/.
cp /usr/src/opensips-3.0/packaging/debian/opensips.init /etc/init.d/opensips
cp /usr/src/opensips-3.0/packaging/debian/opensips.default /etc/default/opensips
chmod 755 /etc/init.d/opensips
update-rc.d opensips defaults 99
mkdir -p /var/run/opensips
Теперь у нас все настроено и готово запустить наш первый сервис OpenSIPS, но прежде чем мы это сделаем, нам нужно скопировать наш файл конфигурации в каталог /usr/local/etc/opensips/, который мы создали из меню конфигурации OpenSIPS. Этот файл конфигурации находится в /usr/src/opensips-3.0/etc/
ls /usr/src/opensips-3.0/etc/
Теперь мы скопируем этот конфигурационный файл транкинга в /usr/local/etc/opensips/
mv /usr/src/opensips-3.0/etc/opensips_trunking* /usr/local/etc/opensips/opensips_trunk.cfg
Теперь вы можете видеть, что у нас есть opensips_trunk.cfg в каталоге /usr/local/etc/opensips, и мы будем использовать этот же файл для нашего сервера OpenSIPS, поэтому мы должны указать путь к нему в файле инициализации opensips.
Примечание: мы также должны убедиться, что у нас есть правильный двоичный путь OpenSIPS в файле инициализации opensips.
nano /etc/init.d/opensips
Мы должны добавить путь к скрипту и демону в переменную DAEMON и CFGFILE.
Шаг 6: Настройка OpenSIPS-CLI
Начиная с OpenSIPS 3, мы будем использовать инструмент OpenSIPS-CLI для управления экземплярами OpenSIPS. Ранее мы использовали для работы со скриптом opensipsctl, но он был удален из OpenSIPS версии 3. Мы будем использовать это приложение для выполнения всех видов различных операций, таких как отправка команд MI, создание базы данных и многое другое.
Давайте клонируем репозиторий opensips-cli в /usr/src/
cd /usr/src && git clone https://github.com/OpenSIPS/opensips-cli.git
Теперь давайте установим все зависимости, которые нам нужны для этого удобного небольшого приложения.
sudo apt install python3 python3-pip python3-dev gcc default-libmysqlclient-dev
sudo pip3 install mysqlclient sqlalchemy sqlalchemy-utils pyOpenSSL
Как только мы установим все зависимости, пришло время установить OpenSIPS-CLI.
cd /usr/src/opensips-cli
sudo python3 setup.py install clean
После успешной установки мы сможем выполнить команду opensips-cli.
Примечание. Когда opensips-cli запускается, она всегда ищет файл opensips-cli.cfg в каталоге /etc/. Если файл отсутствует, она запустится с настройками по умолчанию.
Теперь мы создадим файл opensips-cli.cfg в каталоге /etc/.
nano /etc/opensips-cli.cfg
[opensips-1]
log_level: WARNING
prompt_name: opensips-cli
prompt_intro: Welcome to OpenSIPS at SECUREVOIP
prompt_emptyline_repeat_cmd: False
history_file: ~/.opensips-cli.history
history_file_size: 1000
output_type: pretty-print
communication_type: fifo
fifo_file: /tmp/opensips_fifo
database_path: /usr/src/opensips-3.0/scripts/
database_url: mysql://root:password@localhost
database_name: opensips
Мы должны добавить вышеуказанный блок в файл opensips-cli.cfg. Вы можете настроить все параметры в файле конфигурации. Синтаксис и значение каждой переменной следующие:
[opensips-1] - Имя экземпляра
log_level - Уровень сообщений лога
prompt_name - Имя оболочки
prompt_intro - Приветственное сообщение оболочки
history_file - Где хранить историю opensips-cli
output_type - Параметры вывода, вы также можете использовать json
communication_type - Тип связи - fifo, json
database_path - Путь к сценариям базы данных
database_url - URL вашей базы данных MySQL
database_name - База данных, которая будет использоваться
Теперь давайте запустим opensips-cli с нашим новым файлом конфигурации.
opensips-cli -i [instance_name] -f [config file]
Шаг 7: Создание базы данных OpenSIPS
Наконец, пришло время создать базу данных OpenSIPS. Мы будем использовать бэкэнд MySQL, и если вы захотите использовать другой бэкэнд, такой как PostgreSQL, вам, возможно, придется установить некоторые зависимости.
Сначала откройте файл opensips-cli и выполните следующие действия:
Запустите OpenSIPS-CLI
Выполните - database create
Введите URL базы данных MySQL
Теперь давайте проверим базу данных и таблицы opensips, войдя в MySQL.
Примечание. Рекомендуется создать отдельного пользователя mysql для доступа к базе данных opensips.
Шаг 8: Запуск сервера OpenSIPS 3
Теперь пришло время наконец запустить наш сервер OpenSIPS, но прежде чем мы это сделаем, нам нужно настроить некоторые параметры в файле opensips_trunk.cfg.
nano /usr/local/etc/opensips/opensips_trunk.cfg
Нам необходимо обновить URL-адрес MySQL всех модулей в скрипте, указав имя пользователя и пароль MySQL.
Примечание. Если после запуска службы opensips вы получаете сообщение об ошибке отказа в доступе на стороне сервера MySQL, создайте нового пользователя MySQL только для базы данных opensips.
Нам нужно убедиться, что у нас указан правильный путь к модулю в скрипте конфигурации.
Обновите переменную PATH в файле /etc/init.d/opensips.
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin
Как только мы это сделаем, последний шаг - установить для переменной RUN_OPENSIPS значение yes.
nano /etc/default/opensips
Примечание. Убедитесь, что в вашей ОС существует пользователь opensips, или вы можете добавить его с помощью - useradd -r opensips.
После обновления конфигурации в файле default нам нужно выполнить systemctl daemon-reload.
Итак, теперь мы готовы запустить наш сервис opensips. Во-первых, давайте удостоверимся, что в нашем конфигурационном файле OpenSIPS нет неправильной конфигурации.
opensips -C -f /usr/local/etc/opensips/opensips_trunk.cfg
Теперь давайте запустим сервис OpenSIPS
systemctl start opensips
systemctl enable opensips
Если вы выполнили все шаги и установили все зависимости, вы увидите, что сервер opensips работает и прослушивает порт 5060.
Примечание. По умолчанию OpenSIPS использует файл /var/log/syslog для ведения журнала. Поэтому, если вы получаете какие-либо ошибки при запуске службы opensips, обратитесь к этому файлу логов для устранения неполадок.
Мы можем убедиться, что сервер OpenSIPS работает или нет по-разному.
Проверяя файл opensips_fifo в каталоге /tmp.
Выполняя команды MI через opensips-cli
Поздравляем! Вы успешно установили свой первый сервер OpenSIPS, и мы желаем вам всего наилучшего в вашем путешествии по VoIP.
Сетевые устройства могут работать в режимах, которые подразделяются на три большие категории.
Первая и основная категория- это передача данных (плоскость данных, data plane). Это режим работы коммутатора по передаче кадров, генерируемых устройствами, подключенными к коммутатору. Другими словами, передача данных является основным режимом работы коммутатора.
Во-вторых, управление передачей данных относится к настройкам и процессам, которые управляют и изменяют выбор, сделанный передающим уровнем коммутатора. Системный администратор может контролировать, какие интерфейсы включены и отключены, какие порты работают с какой скоростью, как связующее дерево блокирует некоторые порты, чтобы предотвратить циклы, и так далее. Так же важной частью этой статьи является управление устройством, осуществляемое через плоскость наблюдения (management plane). Плоскость наблюдения - это управление самим устройством, а не управление тем, что делает устройство. В частности, в этой статье рассматриваются самые основные функции управления, которые могут быть настроены в коммутаторе Cisco. В первом разделе статьи рассматривается настройки различных видов безопасности входа в систему. Во втором разделе показано, как настроить параметры IPv4 на коммутаторе, чтобы им можно было управлять удаленно. В последнем разделе рассматриваются практические вопросов, которые могут немного облегчить жизнь системного администратора.
Защита коммутатора через CLI
По умолчанию коммутатор Cisco Catalyst позволяет любому пользователю подключиться к консольному порту, получить доступ к пользовательскому режиму, а затем перейти в привилегированный режим без какой-либо защиты. Эти настройки заданы в сетевых устройствах Cisco по умолчанию и, если у вас есть физический доступ к устройству, то вы спокойно можете подключиться к устройству через консольный порт или USB, используя соответствующий кабель и соответственно производить различные настройки.
Однако не всегда имеется физический доступ к коммутатору и тогда необходимо иметь доступ к устройствам для удаленного управления, и первым шагом в этом процессе является обеспечение безопасности коммутатора так, чтобы только соответствующие пользователи могли получить доступ к интерфейсу командной строки коммутатора (CLI).
Настройка парольного доступа к коммутатору Cisco
В данной части рассматривается настройка безопасности входа для коммутатора Cisco Catalyst.
Защита CLI включает защиту доступа в привилегированный режим, поскольку из этого режима злоумышленник может перезагрузить коммутатор или изменить конфигурацию.
Защита пользовательского режима также важна, поскольку злоумышленники могут видеть настройки коммутатора, получить настройки сети и находить новые способы атаки на сеть.
Особенно важно, что бы все протоколы удаленного доступа и управления, чтобы IP-настройки коммутатора были настроены и работали.
Для того чтобы получить удаленный доступ по протоколам Telnet и Secure Shell (SSH) к коммутатору, необходимо на коммутаторе настроить IP-адресацию.
Чуть позже будет показано, как настроить IPv4-адресацию на коммутаторе.
В первой части статьи будут рассмотрены следующие вопросы защиты входа:
Защита пользовательского режима и привилегированного режима с помощью простых паролей;
Защита доступа в пользовательский режим с использованием локальной базы данных;
Защита доступа в пользовательский режим с помощью внешних серверов аутентификации;
Защита удаленного доступа с помощью Secure Shell (SSH);
Защита пользовательского и привилегированного режима с помощью простых паролей.
Получить полный доступ к коммутатору Cisco можно только через консольный порт.
В этом случае, настройки по умолчанию, позволяют получить доступ сначала к режиму пользователя, а затем можно перейти в привилегированный режим без использования паролей.
А вот по протоколам удаленного доступа Telnet или SSH получить доступ даже к режиму пользователя невозможно.
Настройки по умолчанию идут у совершенно нового коммутатора, но в производственной среде необходимо обеспечить безопасный доступ через консоль, а также включить удаленный вход через Telnet и/или SSH, чтобы была возможность подключаться ко всем коммутаторам в локальной сети.
Можно организовать доступ к сетевому оборудованию с использованием одного общего пароля.
Этот метод позволяет подключиться к оборудованию, используя только пароль - без ввода имени пользователя - с одним паролем для входа через консольный порт и другим паролем для входа по протоколу Telnet. Пользователи, подключающиеся через консольный порт, должны ввести пароль консоли, который был предварительно настроен в режиме конфигурации. Пользователи, подключающиеся через протокол Telnet, должны ввести пароль от Telnet, также называемый паролем vty, так называемый, потому что это режим конфигурации терминальных линий (vty). На рисунке 1 представлены варианты использования паролей с точки зрения пользователя, подключающегося к коммутатору.
Как видно из рисунка 1, на коммутаторах Cisco стоит защита привилегированного режима (enable) с помощью еще одного общего пароля, задаваемый командой enable password. Системный администратор, подключающийся к CLI коммутатора попадает в режим пользователя и далее, вводит команду enable.
Эта команда запрашивает у пользователя пароль входа в привилегированный режим; если пользователь вводит правильный пароль, IOS перемещает пользователя в привилегированный режим.
Пример 1. Пример входа в коммутатор из консоли, когда пароль консоли и пароль привилегированного режима были заранее установлены. Предварительно пользователь запустил эмулятор терминала, физически подключил ноутбук к консольному кабелю, а затем нажал клавишу Enter, чтобы войти в коммутатор.
(User now presses enter now to start the process. This line of text does not appear.)
User Access Verification
Password: cisco
Switch> enable
Password: cisco
Switch#
В примере показаны пароли в открытом виде, как если бы они были набраны в обычном текстовом редакторе (cisco), а также команда enable, которая перемещает пользователя из пользовательского режима в привилегированный режим (enable). В реальности же IOS скрывает пароли при вводе, чтобы никто не смог увидеть их.
Чтобы настроить общие пароли для консоли, Telnet и привилегированного режима (enable), необходимо ввести несколько команд. На рис. 2 показан порядок задания всех трех паролей.
На рисунке 2 показаны два ПК, пытающиеся получить доступ к режиму управления устройством. Один из ПК подключен посредством консольного кабеля, соединяющейся через линию console 0, а другой посредством Telnet, соединяющейся через терминальную линию vty 0 15. Оба компьютера не имеют Логинов, пароль для консоли и Telnet -cisco. Пользовательский режим получает доступ к привилегированному режиму (enable) с помощью ввода команды "enable secret cisco". Для настройки этих паролей не надо прилагать много усилий. Все делается легко. Во-первых, конфигурация консоли и пароля vty устанавливает пароль на основе контекста: для консоли (строка con 0) и для линий vty для пароля Telnet (строка vty 0 15). Затем в режиме консоли и режиме vty, соответственно вводим команды:
login
password <пароль задаваемый пользователем>
Настроенный пароль привилегированного режима, показанный в правой части рисунка, применяется ко всем пользователям, независимо от того, подключаются ли они к пользовательскому режиму через консоль, Telnet или иным образом. Команда для настройки enable password является командой глобальной конфигурации: enable secret <пароль пользователя>.
В старых версиях, для задания пароля на привилегированный режим, использовалась команда password. В современных IOS применяется два режима задания пароля: password и secret.
Рекомендуется использовать команду secret, так как она наиболее безопасна по сравнению с password.
Для правильной настройки защиты коммутатора Cisco паролями необходимо следовать по шагам, указанным ниже:
Шаг 1. Задайте пароль на привилегированный режим командой enable secret password-value
Шаг 2. Задайте пароль на доступ по консоли
Используйте команду line con 0 для входа режим конфигурирования консоли;
Используйте команду liassword liassword-value для задания пароля на консольный режим;
Используйте команду login для запроса пароля при входе по консоли;
Шаг 3. Задайте пароль на терминальные подключения vty (Telnet)
Используйте команду line vty 0 15 для входа режим конфигурирования терминальных линий. В данном примере настройки будут применены ко всем 16 терминальным линиям;
Используйте команду liassword liassword-value для задания пароля на режим vty;
Используйте команду login для запроса пароля при входе по Telnet
В Примере 2 показан процесс настройки, согласно вышеописанным шагам, а также установка пароля enable secret. Строки, которые начинаются с ! - это строки комментариев. Они предназначены для комментирования назначения команд.
! Enter global configuration mode, set the enable password, and also set the hostname (just because it makes sense to do so)
Switch# configure terminal
Switch(config)# enable secret cisco
Switch#(config)# line console 0
Switch#(config-line)# password cisco
Switch#(config-line)# login
Switch#(config-line)# exit
Switch#(config)# line vty 0 15
Switch#(config-line)# password cisco
Switch#(config-line)# login
Switch#(config-line)# end
Switch#
Пример 3 показывает результирующую конфигурацию в коммутаторе, выводимой командой show running-config. Выделенный текст показывает новую конфигурацию. Часть листинга было удалено, что бы сконцентрировать ваше внимание на настройке пароля.
Switch# show running-config
!
Building configuration...
Current configuration: 1333 bytes
!
version 12.2
!
enable secret 5 $1$OwtI$A58c2XgqWyDNeDnv51mNR.
!
interface FastEthernet0/1
!
interface FastEthernet0/2
!
! Several lines have been omitted here - in particular, lines for
! FastEthernet interfaces 0/3 through 0/23.
!
interface FastEthernet0/24
!
interface GigabitEthernet0/1
!
interface GigabitEthernet0/2
!
line con 0
password cisco
login
!
line vty 0 4
password cisco
login
!
line vty 5 15
password cisco
login
В следующей статье рассмотрим тему защиты доступа в пользовательском режиме с помощью локальных имен пользователей и паролей.