По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие
наши статьи:
Сразу к делу. На рисунке 1 показана базовая конфигурация STP (Spanning Tree Protocol).
Рис. 1 Базовая конфигурация STP
По умолчанию функция STP коммутатора включена. Если STP отключен, используйте команду stp enable в системном режиме, чтобы включить STP.
# На S1 установите режим работы связующего дерева на STP. Используйте режим stp {mstp | rstp | stp}, с помощью которой вы можете установить режим MSTP, RSTP или STP. По умолчанию установлен режим MSTP.
<Quidway> system-view
[Quidway] sysname S1
[S1] stp mode stp
# На S2 установите режим работы связующего дерева на STP.
<Quidway> system-view
[Quidway] sysname S2
[S2] stp mode stp
# На S3 установите режим работы связующего дерева на STP.
<Quidway> system-view
[Quidway] sysname S3
[S3] stp mode stp
# На S4 установите режим работы связующего дерева на STP.
<Quidway> system-view
[Quidway] sysname S4
[S4] stp mode stp
Даже если STP автоматически выберет корневой мост, мы сначала назначим коммутатор ближе к центру сети. Структура сети показана на рис. 1 простая: S1 и S2 подключены через Интернет, а основные коммутаторы, S3 и S4, являются коммутаторами доступа. Мы можем изменить приоритет моста S1, чтобы гарантировать, что S1 будет выбран в качестве корневого моста. Команда stp priority priority используется для установки приоритета моста устройства; значение приоритета колеблется от 0 до 61440 с шагом 4096. Значение по умолчанию-32 768. Чем меньше приоритет, тем больше вероятность того, что устройство будет выбрано в качестве корневого моста. Вы также можете использовать команду stp root primary для обозначения S1 в качестве корневого моста. После выполнения команды на устройстве значение приоритета моста устройства автоматически устанавливается равным 0. Приоритет моста устройства не может быть изменен после этого с помощью команды stp priority priority.
[S1] stp root primary
Затем мы назначим S2 вторичным корневым мостом, чтобы S2 заменил S1 в качестве нового корневого моста в случае сбоя. После запуска на устройстве команды stp root secondary значение приоритета моста устройства автоматически устанавливается на 4096 и не может быть изменено после этого с помощью команды stp priority priority.
[S2] stp root secondary
На этом базовая конфигурация STP сети завершена. Чтобы проверить состояние и статистику дерева SPT, вы можете запустить display stp [interface interface-type
interface-number] [brief]
На S1 используйте команду display stp brief для отображения основной информации STP.
В выводимых данных видно, что, поскольку S1 является корневым мостом, GE0 / 0/2 и GE0 / 0/1 S1 являются назначенными портами в состоянии normal forwarding.
Следующий вывод - это основная информация STP S4.
Интерфейс GE0/0/2 коммутатора S4 является корневым портом в состоянии normal forwarding. Однако его порт GE0/0/1 является альтернативным портом в состоянии блокировки.
Продолжаем рассказывать про Terraform. Предыдущая статья тут. В данной статье мы разберем динамичные блоки кода в Terraform, которые можно использовать в своей работе. Данный функционал значительно облегчает написание кода Terraform с помощью которого мы управляем сервисами Amazon. В статье будет описан сценарий с генерацией кода Terraform.
Данный функционал был добавлен в terraform 0.12 версии. Для работы создадим новую директорию, можно путем копирования из предыдущего урока. Директорию назовем lesson-5. Для написания кода мы по-прежнему используем текстовый редактор Atom.
Мы можем создать файлик с именем DynamicSecurityGroup.tf или переименуем существующий webserver.tf если вы добавили папку путем копирования. Если вы создавали путем копирования отредактируем файл, убрав строчки, которые создают веб-сервер.
Удаляем. Теперь мы начнем писать код Terraform, чтобы у нас появилась динамическая группа безопасности.
В прошлой статье мы прописывали 2 правила. Данные правила открывали нам порты 80 и 22, аналогично можно прописать, чтобы открывался порт 443 ну или любой другой, который нам необходим для корректного инстанса и работоспособности сервиса.
А теперь представим, что нам необходимо открыть еще 20 разных портов. Можно сделать это с помощью copy-paste, т.е. копированием и вставкой уже существующих блоков кода с редактированием протокола и номеров портов. В terraform версии 0.12 добавили функционал и назвали его DynamicBlocks, что позволит генерировать кусочки кода в Terraform.
Добавим следующую часть кода:
dynamic "ingress" {
for_each = ["80", "443", "8080", "1541", "9092"]
content {
from_port = ingress.value
to_port = ingress.value
protocol = "tcp"
cidr_blocks = ["0.0.0.0/0"]
}
}
Разберем для лучшего понимания. Функция Dynamic, далее кавычки двойные и внутри мы пишем, что-будет динамическим, в нашем случае это функция Ingress. Открываем фигурные скобки и пишем цикл с помощью for_each = ["номерпорта1", "номерпорта2"] указывая номера портов. Следовательно, цикл for_each пройдется по каждому из параметров и будет применена конструкция content. Значения внутри конструкции content, будут заменены, а именно с какого порта на какой порт открывается доступ.
Далее в конструкции content описываем используемый протокол сетевого уровня и cider_blocks – с каких IP или диапазонов IP разрешено использовать данной правило. Конструкция 0.0.0.0/0 позволяет указать, что данное правило с данным портом разрешено использовать всему интернету вне зависимости от IP адреса. В целях информационной безопасности рекомендую использовать конкретные подсети или конкретные IP адреса, конечно, если это не публичный сервис.
Если посмотреть на пример, то написанное таким образом правило, сгенерирует нам 5 отдельных правил, т.е. получается достаточно удобно и сокращает нам количество строчек в коде, а также потенциально количество ошибок. Код становится более читаемым и легким.
После использования в коде функции dynamic, мы можем удалить все ставшие ненужными функции ingress. Не забывайте изменить имя ресурса. Это делается путем редактирования переменной name в разделе функции resource, для читаемости кода и удобства управления ресурсами в облаке AWS.
После того, как у нас готов наш код, мы можем его запустить. Так как, была создана новая папка, нам необходимо инициализировать ее использования. Переходим в необходимую директорию, в которой находится файл. И запускаем инициализацию стандартной командой terraform init. После ввода команды ожидаем пару минут, пока Terraform скачает все необходимые модули для подключения и работы. Следующей командой terraform apply мы запускаем код на исполнение. И получаем запрос на подтверждение операции. Среди вывода мы можем видеть:
Это значит что все порты, которые были указаны в аргументах будут созданы. Осталось подтвердить и дождаться успешного выполнения операции.
В наши дни смартфоны оснащены намного мощной начинкой, чем нужно для запуска легковесного SSH клиента для подключения к VPS (виртуальный частный сервер) и решить какую-то критическую проблему, если под рукой нет ноутбука и Wi-Fi.
SSH клиенты для смартфонов
На самом деле, все мобильные SSH-клиенты позволяют делать то же самое: подключиться по SSH к серверу. Друг от друга они отличаются тем, насколько удобны они в использовании на мобильном устройстве. Ведь клавиатура на мобильном устройстве имеет свои особенности, основное её предназначение переписка и набор коротких сообщений, а не кодирование. Даже набирать - и / стандартной iOS-клавиатуре довольно сложно, так как требуется нажать три кнопки.
Хорошие мобильные SSH-клиенты упрощают этот процесс. Например, Termius - очень популярный бесплатный SSH-клиент для iOS и Android. Интерфейс самого терминала предоставляет обычную клавиатуру, а над ней расположены элементы управления, которые не часто используются на обычной мобильной клавиатуре. Например, для часто используемой клавиши-модификатор Ctrl у Termius есть отдельная кнопка рядом с Esc. Так же в командной строке часто используются тире и косые черты /, поэтому под них также выделены отдельные клавиши, что сильно упрощает процесс набора.
Вне терминала тоже интерфейс очень функциональный: удобное создание новых SSH ключей, а также есть опция передачи ключей на Macbook, для последующего добавления в список authorized_keys на сервере.
Termius доступен бесплатно для платформ iOS и Android, но такие функции как вкладки, переброс агента SSH, SFTP подключение доступно только Pro версии, подписка на которую стоит $8 в месяц.
Prompt - это премиум-клиент для iOS, который сочетает в себе множество полезных функций. Он имеет тот же дизайн панели быстрого доступа, что и Termius, но может меняться в зависимости от приложения.
Это приложение также поддерживает сохранение часто используемых команд как шорт-каты, что освобождает от постоянного ввода одних и тех же команд. Оно стоит 15 долларов, но это разовая цена и включает все премиум функции.
Mosh
Mosh является альтернативой SSH и построен специально для мобильных пользователей, так как использует UDP. Традиционное SSH ожидает ответа сервера перед тем, как отображать введенные символы, что сильно раздражает при подключениях с большим временем задержки. В то время как 4G имеет хорошую среднее время отклика - 50 мс, то при соединении по 3G, задержка может вырасти до более чем 300 мс. Mosh помогает обходить это ограничение, и значительно уменьшает время отклика:
Кроме этого, Mosh не разрывает соединение, если интернет оборвался, что часто случается с мобильным интернетом. В любом случае, можно использовать tmux или screen, но иметь под рукой Mosh, который поддерживает эту функцию «из коробки» очень удобно.
Mosh как опция включена в Termius и Blink. А вот интеграции с Prompt нет, так как последняя не распространяется свободно.
Используйте tmux или screen для непрерывной работы
После установления соединения нужно подключиться к tmux или screen. Tmux терминальный мультиплексор, который позволяет запускать несколько терминальных сессий в одном окне. Также он дает возможность отключаться от сессии при том, не завершая его на сервере. Таким образом, откуда угодно можно подключиться к запущенной сессии. Например, можно запустить сессию на компьютере, а потом подключиться к ней со смартфона.
Если tmux не установлен, сделать это можно командой:
sudo apt-get install tmux
А затем, дело за малым: создано новую сессию и задать ей имя:
tmux new -s session
После этого в нижней части окна появится строка состояния, которая указывает на то, что вы работаете в tmux. Чтобы отключиться от сессии введите команду:
tmux detach
Или просто нажмите комбинацию клавиш Ctrl+B, а затем D, но может быть неудобно делать это на смартфоне. Вместо этого можно использовать команду exit.
Сессия продолжает выполняться на сервере; запущенные программы, журнал команд и все остальное продолжают выполняться в фоновом режиме, даже если вы не подключены к сети.
Для повторного подключения к сеансу используйте:
tmux a -t session
В некоторых SSH-клиентах, таких как Prompt, можно задать команду startup, которая будет выполняться при подключении к ней. Таким образом, если на сервере запущен сеанс tmux, к которому всегда подключаетесь, используйте команду startup для автоматического подключения.