Cisco - резервирование маршрутизаторов

Для резервирование маршрутизатора Cisco (или коммутатора 3-го уровня) можно воспользоваться одним из следующих протоколов: HSRP, VRRP, GLBP. 

Протокол HSRP (Hot Standby Router Protocol или Hot Standby Redundancy Protocol) проприетарный протокол Cisco, выполняет резервирование путём использования на двух или более маршрутизаторах одного виртуального IP и MAC адреса. Маршрутизаторы объединяются в HSRP группу в ней и задаются параметры (виртуальный IP адрес, имя группы, тайминги для переключения с резервного на активный и прочее). Таких групп может быть несколько (в первой версии HSRP протокола групп может быть 255, во второй — 4096) .  Виртуальный IP адрес должен быть из той же сети, в которой находится маршрутизатор и не может совпадать с уже использованными IP адресами. В HSRP группе один роутер является активным (active), который осуществляет передачу пакетов, и только один резервным (standby). Остальные роутеры могут быть только слушателями.
Маршрутизаторам можно задавать приоритет, активным роутером становится маршрутизатор с наивысшим приоритетом, если приоритет одинаковый, то активным становится маршрутизатором с большим IP адресом. 

Протокол  VRRP (Virtual Router Redundancy Protocol) создан на основе протокола HSRP. Принцип работы протокола похож на работу HSRP. Группа маршрутизаторов объединяется в один виртуальный роутер, и им назначается один общий IP адрес. Как и в протоколе HSRP можно использовать несколько HSRP групп, здесь один маршрутизатор может так же одновременно находиться в нескольких виртуальных роутерах. Только один из физических маршрутизаторов становится главным (VRRP Master router), который выполняет маршрутизацию, остальные будут резервными (VRRP Backup router). В отличии от HSRP протокола в VRRP может быть несколько резервных маршрутизаторов а не один. 
Плюсом VRRP является то, что в качестве виртуального IP адреса можно использовать уже назначенный IP адрес на интерфейсе маршрутизатора, что нельзя делать в протоколе HSRP. 
К то му же протокол VRRP это открытый стандарт, а HSRP проприетарный протокол Cisco. Поэтому если используется оборудование от разных вендоров, то лучше использовать протокол VRRP.

Протокол GLBP (Gateway Load Balancing Protocol) проприетарный протокол Cisco, предназначен для резервирования маршрутизаторов Cisco а так же балансировки их нагрузки. Балансировка нагрузки осуществляется за счёт использования одного общего  IP адреса и нескольких MAC адресов. В отличии от HSRP и VRRP, здесь в маршрутизации участвуют все роутеры виртуальной группы.

Поддерживается четыре режима работы GLBP:

1. None — режим, в котором не используется балансировка. В этом случае активный виртуальный шлюз отвечает на ARP запросы только своим MAC адресом. Работа в этом режиме аналогична работе протокола HSRP. Второй маршрутизатор начинает работу, если первый станет не доступен.

2. Weighted Load Balancing — балансировка нагрузки происходит пропорционально весу маршрутизатора. Вес маршрутизатора может задаваться администратором.

3. Host Dependant Load Balancing — определённый хост будет всегда передавать через один и тот же маршрутизатор в группе. Удобно при использовании NAT.

4. Round Robin Load Balancing — виртуальный MAC адрес каждого маршрутизатора будет подставляться в ответ на ARP запрос для виртуального IP по очереди.

 

Настройку каждого из протоколов рассмотрим в следующих статьях.

 Иногда требуется перенести настройки Putty, например при переезде на другой компьютер или переустановке операционной системы.

Программа Putty

Настройки программы Putty, установленной в ОС Windows хранятся в реестре, ветка: HKEY_CURRENT_USER\Software\SimonTatham\PuTTY

Для переноса настроек необходимо экспортировать данную ветку с исходного компьютера и импортировать её на новом компьютере.

Читать далее

Общие сведения.

VTP — VLAN Trunking Protocol, позволяет облегчить администрирование коммутаторов, а именно управление VLAN-ами на коммутаторах Cisco. С VTP можно создавать, изменять или удалять VLAN-ы на VTP сервере и все эти изменения автоматически перенесутся на все коммутаторы в одном домене VTP. Что избавляет администратора от конфигурирования VLAN на каждом коммутаторе.
Существует три режима работы VTP (VTP mode):

