К основным неисправностям относят следующие причины:
- Неверно настроен режим порта Access/Trunk
- Неверно настроен тип инкапсуляции ISL/802.1q
- Неверная IP адресация
- Неверно выбран режим согласования порта по протоколу DTP
- Разные Native VLAN на коммутаторах
- Запрещенные/разрешенные VLAN через транк
- Порты коммутатора настроены на неверный либо несуществующий VLAN
- Неверно настроен режим VTP коммутатора
- Несоответствие номера ревизии VTP в коммутаторах
- Несоответствие версии протокола VTP в коммутаторах
А теперь обо всем по порядку.
Поиск неисправностей всегда начинается с физического уровня и, если все нормально, то поднимаемся на уровень выше и продолжаем поиск.
На физическом уровне проверяем целостность и тип кабелей, дуплекс/полудуплекс, скорость интерфейсов и т.д.
На канальном уровне проверяем выше перечисленные настройки.
Попробуем во всем разобраться на основе примеров. Некоторые будут до банальности просты, но тем не менее их стоит тоже рассмотреть.
Пример 1.
Дана сеть
Между всеми VLAN настроена маршрутизация, однако почему-то хосты из разных VLAN не доступны друг другу. Связь между хостами в рамках одного VLAN работает без проблем.
Решение.
Причин может быть несколько:
- Неработающий транк между маршрутизатором и коммутатором
- Неправильная настройка маршрутизатора
- Неправильная настройка коммутатора
Начнем с физического уровня. Введи следующую команду на коммутаторе и маршрутизаторе
show interfaces fastethernet номер_интерфейса |
Обрати внимание на вывод команд
На маршрутизаторе данной командой мы не увидим режим дуплекс/полудуплекс. Для этого достаточно просмотреть конфигурацию командой
show running-config |
Исходя из вывода команд видно, что на физическом уровне проблем нет: режим и скорость на обоих интерфейсах одинаковы, ошибки в приеме/передачи отсутствуют либо незначительны.
Теперь проверим настройки маршрутизатора командой
show running-config |
И здесь все правильно: инкапсуляция и адресация настроены верно. Ищем дальше.
Проверим настройки VLAN и магистрали в коммутаторе более внимательно. Введем команду
show interface trunk |
Оказывается через магистральный разрешена передача трафика только от VLAN 4. Все остальные VLAN запрещены.
Как такое возможно? Ведь по умолчанию на магистральных соединениях разрешены все VLAN.
Все верно, однако в некоторых случаях требуется разрешить только определенные VLAN. Для этого используется команда
Switch(config-if)# switchport trunk allowed vlan номер_VLAN |
Если мы захотим разрешить VLAN 10, то введем
Switch(config-if)# switchport trunk allowed vlan 10 |
Однако, если немного позже нам понадобится добавить VLAN 4, то следующая команда будет неправильна
Switch(config-if)# switchport trunk allowed vlan 4 |
IOS примет последнюю команду, а первую удалит
А как ввести сразу несколько VLAN?
Достаточно ввести
Switсh(config-if)# switchport trunk allowed vlan 3, 4, 10 |
Существует и другой способ. Если ранее уже была настроена определенная VLAN, то для добавления новой VLAN введи
Switсh(config-if)# switchport trunk allowed vlan add номер_VLAN |
Пример 2.
Дана сеть из предыдущего примера.
Все работало хорошо. Однако сотрудник компании решил подключить старый коммутатор к сети, так как ему не хватало свободных портов. После этого начали поступать жалобы, что компы из VLAN 10 недоступны для других VLAN, а также внутри “родной” VLAN. Пинги ничего не показывают.
Естественно, сетевой администратор ничего не знает об этих манипуляциях. Каковы его действия?
Решение.
Если не работают хосты в рамках всей VLAN, то нет смысла искать неисправности на физическом уровне. Поэтому в первую очередь проверяем настройки VLAN на всех коммутаторах командой
show vlan brief |
VLAN 10 отсутствует.. Именно к этой VLAN и подключены неработающие компы.
Посмотрим на настройки конкретных портов доступа, к которым подключены компы. Выполни команду
show interface fa0/4 switchport |
Как видно порту назначена правильная VLAN, однако она не активна. Такое может произойти лишь в том случае, если VLAN удалили из настроек коммутатора. Причем сам интерфейс остается все еще привязан к несуществующей VLAN. Обычно при удалении VLAN сначала удаляют его в настройках интерфейса, а затем уже глобально.
Почему сеть не работает разобрались. Теперь разберемся в самой причине произошедшего.
VLAN могут быть удалены вручную либо автоматически с помощью VTP. Представим, что администратор не допускал ошибок и не удалил случайно VLAN 10. Остается VTP.
Однако обновления VTP передаются только по магистральным каналам, как стало возможным, что между новым коммутатором сразу установилась магистральная связь?
Все порты коммутатора по умолчанию находятся в режиме Dynamic Auto. И если порт подключенного коммутатора будет в режиме Dynamic Desirable или ON, то между ними установится магистраль. И это приведет к вышеописанным последствиям.
Подключенный коммутатор содержал конфигурацию VLAN/VTP, которая отличалась от текущей конфигурации, причем номер ревизии VTP на этом коммутаторе оказался выше, чем на работающем коммутаторе. Поэтому работающий коммутатор принял неактуальные конфигурацию и перезаписал все VLAN настройки в соответствии с настройками на подключенном коммутаторе.
Есть один маленький нюанс. Пока на VTP сервере не определен домен он не будет рассылать обновления всем остальным коммутаторам. Однако, если к сети VTP подключить любой VTP сервер с доменом и более высоким номером ревизии, то на всех коммутаторах все VLAN настройки будут изменены в соответствии с настройками данного сервера.
Ниже даются краткие рекомендации к настройкам VLAN/VTP:
- Всегда отключай или переводи в режим Access все незадействованные порты
- VTP настраивай с паролем и доменом
- Там, где должен быть только trunk, настраивай статический trunk
- При подключении нового коммутатора к сети удали все VTP настройки.
Для удаления настроек VTP переведи режим в Transparent, удали файл vlan.dat во Flash памяти и перезагрузи коммутатор.
Пример 3.
Дана сеть
Сетевой администратор решил использовать VTP. Коммутатор А является сервером, однако почему-то коммутатор C не синхронизируются с сервером. Все остальные коммутаторы синхронизированы
Решение.
В данном случае проблем могут быть 2:
- Транк на всех портах коммутатора С не установился
- Проблемы с настройками VTP на коммутаторе С
Настройки транка проверяются с помощью следующих двух команд
show interfaces trunk |
show interfaces fastethernet номер_интерфейса switchport |
Предположим, что транк включен. Проверим настройки VTP на всех коммутаторах командой
show vtp status |
Однако, если взглянуть на MD5 хэш, то выяснится, что на коммутаторе С он отличаются от хэш на всех остальных коммутаторах.
Это означает только одно — пароли не совпадают. В этом легко убедиться с помощью команды
show vtp password |