По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Предыдущая статья этого цикла: Устранение неполадок коммутации Cisco Следующая статья этого цикла: Устранение неисправностей EtherChannel Case #1 На рисунке представлена топология, состоящая из трех коммутаторов, и между коммутаторами у нас есть два канала связи для резервирования. Коммутатор А был выбран в качестве корневого моста для VLAN 1. Когда вы имеете дело со связующим деревом, лучше всего нарисовать небольшую схему сети и записать роли интерфейса для каждого коммутатора (назначенного, не назначенного/альтернативного или заблокированного). Обратите внимание, что одним из каналов связи между коммутатором A и коммутатором C является интерфейс Ethernet (10 Мбит). Все остальные каналы — это FastEthernet. Мы используем команду show spanning-tree для проверки ролей интерфейса для коммутатора A и коммутатора C. Вы видите, коммутатор C выбрал свой интерфейс Ethernet 0/13 как корневой порт, а интерфейс FastEthernet 0/14 выбран в качестве альтернативного порта. Это не очень хорошая идея. Это означает, что мы будем отправлять весь трафик вниз по линии 10 Мбит, в то время как 100 Мбит не используется вообще. Когда коммутатор должен выбрать корневой порт он выберет его следующим образом: Выбирается интерфейс, который имеет самую низкую стоимость для корневого моста. Если стоимость равная, выбирается наименьший номер интерфейса. Обычно стоимость интерфейса Ethernet выше, чем Fast Ethernet, поэтому он должен выбрать интерфейс FastEthernet. Почему коммутатор выбрал интерфейс Ethernet 0/13? Мы видим, что интерфейс Ethernet 0/13 и FastEthernet0/14 имеют одинаковую стоимость. Затем коммутатор С выберет самый низкий номер интерфейса, который является interface Ethernet 0/13. После проверки конфигурации интерфейса, видно, что кто-то изменил стоимость интерфейса на 19 (по умолчанию для интерфейсов FastEthernet). SwitchC(config)#interface Ethernet 0/13 SwitchC(config-if)#no spanning-tree cost 19 Уберем настройки команды cost. После того, как мы убрали настройки команды cost, видно, что состояние порта изменилось. FastEthernet 0/14 теперь является корневым портом, а стоимость интерфейса Ethernet 0/13 равна 100 (это значение по умолчанию для интерфейсов Ethernet). Задача решена! Извлеченный урок: убедитесь, что интерфейс, которым вы хотите сделать в качестве корневого порта, имеет наименьшую стоимость пути. Case #2 Итак, новый сценарий. Все интерфейсы равны (FastEthernet). Коммутатор A является корневым мостом для VLAN 10, и после проверки ролей интерфейса мы находим следующее: Хм, интересно... Коммутатор A является корневым мостом, а FastEthernet 0/17 был выбран в качестве резервного порта. Это то, что вы видите каждый день. Коммутатор B выбрал корневой порт, а все остальные интерфейсы являются альтернативными портами. Мы ничего не видим на коммутаторе С. Мы видим, что Коммутатор A и Коммутатор B используют связующее дерево для VLAN 10. Коммутатор C, однако, не использует связующее дерево для VLAN 10. В чем может быть проблема? Конечно, неплохо проверить, работают ли интерфейсы на коммутаторе C или нет (но, конечно, это то, что вы уже изучили и сделали в первой статье). Интерфейсы выглядят хорошо. VLAN 10 активна на всех интерфейсах коммутатора C. Это означает, что остовное дерево должно быть активным для VLAN 10. Давайте еще раз посмотрим на это сообщение. Это говорит о том, что остовное дерево для VLAN 10 не существует. Есть две причины, по которым можно увидеть это сообщение: Для VLAN 10 нет активных интерфейсов. Spanning-дерево было отключено для VLAN 10. Мы подтвердили, что VLAN 10 активна на всех интерфейсах коммутатора C, поэтому, может быть, связующее дерево было отключено глобально? SwitchC(config)#spanning-tree vlan 10 Вот так выглядит лучше! Теперь связующее дерево включено для VLAN 10 и работает ... проблема решена! Эта проблема может показаться немного странной, но она появляется ее время от времени в реальном мире. Сценарий, который мы рассмотрели раньше, - это событие из реальной жизни, где клиент, которому поставщик беспроводной связи отключил остовное дерево для интерфейсов, которые подключаются к точке беспроводного доступа. Ниже то, что клиент ввел на коммутаторе: SwitchC(config)#interface fa0/1 SwitchC(config-if)#no spanning-tree vlan 10 SwitchC(config)# В интерфейсе они набрали no spanning-tree vlan 10, но как вы видите, что они оказались в режиме глобальной конфигурации. Нет команды для отключения остовного дерева на интерфейсе, подобного этой, поэтому коммутатор думает, что вы ввели глобальную команду для отключения остовного дерева. Коммутатор принимает команду отключения остовного дерева для VLAN 10 и возвращает вас в режим глобальной конфигурации... проблема решена! Извлеченный урок: проверьте, включено ли связующее дерево. Case #3 Давайте продолжим по другому сценарию! Та же топология... наш клиент жалуется на плохую работу. Начнем с проверки ролей интерфейсов: Посмотрите на картинку выше. Видите ли вы, что интерфейс FastEthernet 0/16 на коммутаторе B и коммутаторе C обозначены? На Коммутаторе A все интерфейсы обозначены. Как вы думаете, что произойдет, когда один из наших коммутаторов переадресует трансляцию или должен передать кадр? Правильно! У нас будет цикл ... Обычно в этой топологии интерфейсы FastEthernet 0/16 и 0/17 на коммутаторе C должны быть альтернативными портами, поскольку коммутатор C имеет худший ID моста. Так как они оба обозначены, мы предполагаем, что Коммутатор C не получает BPDU на этих интерфейсах. Так почему же остовное дерево провалилось здесь? Здесь важно помнить, что связующему дереву требуются блоки BPDU, передаваемые между коммутаторами для создания топологии без петель. BPDU могут быть отфильтрованы из-за MAC access-lists, VLAN access-maps или из-за spanning-tree toolkit? SwitchA#show vlan access-map SwitchB#show vlan access-map SwitchC#show vlan access-map Ни на одном из коммутаторов нет VLAN access maps. SwitchA#show access-lists SwitchB#show access-lists SwitchC#show access-lists Нет списков доступа... Нет port security... как насчет команд, связанных с остовным деревом? Вот что-то есть!Фильтр BPDU был включен на интерфейсах FastEthernet 0/16 и 0/17 коммутатора B. Из-за этого коммутатор C не получает BPDU от коммутатора B. SwitchB(config)#interface fa0/16 SwitchB(config-if)#no spanning-tree bpdufilter enable SwitchB(config-if)#interface fa0/17 SwitchB(config-if)#no spanning-tree bpdufilter enable Удалим настройки фильтра BPDU. Теперь вы видите, что FastEthernet 0/16 и 0/17 являются альтернативными портами и блокируют трафик. Наша топология теперь без петель... проблема решена! Извлеченный урок: убедитесь, что блоки BPDU не заблокированы и не отфильтрованы между коммутаторами. Case #4 Новая топология. Коммутатор A был выбран в качестве корневого моста для VLAN 10. Все интерфейсы являются FastEthernet каналами. После использования команды show spanning-tree vlan 10 вот, что мы видим. Все интерфейсы одинаковы, но по какой-то причине коммутатор B решил выбрать FastEthernet 0/16 в качестве корневого порта. Разве вы не согласны с тем, что FastEthernet 0/13 должен быть корневым портом? Стоимость доступа к корневому мосту ниже, чем у FastEthernet 0/16. Используем команду show spanning-tree interface, чтобы проверить информацию о spanning-tree для каждого интерфейса. Как вы можете видеть, существует только связующее дерево для VLAN 1, активное на интерфейсе FastEthernet 0/13 и 0/14. Есть несколько вещей, которые мы могли бы проверить, чтобы увидеть, что происходит: Во-первых, всегда полезно проверить, активно ли связующее дерево для определенной VLAN. Можно отключить spanning-tree с помощью команды no spanning-tree vlan X. В этом сценарии связующее дерево активно для VLAN 10, потому что мы можем видеть на FastEthernet 0/16 и 0/17. Мы знаем, что остовное дерево активно глобально для VLAN 10, но это не значит, что оно активно на всех интерфейсах. Мы можем использовать команду show interfaces switchport, чтобы проверить, работает ли VLAN 10 на интерфейсе FastEthernet 0/13 и 0/14. Это отобразит нам некоторую интересную информацию. Вы видите, что эти интерфейсы оказались в режиме доступа, и они находятся в VLAN 1. SwitchB(config)#interface fa0/13 SwitchB(config-if)#switchport mode trunk SwitchB(config-if)#interface fa0/14 SwitchB(config-if)#switchport mode trunk Давайте изменим режим интерфейсов на магистральный, чтобы трафик VLAN 10 мог проходить через эти интерфейсы. Ну вот, теперь все намного лучше выглядит. Трафик VLAN 10 теперь передается по интерфейсу FastEthernet 0/13 и 0/14, и вы видите, что интерфейс FastEthernet 0/13 теперь выбран в качестве корневого порта. Задача решена! Извлеченный урок: убедитесь, что VLAN активна на интерфейсе, прежде чем рассматривать проблемы связующего дерева. В следующей статье мы расскажем, как траблшутить проблемы с EtherChannel.
img
Процесс русификации интерфейса FusionPBX не является трудоемким, но, для русификации вам скорее всего придется переустановить FusionPBX с нуля - дело в том, что разработчики добавили русский перевод только в master ветку, а не в stable. Русификация Поэтому перед запуском установочного скрипта FusionPBX (как это делается, вы можете ознакомиться в нашей статье), необходимо провести некоторые манипуляции с ним: Открыть файл любым текстовым редактором по пути usr/src/fusionpbx-install.sh/centos/resources/config.sh - мы будем использовать vim. vim usr/src/fusionpbx-install.sh/centos/resources/config.sh Далее строчку system_branch нужно поменять на master и запустить скрипт, как описано в нашей статье. После установки необходимо зайти в веб-интерфейс, в раздел Home → Account Settings и в поле Language выбрать Russian [ru-ru]. Следующим шагом переходим в Advanced → Menu Manager, кликаем на иконку карандаша справа и меняем установку языка на ru-ru: После чего необходимо перейти в раздел Advanced → Upgrade, выбрать сброс настроек меню (как на скриншоте ниже) и нажать Execute: После чего необходимо будет перезайти в веб-интерфейс и вы должны будете увидеть его на русском!
img
Тестировщик проверяет созданное компанией программное обеспечение на соответствие всем требованиям качества. Этот сотрудник проверяет, всё ли работает так, как задумывали разработчики, стоит ли что-то улучшить. Существует разделение тестировщиков на QC (Quality Control — контроль качества) и QA (Quality Assurance — обеспечение качества). QC-тестировщик проверяет готовое программное обеспечение на соответствие техническим характеристикам, выполняет узконаправленные задачи по тестированию — подсвечивает проблемы на финальном этапе создания продукта. QA-тестировщики работают с программным обеспечением от этапа идеи до конечного продукта — подсвечивает проблемы продукта и внедряет инструменты тестирования на всех этапах разработки. Тестировщику не нужно уметь кодить — в отличие от разработчика, он должен не написать программу, а попытаться её «сломать», выявить недостатки в её работе. Он, скорее, думает о бизнес-процессах, выступает в роли пользователя, который может столкнуться со сложностями при использовании продукта. Тем не менее, рекомендуется знать хотя бы один язык программирования — для написания автотестов тестирования. Задачи тестировщиков, а также их высокая востребованность во всех компаниях-разработчиках ПО, делают эту профессию одной из самых простых способов попасть в IT. Что делает тестировщик: пример рабочей задачи В самом кратком виде — тестировщик получает задание по тестированию, например, проверить функционал регистрации нового пользователя. В задании вы получите конкретные шаги, которые нужно пройти — открыть сайт, внести имя пользователя и почту, задать пароль, нажать «Зарегистрироваться». Потом удалить свой аккаунт, сообщить разработчику о возникших проблемах на всех этапах пользования продуктом. Заодно вы проверяете соседние функции — иногда они могут отказывать из-за сайд-эффектов, когда ошибки в одной программе приводят к сбоям в других. Если он находит ошибки, которые не может исправить — отправляет разработчику. Примерные задачи тестировщика (не обязательно в таком порядке): Составить тест-кейсы, в которых прописано, что нужно тестировать, и в каком объёме Разработать методику тестирования ПО Провести тестирование вручную или с помощью автотестов, которые вы разработаете сами Оценить, насколько готовый продукт отвечает бизнес-целям компании Оценить вёрстку и дизайн приложения Протестировать функционал и локализацию программы Написать bug-report с указанием ошибок ПО Тестирование вручную и автоматическое Тестирование IT-продукта может проводиться вручную или автоматически. В первом случае тестировщик выполняет шаги «руками» — переходит по ссылкам, взаимодействует с интерфейсом. Во втором случае тестировщик пишет программу автотеста, которая позволяет быстрее выполнять некоторые задачи тестирования. Писать автотесты значительно проще, чем кодить сайт или программу. Тестировщики-автоматизаторы ценятся на рынке намного выше, чем те, кто проверяет программу вручную. Hard и soft-скиллы тестировщика Hard-скиллы: Знает основные принципы тестирования, разбирается в ключевых её видах различиях в методике Умеет составить тест-кейс и тест-план Знает язык SQL и умеет работать с базами данных Владеет хотя бы одним языком программирования Умеет пользоваться системами контроля качества, например, Git и CVS Soft-скиллы: Основной скилл — умение общаться. С разработчиками, с клиентом или руководством, другими коллегами в команде. Разработчики, например, могут решить, что вы пытаетесь обесценить его усилия, нарушить работу продукта из «вредности» — нужно уметь объяснить, что вы подсвечиваете проблемы, с которыми может столкнуться обычный пользователь, далёкий от IT-сферы. Тестировщику нужно встать одной ногой на место пользователей — проявить эмпатию и гибкость мышления. Смоделировать, как они могут использовать продукт, где могут не догадаться перейти по ссылке или проскроллить вниз. Если не донести важность исправления ошибки, потенциальный покупатель может назвать продукт «интуитивно непонятным интерфейсом» и отказаться от использования приложения или сайта — из-за этого пострадает и продукт, и компания. Как стать этим героем Тестировщиком можно стать без образования в университете и без курсов в интернете — вся необходимая информация есть в свободном доступе, а требования к соискателю прописаны в вакансиях IT-компаний. Будущему тестировщику необходимо получить опыт тестирования в фрилансе или на позиции junior. Обычно таким сотрудникам дают готовый сценарий для теста, который нужно провести. Как мы упомянули, важно выучить как минимум один язык программирования, что тоже возможно сделать самостоятельно или на курсах. IT-тестировщику также нужно базово понимать веб-разработку, жизненный цикл программного обеспечения, немного разбираться в бизнес-процессах. Для оценки программы по вёрстке и дизайну нужна некоторая эстетическая насмотренность. В одиночку этот путь может быть сложным, но существует множество курсов тестировщиков, которые обучают соискателей с нуля, и на выходе они получают кейсы в портфолио. К сожалению, многие курсы составляются ради самих курсов. Один из толковых — курс от Merion Academy. Вы пройдёте обучение в онлайн-формате, а материалы останутся с вами навсегда. Курс рассчитан на четыре месяца, включает в себя 30 часов лекций и практических задач. Практика в этом случае намного важнее теории — работодатели обращают внимание не на ваше обучение, а на конкретные кейсы в портфолио, успешное решение бизнес-задач на предыдущем месте работы. Также важно учитывать особенности продукта IT-компании, в которой вы хотите работать. Если это разработчик компьютерных игр, вам нужно разбираться в этой области, чтобы понимать, на что обращают внимание пользователи игры. Если это банк, вам нужно учитывать тонкости работы с защитой данных — ключевой показатель для финансовых приложений. Может пригодиться понимание работы разных операционных систем — то, что работает на Windows, может «сломаться» в Mac OS. Кому нужны тестировщики, если основную работу выполняют разработчики Тестировщики нужны везде, где разрабатываются IT-продукты — сайты, мобильные приложения, игры, онлайн-платформы, поисковики, мессенджеры и др. Разработчики владеют достаточной квалификацией в написании кода программы, но могут не обращать внимание на соответствие программы бизнес-целям компании — на это у них и времени нет. На Headhunter в сентябре 2023 года искали более 4300 тестировщиков, половина из этих вакансий — в Москве. Сколько можно получать На позиции junior соискатель может рассчитывать на зарплату от 50 до 70 тысяч рублей. Middle-тестировщики получают от 100 до 120 тысяч рублей. На позиции senior оклад можно повысить до 200-300 тысяч рублей. Типичный квест тестировщика на карьерной лестнице Тестировщик-junior имеет несколько кейсов в своём портфолио, потратил несколько месяцев на своё обучение, разобрался в основах тестирования, о которых мы писали выше — на этой позиции вы будете работать с готовыми сценариями тестирования. Спустя 1-2 года работы вы можете занять позицию middle — вы будете сами составлять сценарии, подбирать методику тестирования, проверять и, что важнее, предотвращать ошибки ПО. Senior управляет командой, разрабатывает стратегию и стандарты тестирования на всех этапах создания продукта. Не баг, а фича в работе тестировщиком — возможность уйти в разработку. Так как вы уже знаете один или два языка программирования и разбираетесь в особенностях IT-продуктов, вам остаётся научиться кодить ПО самостоятельно. Но, в отличие от разработчика, вы изначально будете понимать, какие цели будет преследовать продукт, на что будет обращать внимание конечный пользователь. Учиться самостоятельно или на курсе Тестировщиком может стать любой человек — новичок в IT или сотрудник из этой сферы, но без опыта работы тестировщиком. Разобраться в теории и наработать портфолио можно самому — на это уйдёт около года. Если хочется побыстрее и не совершить все ошибки начинающих тестировщиков, можно пройти курс с опытными преподавателями. Вжух — и через четыре месяца вы тестировщик в IT-компании с достойной оплатой и карьерными возможностями!
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59