Тот, кто не смотрит вперед, оказывается позади (Д. Герберт).

10 примеров команды brctl в Linux для сетевого Ethernet моста

FavoriteLoadingДобавить в избранное
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (2 оценок, среднее: 5,00 из 5)
Загрузка...
23 сентября 2018
10 примеров команды brctl в Linux для сетевого Ethernet моста
brctl означает Bridge Control.

В Linux эта команда используется для создания и управления мостом Ethernet.

Обычно это используется, когда на ваших серверах имеется несколько сетей ethernet, и вы хотите их объединить и представить как одну логическую сеть.

Например, если у вас есть eth0 и eth1, вы можете объединить их и представить их как просто br0, которые будут использовать как eth0, так и eth1 для сетевого трафика.

В этой статье мы рассмотрим следующее:

  1. Создание нового моста Ethernet с помощью addbr
  2. Показать доступный мост Ethernet с использованием show
  3. Удалить существующий мост Ethernet с помощью delbr
  4. Добавить интерфейс к существующему мосту
  5. Добавление нескольких интерфейсов к существующему мосту
  6. Отслеживание MAC-адреса моста
  7. Установите время старения для Mac-адреса на мосту
  8. Настройка связующего дерева на мосту Ethernet
  9. Отображение значений параметра STP для моста
  10. Изменить значения параметров моста

1. Создайте новый мост Ethernet с помощью addbr

Используя brctl addbr, мы можем создать новый мост Ethernet.

В следующем примере мы создали три сетевых моста на этом сервере: dev, stage и prod.

brctl addbr dev

brctl addbr stage

brctl addbr prod

 

Обратите внимание, что на данном этапе это всего лишь пустой мост Ethernet, на котором нет другой сети Ethernet.

2. Показать доступный мост Ethernet с использованием show

Используя brctl show, мы можем просмотреть все доступные сетевые мосты на вашем сервере.

В следующем примере будут отображаться все текущие экземпляры трех мостов, которые мы только что создали.

# brctl show
bridge name     bridge id               STP enabled     interfaces
dev             8000.000000000000       no
prod            8000.000000000000       no
stage           8000.000000000000       no

 

Если вы заметите, что последний столбец «interfaces» не имеет значений. Это означает, что ни один из этих мостов в настоящее время не имеет связанного с ним Ethernet-устройства.

3. Удалите существующий мост Ethernet с помощью delbr

Используя brctl delbr, мы можем удалить существующий мост ethernet.

В следующем примере удаляется экземпляр «stage» моста ethernet.

brctl delbr stage

 

Как вы видите из команды show, мы больше не видим «stage» моста ethernet.

# brctl show
bridge name     bridge id               STP enabled     interfaces
dev             8000.000000000000       no
prod            8000.000000000000       no

 

Обратите внимание, что когда мост активен (т.е. поднят), его можно удалить. Сначала нужно снести мост, а затем удалить его.

Также обратите внимание, что ранее команда brctl называлась brcfg.

4. Добавьте интерфейс к существующему мосту

Используя brctl addif, мы можем добавить интерфейс к существующему мосту Ethernet.

Следующий пример добавит сеть ethernet eth0 к мосту «dev», который мы только что создали.

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

brctl addif dev eth0

 

В приведенном выше:

  • Это действительно сделает eth0 как порт моста «dev».
  • Таким образом, все пакеты, которые поступают на eth0, будут обрабатываться так, как будто они действительно прибывают на мост.
  • Кроме того, когда пакеты отправляются на мост «dev», он будет использовать eth0. Когда несколько интерфейсов являются частью моста «dev», eth0 будет потенциальным кандидатом для отправки исходящих кадров с моста.

После добавления моста eth0 к «dev» команда brctl show отобразит следующее.

# brctl show
bridge name     bridge id               STP enabled     interfaces
dev             8000.0050568954bc       no              eth0
prod            8000.000000000000       no

 

Как видно из приведенного выше вывода, последний столбец «interfaces» имеет значение eth0 для моста «dev».

Примечание. Если что-то пойдет не так, добавив eth0 на мост «dev», выполните следующую команду с консоли, чтобы удалить мост dev.

# brctl delbr dev

 

Обратите внимание, что если вы попытаетесь добавить интерфейс loopback к мосту, вы получите следующую команду недопустимого аргумента.

# brctl addif dev lo
can’t add lo to bridge dev: Invalid argument

 

Как вы можете себе представить, вы не можете добавить интерфейс, который не существует в системе для моста.

# brctl addif dev eth2
interface eth2 does not exist!

 

5. Добавьте несколько интерфейсов в существующий мост.

В приведенном выше примере мы добавили к мосту только одно Ethernet-устройство (eth0).

Но вся идея использования моста заключается в добавлении дополнительных интерфейсов к мосту.

В следующем примере мы добавляем как eth0, так и eth1 к мосту «dev».

# brctl addif dev eth0 eth1

 

Как видно из следующего вывода, для dev-моста мы видим две строки. В последнем столбце «interfaces» мы видим как eth0, так и eth1 для «dev» ethernet-моста.

# brctl show
bridge name     bridge id               STP enabled     interfaces
dev             8000.0050568954bc       no              eth0
                                                        eth1
prod            8000.000000000000       no

 

Примечание
Если конкретный интерфейс Ethernet уже является частью моста, вы не можете добавить его на другой мост.

