Решение channel-group command failed: port not compatible Duplex Mode
Однажды на Cisco Nexus я встречал ошибки подобного типа:
interface Ethernet1/47 ixnfo.com(config-if)# channel-group 3 mode active command failed: port not compatible [Duplex Mode]
Обычно ошибка возникает из-за разных параметров портов и interface port-channel, я добавлял порт в уже созданный interface port-channel и не везде был указан параметр «duplex full». Нужно либо настроить одинаково порты, либо убрать лишние параметры на портах, а потом указать их на interface port-channel и изменения применятся ко всем портам которые состоят в этом port-channel. Можно также удалить новый interface port-channel и при выполнении команды channel-group X он автоматически будет создан. Еще можно добавить к команде «force», чтобы изменить несовпадающие параметры портов, например:
channel-group 3 force mode active
Посмотреть параметры портов можно командами:
show port-channel compatibility-parameters show running-config interface Ethernet 1/47-48 show running-config interface port-channel 3
- Нажмите, чтобы открыть на Facebook (Открывается в новом окне)
- Нажмите, чтобы поделиться на Twitter (Открывается в новом окне)
- Нажмите, чтобы поделиться записями на Pinterest (Открывается в новом окне)
- Нажмите, чтобы поделиться на LinkedIn (Открывается в новом окне)
- Нажмите, чтобы поделиться записями на Tumblr (Открывается в новом окне)
- Нажмите, чтобы поделиться в Telegram (Открывается в новом окне)
- Ещё
- Нажмите, чтобы поделиться записями на Pocket (Открывается в новом окне)
- Нажмите, чтобы поделиться на Reddit (Открывается в новом окне)
- Нажмите, чтобы поделиться в WhatsApp (Открывается в новом окне)
- Нажмите для печати (Открывается в новом окне)
Steinkäfer

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

Без использования STP такое избыточное соединение создаст петлю в сети.
Технологии по агрегированию каналов позволяют использовать все интерфейсы одновременно. При этом устройства контролируют распространение широковещательных фреймов (а также multicast и unknown unicast), чтобы они не зацикливались. Для этого коммутатор, при получении широковещательного фрейма через обычный интерфейс, отправляет его в агрегированный канал только через один интерфейс. А при получении широковещательного фрейма из агрегированного канала, не отправляет его назад.
Хотя агрегирование каналов позволяет увеличить пропускную способность канала, не стоит рассчитывать на идеальную балансировку нагрузки между интерфейсами в агрегированном канале. Технологии по балансировке нагрузки в агрегированных каналах, как правило, ориентированы на балансировку по таким критериям: MAC-адресам, IP-адресам, портам отправителя или получателя (по одному критерию или их комбинации).
То есть, реальная загруженность конкретного интерфейса никак не учитывается. Поэтому один интерфейс может быть загружен больше, чем другие. Более того, при неправильном выборе метода балансировки (или если недоступны другие методы) или в некоторых топологиях, может сложиться ситуация, когда реально все данные будут передаваться, например, через один интерфейс.
Некоторые проприетарные разработки позволяют агрегировать каналы, которые соединяют разные устройства. Таким образом резервируется не только канал, но и само устройство. Такие технологии в общем, как правило, называются распределенным агрегированием каналов (у многих производителей есть своё название для этой технологии).
Агрегирование каналов в Cisco
- LACP (Link Aggregation Control Protocol) стандартный протокол
- PAgP (Port Aggregation Protocol) проприетарный протокол Cisco
- Статическое агрегирование без использования протоколов
Статическое агрегирование
- Не вносит дополнительную задержку при поднятии агрегированного канала или изменении его настроек
- Вариант, который рекомендует использовать Cisco
- Нет согласования настроек с удаленной стороной. Ошибки в настройке могут привести к образованию петель
Агрегирование с помощью LACP
- Согласование настроек с удаленной стороной позволяет избежать ошибок и петель в сети.
- Поддержка standby-интерфейсов позволяет агрегировать до 16ти портов, 8 из которых будут активными, а остальные в режиме standby
- Вносит дополнительную задержку при поднятии агрегированного канала или изменении его настроек
Терминология и настройка
- EtherChannel — технология агрегирования каналов. Термин, который использует Cisco для агрегирования каналов.
- Port-channel — логический интерфейс, который объединяет физические интерфейсы.
- Channel-group — команда, которая указывает какому логическому интерфейсу принадлежит физический интерфейс и какой режим используется для агрегирования.