1. VTP Server — серверный режим.В этом режиме можно создавать, удалять и изменять VLAN-ы, а так же задавать различные параметры, такие как версию протокола (vtp version), vtp фильтрацию (vtp pruning) для всего VTP домена. VTP сервер извещает о своей конфигурации VLAN-ов другие коммутаторы, находящиеся в том же VTP домене, и синхронизирует их конфигурацию VLAN. Так же VTP сервер может синхронизировать свою конфигурацию с конфигурацией VTP клиента, если у клиента выше номер ревизии конфигурации. Обмен VTP информацией проиcходит через ТРАНКВЫЕ порты.

2. VTP Client — режим клиента. На коммутаторе с режимом VTP Client нельзя создавать, удалять или изменять VLAN-ы. Всю настройку VLAN-ов коммутатор берёт от VTP сервера.

3. VTP Transparent — прозрачный режим. В этом режиме коммутатор не применяет себе конфигурацию VLAN от VTP сервера и не извещает о своей конфигурации другие коммутаторы, но позволяет пропускать через свои транковые порты VTP извещения от других коммутаторов.

Перед настройкой VTP нужно знать:

— Все коммутаторы в сети должны иметь одно и тоже имя домена VTP (VTP domain)
— Все коммутаторы в одном VTP домене должны использовать одну и туже версию протокола VTP (VTP version)
— Все коммутаторы в одном VTP домене должны использовать один и тот же VTP пароль, если он установлен (VTP password)
— Все VTP сервера, должны иметь одинаковый номер ревизии конфигурации, и этот номер должн быть наибольшим в VTP домене (VTP revision number)
— При смене режима Transparent на Server, VLAN-ы которые были на коммутаторе в прозрачном режиме должны существовать на VTP сервере.
— В версии протокола 1 и 2 анонсируются VLAN-ы только из основного ( VLAN 1-1005) диапазона,  если нужен расширенный диапазон (VLAN 1006-4094), то следует использовать версию VTP 3.

 

Настройка Cisco VTP.

Конфигурирование VTP, в зависимости от устройства и версии IOS, осуществляется либо в режиме VLAN database либо в режиме глобального конфигурирования.

Читать далее

Технология VLAN позволяет разделять сеть на логические сегменты. Каждый такой логический сегмент имеет свой широковещательный домен. Уникастовый, бродкастовый и мультикастовый трафик передается только между устройствами входящими в один VLAN. VLAN часто используется для разделения IP сегментов сети, с последующей маршрутизацией и фильтрацией трафика между разными VLAN на маршрутизаторе или на L3 коммутаторе.

Как настраивать VLAN на Cisco роутере можно посмотреть в статье Cisco VLAN — настройка vlan на маршрутизаторе Cisco. Здесь речь пойдёт о настройке VLAN на коммутаторах  Cisco Catalyst.

Перед настройкой VLAN на коммутаторе, необходимо определиться будет ли в сети использоваться протокол VTP (VLAN Trunking Protocol) или нет. Использование VTP облегчает управление (создание, удаление, переименовывание) VLAN-ами в сети. В случае с VTP изменение (информацию о VLAN) можно внести централизованно, на одном коммутаторе, и эти изменения распространятся на другие коммутаторы в сети. Если не использовать VTP, то изменения нужно вносить на каждом коммутаторе.

VTP накладывает свои ограничения: протокол VTP версии 1 и 2 поддерживает только базовый диапазон VLAN (c 1 по 1005), поддержка расширенного диапазона (с 1006 по 4094) возможна только в версии протокола 3. Поддержка протокола  VTP 3 версии начинается с  Cisco IOS версии 12.2(52)SE и выше. Настройку протокола VTP рассмотрим в другой статье, а в этой будем подразумевать, что не используем VTP.

 

Настройку VLAN на коммутаторе можно выделить в три этапа: создание VLAN, настройка портов, проверка.

 

1. Создание VLAN на Cisco Catalyst

Номера VLAN (VLAN ID) могут быть в диапазоне от 1 до 4094:

 1 — 1005  базовый диапазон (normal-range)

 1002 — 1005 зарезервированы для Token Ring и FDDI VLAN

 1006 — 4094 расширенный диапазон (extended-range)

  Читать далее