В принципе, одна сеть может быть частью только одного моста. Если нет, мы получим следующее сообщение об ошибке при попытке добавить его на другой мост.

# brctl addif prod eth1
device eth1 is already a member of a bridge; can't enslave it to bridge prod

 

6. Отслеживание MAC-адреса моста

Используя brctl showmacs, мы можем видеть все MAC-адреса моста.

В следующем примере, на данный момент, следующие два адреса mac, которые подключены к мосту ethernet «prod». Эти данные будут меняться в зависимости от текущего состояния того, что связано с мостом.

# brctl showmacs prod
port no mac addr                is local?       ageing timer
1       00:50:56:89:54:bc       yes                0.00
2       00:60:50:46:bc:40       no                 0.00

 

7. Установите время старения для Mac-адреса на мосту

В следующем примере мы устанавливаем время старения адреса mac на 120 секунд на модеме «dev».

brctl setaging dev 120

 

В приведенном выше:

  • dev – это имя моста, где мы устанавливаем это значение
  • 120 секунд
  • Итак, если пакет не отображается для моста «dev» за 120 секунд, тогда мост «dev» удалит адрес mac из базы данных пересылки.

8. Установка связующего дерева на мосте Ethernet

Используя brctl stp, мы можем установить связующее дерево на мосте Ethernet.

Но по умолчанию, spanning tree не включен, когда мы создаем мост.

Spanning tree полезно, когда у вас несколько мостов в вашей сети, и все они могут сотрудничать, чтобы найти кратчайший путь между двумя ethernets.

В следующем примере мы включаем связующее дерево на ethernet-мосте «dev».

Мы можем использовать on или yes для включения spanning tree. Таким образом, обе следующие команды будут делать то же самое.

brctl stp dev on

brctl stp dev yes

 

Как видно из следующего вывода на экране, значения в столбце «STP enabled» для моста «dev» теперь «yes».

# brctl show
bridge name     bridge id               STP enabled     interfaces
dev             8000.000000000000       yes
prod            8000.000000000000       no

 

Чтобы отключить связующее дерево  на мосту Ethernet, выполните следующие действия:

# brctl stp dev off

# brctl show
bridge name     bridge id               STP enabled     interfaces
dev             8000.000000000000       no
prod            8000.000000000000       no

 

9. Отображение значений параметра STP для моста

STP обозначает протокол Spanning Tree.

После того, как вы включили stp на вашем мосту, вы можете использовать showstp, как показано ниже, для просмотра всех значений параметра stp вашего моста.

Ниже будет показан параметр stp и его текущее значение для моста «dev».

# brctl showstp dev
dev
 bridge id              000a.000000000000
 designated root        000a.000000000000
 root port                 0       path cost                  0
 max age                  19.99    bridge max age            19.99
 hello time                1.99    bridge hello time          1.99
 forward delay            14.99    bridge forward delay      14.99
 ageing time             299.95
 hello timer               0.00    tcn timer                  0.00
 topology change timer     0.00    gc timer                   0.00
 hash elasticity           4       hash max                 512
 mc last member count      2       mc init query count        2
 mc router                 1       mc snooping                1
 mc last member timer      0.99    mc membership timer      259.96
 mc querier timer        254.96    mc query interval        124.98
 mc response interval      9.99    mc init query interval    31.24
 flags

 

10. Изменение значения параметров моста

Значения по умолчанию для параметра spanning tree для конкретного моста могут быть изменены. Вы также можете изменить другие значения параметров созданного моста.

Все следующие команды набора, упомянутые в таблице ниже, начинаются с brctl. Например:

brctl setageing dev 100

 

В следующей таблице показаны доступные команды набора для brctl. Значение времени находится в секундах.

команда brctlОписание
setageing bridge timeУстановите время старения
setbridgeprio bridge prioУстановите приоритет моста (от 0 до 65535)
setfd bridge timeУстановить задержку перемычки моста
sethello bridge timeУстановить время приветствия
setmaxage bridge timeУстановить максимальный возраст сообщения
setgcint bridge timeУстановите интервал сбора мусора в секундах
sethashel bridge intУстановить эластичность hash
sethashmax bridge intУстановить максимальный hash
setmclmc bridge intУстанавливать счетчик последнего члена многоадресной рассылки
setmcrouter bridge intУстановка многоадресного маршрутизатора
setmcsnoop bridge intНастройка многоадресного отслеживания
setmcsqc bridge intЗадайте количество запросов на запуск многоадресной рассылки
setmclmi bridge timeУстанавливать интервал последнего члена многоадресной рассылки
setmcmi bridge timeУстановите интервал членства в многоадресном
setmcqpi bridge timeУстановите интервал многоадресного запроса
setmcqi bridge timeУстановка интервала межсетевого запроса
setmcqri bridge timeЗадать интервал ответа многоадресного запроса
setmcqri bridge timeЗадать интервал запроса многоадресной загрузки
setpathcost bridge port costУстановить стоимость пути
setportprio bridge port prioУстановите приоритет порта (от 0 до 255)
setportmcrouter bridge port intУстановить многоадресный маршрутизатор портов
sethashel bridge intУстановить значение эластичности хэша

 

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Просмотров: 80

Если статья понравилась, то поделитесь ей в социальных сетях:

Добавить комментарий

Войти с помощью: 

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам:

Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!

badge
Обратный звонок 1
Отправить
galka

Спасибо! Ваша заявка принята

close
galka

Спасибо! Ваша заявка принята

close