На схеме, число после команды channel-group указывает какой номер будет у логического интерфейса Port-channel. Номера логических интерфейсов с двух сторон агрегированного канала не обязательно должны совпадать. Номера используются для того чтобы отличать разные группы портов в пределах одного коммутатора.
Общие правила настройки EtherChannel
- скоростью (speed),
- режимом дуплекса (duplex mode),
- native VLAN,
- диапазон разрешенных VLAN,
- trunking status,
- типом интерфейса.
Настройка EtherChannel
Так как для объединения в EtherChannel на интерфейсах должны совпадать многие настройки, проще объединять их, когда они настроены по умолчанию. А затем настраивать логический интерфейс.
Перед объединением интерфейсов лучше отключить их. Это позволит избежать блокирования интерфейсов STP (или перевода их в состояние err-disable).
Для того чтобы удалить настройки EtherChannel достаточно удалить логический интерфейс. Команды channel-group удалятся автоматически.
- Для интерфейсов 3го уровня вручную создается логический интерфейс командой interface port-channel
- Для интерфейсов 2го уровня логический интерфейс создается динамически
- Для обоих типов интерфейсов необходимо вручную назначать интерфейс в EtherChannel. Для этого используется команда channel-group в режиме настройки интерфейса. Эта команда связывает вместе физические и логические порты
- изменения, которые применяются к port-channel интерфейсу, применяются ко всем физическим портам, которые присвоены этому port-channel интерфейсу
- изменения, которые применяются к физическому порту влияют только на порт на котором были сделаны изменения
Синтаксис команды channel-group
sw(config-if)# channel-group mode | >
Параметры команды:
active — Включить LACP,
passive — Включить LACP только если придет сообщение LACP,
desirable — Включить PAgP,
auto — Включить PAgP только если придет сообщение PAgP,
on — Включить только Etherchannel.
Комбинации режимов при которых поднимется EtherChannel:
| Режим PAgP | auto | desirable |
| auto | — | EtherChannel |
| desirable | EtherChannel | EtherChannel |
| Режим LACP | passive | active |
| passive | — | EtherChannel |
| active | EtherChannel | EtherChannel |
Интерфейсы в состоянии suspended
Если настройки физического интерфейса не совпадают с настройками агрегированного интерфейса, он переводится в состояние suspended. Это будет видно в нескольких командах.
Просмотр состояния интерфейсов:
sw1#sh int status
Просмотр информации о EtherChannel:
sw1#sh etherchannel summary
Команды просмотра информации:
sw# show etherchannel summary
sw1#sh etherchannel port-channel
Подробная информация:
sw1#sh etherchannel detail
Настройка EtherChannel 2го уровня
Настройка статического EtherChannel 2го уровня

Перед настройкой агрегирования лучше выключить физические интерфейсы. Достаточно отключить их с одной стороны (в примере на sw1), затем настроить агрегирование с двух сторон и включить интерфейсы.
Настройка EtherChannel на sw1:
sw1(config)# interface range f0/11-14
sw1(config-if-range)# shutdown
sw1(config-if-range)# channel-group 3 mode on Creating a port-channel interface Port-channel 3
Настройка EtherChannel на sw2:
sw2(config)# interface range f0/11-14
sw2(config-if-range)# channel-group 3 mode on Creating a port-channel interface Port-channel 3
Включение физических интерфейсов на sw1:
sw1(config-if-range)# no sh
Настройка EtherChannel 2го уровня с помощью LACP