Что бы маршрутизировать или терминировать трафик из разных подсетей, разделенных vlan-ами, нужно произвести соответствующую настройку на порту маршрутизатора. Со стороны коммутатора также нужна настройка порта, он должен быть настроен в режиме передающем и тегирующем все необходимые VLAN, в коммутаторах cisco такой порт называется транковым (trunk), в коммутаторах D-Link, 3Com и пр. такой порт называется tagged.

На маршрутизаторе Cisco настройка VLAN может быть произведена либо на отдельном физическом интерфейсе для каждого VLAN, либо на одном физическом интерфейсе для всех необходимых VLAN. 

Использовать отдельный физический порт для каждого номера VLAN нецелесообразно, не выгодно и  не логично, так как тратится много физических портов.

В случае использования одного физического интерфейса, настраивается отдельный логический подинтерфейс для каждого номера VLAN. В подинтерфейсе задаются необходимые параметры (номер VLAN, IP адрес, маска сети, acl и пр.)

Подинтерфейс на Cisco роутере можно создать в режиме глобальной конфигурации командой: «interface IFName IFNum.SubIfNum» (IFName — имя физического интерфейса, IFNum — номер физического интерфейса, SubIfNum — номер логического интерфейса/подинтерфейса)

Номер VLAN в режиме конфигурации подинтерфейса задаётся командой: «encapsulation dot1Q VlanNum» (VlanNum — номер VLAN)

 

Пример настройки подинтерфейсов для VLAN 100 и VLAN 200 на Cisco маршрутизаторе:

interface FastEthernet0/0
  ip address 192.168.0.254 255.255.255.0
  duplex auto
  speed auto
!
interface FastEthernet0/0.100
  encapsulation dot1Q 100
  ip address 192.168.100.254 255.255.255.0
!
interface FastEthernet0/0.200
  encapsulation dot1Q 200
  ip address 192.168.200.254 255.255.255.0
!

В данном примере трафик с тегами 100 и 200 (vlan100 и vlan200) будет попадать на подинтерфейсы FastEthernet0/0.100 и FastEthernet0/0.200 соответственно. Не тегированный трафик (native), по умолчанию VLAN 1, в данном случае будет обрабатываться на физическом интерфейсе FastEthernet0/0 с заданным ip адресом 192.168.0.254

Номер подинтерфейса не обязательно должен совпадать с номером VLAN, так просто нагляднее.

Как настраивать VLAN на коммутаторах Cisco Catalyst и на фаерволе Cisco ASA, рассмотрим в следующих статьях.

 

1. Модуль ядра для работы с VLAN

Для работы в Linux с VLAN необходимо загрузить модуль ядра: 8021q

# modprobe 8021q

Для этого, ядро должно быть сконфигурировано с поддержкой стандарта IEEE 802.1Q (включается при конфигурировании ядра: в kernel/net/8021q включить 802.1Q VLAN Support или в Network options / 802.1Q VLAN Support). Во многих современных дистрибутивах Linux (Debian, CentOS, openSUSE и т.д) такая поддержка уже включена в ядре и модуль можно загружать.

 

 2. Использование утилиты vconfig для настройки VLAN

Что бы настроить на интерфейсе необходимые VLAN, можно воспользоваться утилитой vconfig она находится в пакете vlan либо в пакете vconfig, в зависимости от дистрибутива Linux.

