IT CROWD: Базовая настройка коммутаторов Cisco (основа)
1. СТАНДАРТНАЯ БАЗОВАЯ НАСТРОЙКА
Перейдем в режим конфигурации:
enable
configure terminal
Установим пароль на enable:
enable password ПАРОЛЬ
Включим хранение паролей в шифрованном виде:
service password-encryption
Если необходимо отменить какую нибудь команду, наберем её еще раз добавив перед ней no, например:
no service password-encryption
По желанию можно указать имя устройству:
hostname ИМЯ
Настроим интерфейс для управления коммутатором в отдельном VLAN (я использую 207), ну или во VLAN 1 если у вас один коммутатор, а не большая сеть:
vlan 207
interface vlan 207
ip address 192.168.1.2 255.255.255.0
exit
При необходимости можно указать шлюз чтобы коммутатор можно было увидеть из других сетей (в сети 192.168.1.0/24 его видно и без шлюза):
ip default-gateway 192.168.1.1
Настроим 25 входящий Uplink порт (vlan 207 для управления с tag, а vlan 226 для пользователей тоже с тегом):
interface gigabitEthernet 0/1
switchport trunk allowed vlan 207,226
switchport mode trunk
no shutdown
exit
Укажем vlan 226 без тега для портов клиентов:
interface range fastEthernet 0/1-24
switchport access vlan 226
switchport mode access
no shutdown
exit
26 порт настроим тоже для клиентов:
interface gigabitEthernet 0/2
switchport access vlan 226
switchport mode access
no shutdown
exit
Настроим access-list со списком IP-адресов с которых будет разрешено управлять устройством:
ip access-list standard 11
permit 192.168.1.1
permit 192.168.1.50
exit
Установим пароль для входа по telnet, укажем timeout сессии и укажем созданный access-list чтобы разрешить управлять только указанным в нем IP-адресам:
line vty 0 4
login
password ПАРОЛЬ
exec-timeout 5 0
access-class 11 in
exit
line vty 0 15
password ПАРОЛЬ
login
exec-timeout 5 0
access-class 11 in
exit
Настроим SNMP (11 означает номер access-list):
snmp-server community КОМЬЮНИТИ RO 11
Настроим синхронизацию времени с NTP сервером и период обновления в секундах:
ntp server 192.168.1.1 version 2 source vlan 207
ntp clock-period 36028811
ntp max-associations 1
service timestamps log datetime localtime
По желанию можно отключить web интерфейс:
no ip http server
Любой из команд сохраним конфигурацию:
copy running-config startup-config
write
2. НАСТРОЙКА c VOIP
Общая схема нашей сети будет выглядеть следующим образом:
Cisco VLAN Trunk Configuration
Порты 1-20 будут настраиваться для подключения рабочих мест пользователей: IP-телефон Cisco и компьютер.
В 21-й порт будет подключен маршрутизатор, через который компьютеры имеют доступ в Интернет.
В 22-й порт подключается кабель с Интернетом от провайдера, для обеспечения прямого доступа в Интернет с сервера Asterisk (требуется для внешних SIP-абонентов).
В 23-й порт подключается кабель с Телефонией от оператора связи. Часто оператором связи и провайдером Интернета может быть одна компания, но это — не обязательно. Предлагаемая конфигурация описывает оба этих случая.
В 24-й порт подключается сам сервер телефонии Asterisk.
Настраиваем коммутатор Cisco (на примере Cisco 2960).
Подключаемся к коммутатору в консольном или ssh-режиме. Далее будут идти примеры конфигурации, специалисту ранее работавшим с оборудованием Cisco станет понятно, каким образом реализовать предлагаемую конфигурацию.
Настраиваем порты для пользователей:
Для того чтобы одним разом настроить диапазон, вводим команду:
interface range FastEthernet0/1-19
Далее задаем параметры:
switchport access vlan 10
switchport mode access
switchport voice vlan 20
spanning-tree portfast
Здесь указано, что для компьютеров пользователей выделяется VLAN 10 (тип — access), а для тефонии — VLAN 20 (тип voice). Switchport mode access означает, что порт предназначен для end-user-ов.
Настраиваем порт для подключения маршрутизатора:
Настройка аналогична предыдущей, но мы не задаем Voice-VLAN:
interface FastEthernet0/21
switchport access vlan 10
switchport mode access
spanning-tree portfast
Настраиваем порт для подключения прямого доступа в Интернет:
interface FastEthernet0/22
switchport access vlan 30
switchport mode access
spanning-tree portfast
Настраиваем порт для подключения оператора телефонии:
interface FastEthernet0/23
switchport access vlan 100
switchport mode access
spanning-tree portfast
Настраиваем транковый порт для подключения сервера Asterisk:
Данный порт в отличии от предыдущих будет являться транковым, т.е. будет в тегированном виде пропускать трафик из разных VLAN-подсетей.
interface FastEthernet0/24
switchport trunk allowed vlan 10,20,30,100
switchport mode trunk
Мы указали тип порта и разрешенные для пропуска VLAN-ы.
В целом, настройка VLAN-параметров и интерфейсов коммутатора выполнена.
Опционально рекомендуется настроить на коммутаторе DHCP-сервер, SSH-доступ, отключение лишних служб.
3. Настройка VLAN-интерфейсов на сервере Linux.
Данный пример рассматривается для сервера Linux CentOS.
В первую очередь нужно создать файлы ifcfg-eth0.XXX, где XXX — номера всех VLAN-ов, которые мы будем подключать к серверу. Эти файлы должны лежать в директории /etc/sysconfig/network-scripts/.
В самих файлах будет такое содержимое (при наличии DHCP в той сети, в VLAN которой мы подключаемся):
DEVICE=eth0.10
VLAN=yes
BOOTPROTO=dhcp
ONBOOT=yes
Или таким, при необходимости в явном виде указать IP:
DEVICE=eth0.10
VLAN=yes
BOOTPROTO=none
ONBOOT=yes
HOTPLUG=no
IPADDR=192.168.10.250
NETMASK=255.255.255.0
TYPE=Ethernet
Обратите внимание, где в этом файле указывается к какому сетевому интерфейсу (DEVICE=eth0.10) и к какому VLAN он относится (DEVICE=eth0.10).
Также должен быть основной файл ifcfg-eth0, его содержимое может быть таким (поменяйте MAC-адрес):
DEVICE=eth0
BOOTPROTO=none
HWADDR=90:FB:A6:2F:A0:75
ONBOOT=yes
Таким образом в директории /etc/sysconfig/network-scripts/ у Вас будут расположены следующие файлы, каждый из которых будут прописывать собственные сетевые настройки:
ifcfg-eth0
ifcfg-eth0.10
ifcfg-eth0.20
ifcfg-eth0.30
ifcfg-eth0.100
Для перезапуска интерфейса и применения сетевых настроек запускаем команду service network restart.
Далее, проверяем доступность всех интерфейсов командой ping. Всё должно работать!
Обеспечив доступ к Вашему серверу Asterisk из разных сетей, обязательно ограничьте его и фильтруйте с помощью IPTables!
Использован материал с сайта www.voxlink.ru
4. Как работают BPDUGuard и BPDUFilter
4. Как работают BPDUGuard и BPDUFilter
Кому-то в голову пришло, что spanning-tree можно использовать не только для построения кольцевых топологий, но и для обнаружения потенциальных петель на пользовательских портах. Возможно, тогда это казалось нормальным. Да и сейчас обладателям коммутаторов cisco и juniper настраивать spanning-treeпридется в любом случае. Зато другие производители подсуетились и решили слать в пользовательские порты Loopback Detection (LBD) фреймы, но сейчас не об этом.
Условно коммутаторы можно поделить на три типа:
1. Ничего, кроме spanning-tree нет и spanning-tree на порту отключить нельзя. Это cisco.
2. Ничего, кроме spanning-tree нет, можно отключить spanning-tree глобально или на порту. Это juniper networks.
3. Можно использовать spanning-tree, можно LBD, можно отключить spanning-tree глобально или на порту. Это eltex, dlink, qtech (dcn). Про хуавей не помню, не настраивал stp на них.
Коммутаторы с отключенным глобально или на порту spanning-tree могут принимать BPDU-фреймы и передавать их дальше как обычный мультикастовый трафик с адресом назначения 01:80:C2:00:00:00. Это обязательно произойдет при передаче «нестандартных» BPDU от Cisco PVST на адрес 01:00:0C:CC:CC:CD. Был случай как-то, когда я не мог настроить MSTP между коммутаторами cisco и juniper. Оказалось, что коммутатор cisco получал через порт juniper’а помимо BPDU от MSTP еще и BPDU от Cisco PVST, которые juniper принимал на порту, где stp был отключен. Таким образом, на коммутаторах недостаточно отключить spanning-tree глобально или на порту, необходимо еще и фильтровать BPDU на адреса 01:80:C2:00:00:00 и 01:00:0C:CC:CC:CD.
На всех коммутаторах есть такой функционал «bpdufilter», но реализация у всех разная.
cisco bpdufilter и bpduguard
Bdpufilter фильтрует в обе стороны, т.е. коммутатор отбрасывает все входящие BPDU и не отправляет BPDU в порт. Логично фильтр повесить на порты, которые никак не участвуют в кольцевой топологии, с которых никогда не придет BPDU, например, на порт подключения сервера, на порт подключения маршрутизатора, на стык с провайдером. Особо странный провайдер включает на порту клиента bpduguard и отключит порт при получении bpdu от вашего коммутатора. Поэтому на операторских стыках необходимо вешать фильтр всегда.
interface GigabitEthernet1/0/1
description Server
switchport access vlan 100
switchport mode access
spanning-tree portfast edge
spanning-tree bpdufilter enable
interface GigabitEthernet1/0/2
description Router
switchport trunk encapsulation dot1q
switchport mode trunk
spanning-tree portfast edge trunk
spanning-tree bpdufilter enable
interface GigabitEthernet1/0/3
description Internet
switchport access vlan 5000
switchport mode access
spanning-tree portfast edge
spanning-tree bpdufilter enable
Чтобы при изменении топологии данные порты не проходили все возможные фазы blocking, listening, learning, а переходили сразу в forwarding, необходимо включать portfast. Да, этой дури бы не было, если можно было бы просто отключить spanning-tree на порту. Необходимо учесть, что включенный spanning-tree portfast на транковом порту работать не будет. Тут нужен spanning-tree portfast trunk или spanning-tree portfast edge trunk как в этом примере.
Очень часто видел вот такую вот конструкцию:
interface GigabitEthernet1/0/4
spanning-tree bpdufilter enable
spanning-tree bpduguard enable
В этом примере bpduguard — лишняя команда, так как она работать не будет по причине отработавшего ранее фильтра. Но так только в cisco.
Вот самый распространенный пример, когда используется bpduguard.
interface GigabitEthernet1/0/5
description User
switchport access vlan 200
switchport mode access
spanning-tree portfast edge
spanning-tree bpduguard enable
Для автоматического включения порта необходимо настроить errdisable.
errdisable recovery cause bpduguard
errdisable recovery interval 120
Нужен ли spanning-tree на порту пользователя? Нет не нужен. Но в данном примере протокол spanning-tree циской используется для того чтобы послать BPDU в порт и при получении его по какой-то причине обратно отключить порт. В случае, когда на пользовательской стороне BPDU фильтруются или потерялись, bpduguard не отработает. Увы, никакой другой альтернативы циска не предлагает, поэтому возможна такая ерундистика, когда колец нет в принципе и на всех транках настроен portfast и bpdufilter, а в сторону пользователей — bpduguard. Нормальное такое применение протокола… Круче только ситуация, когда из-за невозможности глобального отключения stp приходится настроить mstp, включить везде bpdufilter и portfast.
Комментарии
Отправить комментарий