Перед настройкой агрегирования лучше выключить физические интерфейсы. Достаточно отключить их с одной стороны (в примере на sw1), затем настроить агрегирование с двух сторон и включить интерфейсы.
Настройка EtherChannel на sw1:
sw1(config)# interface range f0/11-14
sw1(config-if-range)# shutdown
sw1(config-if-range)# channel-group 1 mode active Creating a port-channel interface Port-channel 1
Настройка EtherChannel на sw2:
sw2(config)# interface range f0/11-14
sw2(config-if-range)# channel-group 1 mode passive Creating a port-channel interface Port-channel 1
Включение физических интерфейсов на sw1:
sw1(config)# interface range f0/11-14
sw1(config-if-range)# no shutdown
Standby-интерфейсы
LACP позволяет агрегировать до 16ти портов, 8 из которых будут активными, а остальные в режиме standby.

Перед настройкой агрегирования лучше выключить физические интерфейсы. Достаточно отключить их с одной стороны (в примере на sw1), затем настроить агрегирование с двух сторон и включить интерфейсы.
Настройка EtherChannel на sw1:
sw1(config)# interface range f0/11-20
sw1(config-if-range)# shutdown
sw1(config-if-range)# channel-group 1 mode active Creating a port-channel interface Port-channel 1
Настройка EtherChannel на sw2:
sw2(config)# interface range f0/11-20
sw2(config-if-range)# channel-group 1 mode passive Creating a port-channel interface Port-channel 1
Настройка EtherChannel на Cisco
![]()
В этой статье мы расскажем как настроить LACP (Link Aggregation Control Protocol) И PAgP (Port Aggregation Protocol), которые носят гордое название EtherChannels — агрегирование каналов.
На самом деле EtherChannel это технология агрегации (объединения) каналов. Это означает, что мы можем объединить несколько линков в один логический, что позволит увеличить пропускную способность между коммутаторами.
Пример использования
Взглянем на схему ниже:
В рамках данной схемы мы имеем серверную инфраструктуру, которая подключена в коммутатору распределения (distribution switch) через свой коммутатор. За коммутатором распределения сидят коммутаторы доступы, за которым расположились пользовательские рабочие станции:
Если мы подключим два коммутатор линком в 1ГБ/сек, то потенциально, мы можем столкнуться с проблемой «бутылочного горлышка», то есть узкого места. Тогда пользователи испытают проблемы с доступом к серверной ферме.
Используя технологию EtherChannel, мы можем объединить до 8 интерфейсов (физических) в один логический линк (агрегация портов, Port-Channel) и трафик будет распределяться между физическими портами равномерно (балансируя нагрузку).
В нашем примере мы объединили 4 (четыре) гигабитных линка между рабочими станциями и серверами в один, с пропускной способностью 4ГБ/сек. Это увеличило общую пропускную способность и добавило отказоустойчивость линков!
Не забывайте про STP (Spanning-tree protocol). В случае агрегации портов, мы исключаем STP петли.
Режимы EtherChannel
Каждый из протоколов LACP или PAgP имеет по 3 режима работы, которые определяют режим его активности (инициализировать ли построение агрегации со своей стороны, или ждать сигнал с удаленной стороны):
- LACP Modes: ON, ACTIVE, PASSIVE;
- PAgP Modes: ON, DESIRABLE, AUTO;
Давайте посмотрим, в каком из случае будет установлено соединение EtherChannel при различных режимах настройки. Для LACP:
| Коммутатор №1 | Коммутатор №2 | Установится ли EtherChannel? |
|---|---|---|
| ON | ON | Да |
| ACTIVE | ACTIVE/PASSIVE | Да |
| ON/ACTIVE/PASSIVE | Not configured (off) | Нет |
| ON | ACTIVE | Нет |
| PASSIVE/ON | PASSIVE | Нет |
Теперь разберемся с PAgP:
| Коммутатор №1 | Коммутатор №2 | Установится ли EtherChannel? |
|---|---|---|
| ON | ON | Да |
| DESIRABLE | DESIRABLE/AUTO | Да |
| ON/DESIRABLE/AUTO | Not configured (off) | Нет |
| ON | DESIRABLE | Нет |
| AUTO / ON | AUTO | Нет |
Настройка
Ок, предположим, что порты с Gi0/0 по Gi0/3 буду использованы для агрегации EtherChannel. Лучше всего настроить логический интерфейс (агрегированный) в качестве транка, чтобы пропускать VLAN между коммутаторами.
Поднимаем LACP
В нашем случае switch1 будет активном (Active) режиме, а switch2 будет в пассивном (Passive) режиме.
switch1(config)# interface range Gi0/0 -3 // выбираем диапазон из 4х интерфейсов; switch1(config-if-range)# channel-protocol lacp // указываем протокол как LACP; switch1(config-if-range)# channel-group 1 mode active // указываем активный режим; switch1(config-if-range)# exit switch1(config)# interface port-channel 1 // конфигурируем логическую сущность как транк; switch1(config-if)#switchport trunk encapsulation dot1q switch1(config-if)#switchport mode trunk switch2(config)# interface range Gi0/0 – 3 // выбираем диапазон из 4х интерфейсов; switch2(config-if-range)# channel-protocol lacp // указываем протокол как LACP; switch2(config-if-range)# channel-group 1 mode passive // указываем пассивный режим; switch2(config-if-range)# exit switch2(config)# interface port-channel 1 // конфигурируем логическую сущность как транк; switch2(config-if)#switchport trunk encapsulation dot1q switch2(config-if)#switchport mode trunk
Поднимаем PAgP
В этом случае switch1 будет Desirable — режиме, а switch2 будет в автоматическом (Auto) режиме.
switch1(config)# interface range Gi0/0 -3 // выбираем диапазон из 4х интерфейсов; switch1(config-if-range)# channel-group 1 mode desirable // указываем desirable режим; switch1(config-if-range)# exit switch1(config)# interface port-channel 1 // конфигурируем логическую сущность как транк; switch1(config-if)#switchport trunk encapsulation dot1q switch1(config-if)#switchport mode trunk switch2(config)# interface range Gi0/0 – 3 // выбираем диапазон из 4х интерфейсов; switch2(config-if-range)# channel-group 1 mode auto // указываем автоматический режим; switch2(config-if-range)# exit switch2(config)# interface port-channel 1 // конфигурируем логическую сущность как транк; switch2(config-if)#switchport trunk encapsulation dot1q switch2(config-if)#switchport mode trunk
Полезные команды
Вот некоторые команды, которые могут понадобиться вам в работе с EtherChannel:
show etherchannel summary show etherchannel 1 port-channel show interfaces etherchannel
Как удалить port channel cisco
Интерфейсы Bonding являются виртуальными сетевыми интерфейсами, которые объединяют несколько физических сетевых интерфейсов для увеличения отказоустойчивости и пропускной способности канала. Данные интерфейсы работают в соответствии со стандартом IEEE 802.3ad (если настроен протокол LACP).
Примечание. Запрещено объединять в один Bonding интерфейс физические интерфейсы, входящие в разные группы – доверенные и недоверенные. Например, запрещено объединять интерфейсы из LAN и WAN сегментов, так как физические интерфейсы, объединенные в Bonding, становятся неконтролируемыми с точки зрения СКЗИ и МЭ. Соответственно, политику СКЗИ и правили МЭ нужно применять на виртуальном Bonding интерфейсе, который является логическим объединением физических интерфейсов.
Bonding интерфейсы описываются в файлах /etc/network/interfaces.d/bondN .
Примечание. Cisco-like консоль не поддерживает изменение сетевых параметров (MTU/IP адрес/состояние) для Bonding (port channel) интерфейсов.
Рассмотрим пример объединения физических интерфейсов eth1/eth2 в bonding интерфейс с протоколом LACP:
Примечание. Если в файле /etc/network/interfaces или в файлах директории /etc/network/interfaces.d/ присутствуют строки с настройками для интерфейсов eth1 и eth2, то необходимо их удалить (изменять файл /etc/ifaliases.cf относительно данных интерфейсов не нужно).
Примечание. Bonding интерфейсы описываются в файлах /etc/network/interfaces.d/bondN
Если настройка интерфейсов выполняется в файлах в директории /etc/network/interfaces.d/, то в файле /etc/network/interfaces должна быть ссылка на указанную директорию вида:
1. Отредактируйте файл /etc/network/interfaces.d/bond0 , добавив в него описание для Bonding (port channel) интерфейса, например:
root@sterragate:~# cat /etc/network/interfaces.d/bond0
iface bond0 inet static
slaves eth1 eth2
· address – IP адрес логического интерфейса bond0;
· netmask – сетевая маска для IP адрес логического интерфейса;
· mtu – параметр для задания MTU интерфейса; значение по умолчанию – 1500; при изменении MTU интерфейса bond0 меняется MTU и объединяемых интерфейсов eth1 и eth2;
· slaves – имена физических интерфейсов, объединяемых в агрегированный канал;
· bond_mode – настройка, отвечающая за протокол, который обеспечивает работу агрегации каналов (в данном примере – это LACP, который основан на стандарте 802.3ad);
· bond_miimon – параметр, определяющий интервал времени в миллисекундах. Через заданное время будет происходить проверка физических интерфейсов на их доступность;
· bond_xmit_hash_policy – параметр, определяющий уровень (в соответствии с эталонной моделью OSI), на котором будет происходить вычисление хеш-функции для последующей балансировки трафика.
2. Чтобы Bonding интерфейс bond0 появился в системе, выполните команду ifup bond0 , после чего убедитесь, что данный интерфейс действительно доступен в системе, а интерфейсы eth1/eth2 добавлены в bond0:
root@sterragate:~# ifup bond0
root@sterragate:~# ip address show bond0
136: bond0: mtu 1500 qdisc noqueue state UP
link/ether 00:50:56:9e:bf:69 brd ff:ff:ff:ff:ff:ff
inet 192.168.2.1/24 brd 192.168.2.255 scope global bond0
root@sterragate:~# ip address show eth1
3: eth1: mtu 1500 qdisc pfifo_fast master bond0 state UP qlen 1000
link/ether 00:50:56:9e:bf:69 brd ff:ff:ff:ff:ff:ff
root@sterragate:~# ip address show eth2
4: eth2: mtu 1500 qdisc pfifo_fast master bond0 state UP qlen 1000
link/ether 00:50:56:9e:bf:69 brd ff:ff:ff:ff:ff:ff
Видно, что Bonding интерфейс bond0 присутствует в системе и сконфигурирован, а также интерфейсы eth1/eth2 добавлены в bond0. Расширенную информацию о bond0 можно посмотреть при помощи команды cat / proc / net / bonding / bond 0 .
3. Добавьте Bonding интерфейс bond0 в файл /etc/ifaliases.cf :
root@sterragate:~# cat /etc/ifaliases.cf
interface (name=»GigabitEthernet0/0″ pattern=»eth0″)
interface (name=»GigabitEthernet0/1″ pattern=»eth1″)
interface (name=»GigabitEthernet0/2″ pattern=»eth2″)
interface (name=»Port-channel1″ pattern=»bond0″)
interface (name=»default» pattern=»*»)
· значение параметра name должно быть задано в виде Port-channelN.
· значение параметра pattern должно соответствовать имени Bonding интерфейса в нотации Linux.
4. Пересчитайте контрольную сумму файлa /etc/ifaliases.cf :
root@sterragate:~# integr_mgr calc -f /etc/ifaliases.cf
SUCCESS: Operation was successful.
5. Перезапустите VPN сервис:
root@sterragate:~# service vpngate restart
Теперь для интерфейса Port-channel1 можно задать политику СКЗИ и правила МЭ посредством Cisco-like консоли или LSP.