vconfig имеет следующие опции:

 add [interface-name] [vlan_id] — добавить VLAN с номером vlan_id (от 0 до 4095) на интерфейсе interface-name

 rem [vlan-name] — удалить VLAN, именованый как vlan-name (имя vlan-name зависит от того, какой тип именования выбран см. ниже)

 set_flag [interface-name] [flag-num] [0 | 1] — указывает следует ли делать перестановку (reorder) заголовка Ethernet кадра. Если значение 1 — перестановка включена, и трафик в снифферах (tcpdump и т.д)  будет выглядеть как трафик обычного сетевого устройства без тегов VLAN. Если значение — перестановка отключена, и трафик видится с тегами VLAN. Значение по умолчанию: 0.

 set_egress_map [vlan-name] [skb_priority] [vlan_qos— указывает, что для исходящих пакетов через vlan-name с определённым приоритетом буфера сокетов (sk_buff) skb_priority, должна выполняться маркировка приоритета VLAN в значение vlan_qos (3-х битное значение в VLAN заголовке). По умолчанию значение приоритета VLAN vlan_qos: 0.

 set_ingress_map [vlan-name] [skb_priority] [vlan_qos— указывает, что входящие пакеты через vlan-name с определённым приоритетом VLAN vlan_qos, должны помещаться в очередь буфера сокетов с приоритетом  skb_priority. Значение по умолчанию приоритета очереди буфера сокетов skb_priority: 0.

 set_name_type [name-type] — задаёт тип именования VLAN интерфейсов, при их добавлении. Возможные значения name-type:
    VLAN_PLUS_VID — имя vlan-name будет вида  vlan0020
    VLAN_PLUS_VID_NO_PAD — имя vlan-name будет вида vlan20
    DEV_PLUS_VID — имя vlan-name будет вида eth0.0020
    DEV_PLUS_VID_NO_PAD — имя vlan-name будет вида eth0.20

  Читать далее

1. Драйвер bonding

Объединение сетевых карт в Linux можно осуществить с помощью драйвера bonding, он предоставляет методы для агрегирования нескольких сетевых интерфейсов в один логический. Поведение связанных интерфейсов зависит от режима. В общем случае, объединенные интерфейсы могут работать в режиме горячего резерва (отказоустойчивости) или в режиме балансировки нагрузки.

Многие ядра в популярных дистрибутивах Linux имеют этот драйвер в виде модуля bonding и утилиты пользовательского уровня ifenslave для управления им. Утилита ifenslave может не быть установлена, тогда её нужно установить отдельно.

Если ядро без поддержки bonding, то для его использования, необходимо сконфигурировать (при конфигурировании ядра командами «make menuconfig» или «make xconfig» или
«make config«, в секци «Network device support» выбрать «Bonding driver support«), собрать и установить ядро. После установить утилиту ifenslave.

Драйвер bonding имеет опции. Эти опции можно задать как аргументы в командах insmod или modprobe, обычно их задают в файле «/etc/modules.conf» или в файле «/etc/modprobe.conf», так же опции могут задаваться в специфичных конфигурационных файлах для определённых дистрибутивов.

 

2. Параметры (опции) модуля bonding

 mode — определяет политику поведения объединенных интерфейсов. Возможные значения:

 balance-rr       или 0 Политика round-robin. Пакеты отправляются последовательно, начиная с первого доступного интерфейса и заканчивая последним. Эта политика применяется для балансировки нагрузки и отказоустойчивости
 active-backup или Политика активный-резервный. Только один сетевой интерфейс из объединённых будет активным. Другой интерфейс может стать активным, только в том случае, когда упадёт текущий активный интерфейс. При такой политике MAC адрес bond интерфейса виден снаружи только через один сетевой порт, во избежание появления проблем с коммутатором. Эта политика применяется для отказоустойчивости.
 balance-xor    или Политика XOR. Передача распределяется между сетевыми картами используя формулу: [( «MAC адрес источника» XOR «MAC адрес назначения») по модулю «число интерфейсов»]. Получается одна и та же сетевая карта передаёт пакеты одним и тем же получателям. Опционально распределение передачи может быть основано и на политике «xmit_hash».  Политика XOR применяется для балансировки нагрузки и отказоустойчивости. 
 broadcast       или  Широковещательная политика. Передает всё на все сетевые интерфейсы. Эта политика применяется для отказоустойчивости.
 802.3ad           или 4  Политика агрегирования каналов по стандарту IEEE 802.3ad. Создаются агрегированные группы сетевых карт с одинаковой скоростью и дуплексом. При таком объединении передача задействует все каналы в активной агрегации, согласно стандарту IEEE 802.3ad. Выбор через какой интерфейс отправлять пакет определяется политикой, по умолчанию XOR политика, можно использовать «xmit_hash» политику. 
Требования:
1. Поддержка Ethtool в драйвере, для получения информации о скорости и дуплексе на каждом сетевом интерфейсе
2. Поддержка на коммутаторе стандарта IEEE 802.3ad
3. Настройка на коммутаторе
 balance-tlb     или 5 Политика адаптивной балансировки нагрузки передачи. Исходящий трафик распределяется в зависимости от загруженности каждой сетевой карты (определяется скоростью загрузки). Не требует дополнительной настройки на коммутаторе. Входящий трафик приходит на текущую сетевую карту. Если она выходит из строя, то другая сетевая карта берёт себе MAC адрес вышедшей из строя карты. 
Требования:
1. Поддержка Ethtool в драйвере, для получения информации о скорости загрузки на каждом сетевом интерфейсе.
 balance-alb    или 6 Политика адаптивной балансировки нагрузки. Включает в себя политику balance-tlb плюс осуществляет балансировку входящего трафика. Не требует дополнительной настройки на коммутаторе. Балансировка входящего трафика достигается путём ARP переговоров. Драйвер bonding перехватывает ARP ответы, отправляемые с локальных сетевых карт наружу, и переписывает MAC адрес источника на один из уникальных MAC адресов сетевой карты, участвующей в объединении. Таким образом различные пиры используют различные MAC адреса сервера. Балансировка входящего трафика распределяется последовательно (round-robin) между интерфейсами.
Требования:
1. Поддержка Ethtool в драйвере, для получения информации о скорости загрузки на каждом сетевом интерфейсе.
2. Поддержка в драйвере замены MAC адреса на включенном устройстве.
3. Возможно придётся корректировать значение параметра updelay равным или большим, чем значение задержки на коммутаторе (что бы ARP ответы небыли заблокированы на коммутаторе при переподключении линка, либо при добавлении новой сетевой карты в bonding)

  Читать далее

Для того, что бы получить возможность  настройки Wi-Fi соединения в виртуальной среде Vmware, Virtualbox и пр. можно взять USB Wi-Fi карту, вставить её в хостовый компьютер и подключить к виртуальной машине. После чего в гостевой ОС появится это wi-fi устройство, дальнейшая работа с ним происходит как и в обычном компьютере (установка драйвера, настройка, использование).

 В Vmware Player для подключения Wi-Fi карты, необходимо выполнить действия: в меню раскрыть «Player» в нём выбрать «Removable Devices«, из предложенного списка указать «нужную Wi-Fi карту« и нажать «Connect«, как показано на рисунке ниже.

Vmware Wi-Fi Connetct

Читать далее

1. Установка драйвера Wi-Fi карты в Linux

Для работы wi-fi карты необходим драйвер. Нужного драйвера может не быть в системе. Что бы узнать какое устройство (сетевая карта) используется, можно посмотреть ID производителя и ID устройства с помощью команды «lspci -nn» или, если USB карта, «lsusb» эти команды выводят список устройств в системе, а также показывают их идентификатор. Пример строки из вывода команды lsusb:

Bus 001 Device 002: ID 0bda:8176 Realtek Semiconductor Corp. RTL8188CUS 802.11n WLAN

 Видно, что wi-fi карточка Realtek, модель: RTL8188CUS,  ID у неё: 0bda:8176 (первые четыре шестнадцатеричные цифры — это ID производителя, вторые — ID устройства). В данном случае модель уже известна и искать её по номеру ID  нет смысла. Многие драйвера для проводных и беспроводных карт Realtek собраны в пакете firmware-realtek, однако после его установки и подключения usb wi-fi карты, беспроводной интерфейс у меня не появился. Тогда я скачал с сайта производителя драйвера нужной мне модели под Linux(Unix). В архиве находились исходные тексты драйвера, скрипт установки «install.sh» и документация. После запуска скрипта install.sh, произошла компиляция модуля драйвера (8192cu) и его установка в систему. После чего появился беспроводной интерфейс wlan0.

Узнать, что он появился можно командой «ifconfig -a«

Читать далее

Для конфигурирования PPPoE клиента в Linux, можно воспользоваться пакетом pppoeconf  (зависит от пакета ppp)

Мастер настройки запускается командой pppoeconf и выполняет следующие шаги

1.  Производится поиск Ethernet устройств, если найдены не все устройства, то предлагается установить драйвер с помощью modconf

Поиск Ethernet устройств

  Читать далее