- Brctl linux что такое
- Синтаксис
- Описание
- Экземпляры
- Порты
- Время жизни
- Замечания
- man:brctl
- Материал из Xgu.ru
- Содержание
- [править] Имя
- [править] Синтаксис
- [править] Описание
- [править] Экземпляры
- [править] Порты
- [править] Время жизни
- [править] Spanning Tree Protocol (Протокол остовного дерева)
- [править] Замечания
- brctl addif и brctl addbr
- Опции, которые могут потребоваться при работе с сетевыми мостами:
Brctl linux что такое
Эта страница является переводом официальной man-страницы программы brctl , предназначенной для настройки модуля bridge ядра Linux виртуального ethernet-моста Linux Bridge.
brctl — управление ethernet-мостом
Синтаксис
Описание
Программа brctl предназначена для создания, сопровождения и просмотра конфигурации модуля Ethernet-моста birdge в ядре Linux.
Ethernet-мост это устройство используемое для соединения разных Ethernet-сетей между собой так, что эта сеть видится как единая членов сети.
Каждая сеть, участвующая в соединении, соответствует одном интерфейсу, подключённому к мосту. Эти отдельные сети ethernet связываются в большую логическую сеть. Этой сети соответствует сетевой интерфейс моста.
Экземпляры
Команда brctl
создаёт новый экземпляр ethernet-моста. Сетевой интерфейс, соответствующий этому мосту, будет называться name . Команда brctl
удаляет экземпляр моста, который называется name . Сетевой интерфейс, соответствующий мосту, нужно сначала выключить, прежде чем удалять этот мост. Команда brctl
показывает все экземпляры ethernet-мостов.
Порты
У каждого моста есть подключённые к нему порты. Трафик, который приходит через любой из этих портов, прозрачно отправляется на другие; мост остаётся невидимым для остальной сети (в частности, его не видно через traceroute ).
Команда brctl
делает сетевой интерфейс портом моста
. Это означает, что все кадры, полученные через интерфейс будут обрабатываться, как если они пришли на этот мост. И наоборот, когда кадр приходит на мост
, интерфейс рассматривается как потенциальный порт для отправки трафика. Команда brctl
отключает интерфейс от бриджа
.
Команда brctl
показывает информацию про мост подключённые к нему порты.
Время жизни
Мост отслеживает какие адреса были на каждом порту. Когда нужно передать кадр, адрес получателя (заданный в кадре) которого был замечен на каком-то порту, он передаётся только на этот порт. В результате не создаётся множество лишних кадров.
Местоположение ethernet это не статические данные. Машины могут переходить на другие порты, сетевые карты могут меняться (и соответственно, будут меняться MAC-адреса) и т.д. brctl
brname > показывает список изученных (learned) MAC-адресов для этого моста.
brctl
brname > time > задаёт время жизни (ageing time) MAC-адреса, в секундах. Если в течение времени time > секунд мост не видит кадров с определённого адреса, этот адрес удаляется из базы данных Forwarding DataBase (fdb). brctl
brname > time > задаёт период сбора мусора (garbage collection interval) для моста brname > равным time > секунд. Это значит, что bridge будет проверять forwarding database на наличие устаревших записей каждые секунд. ===Spanning Tree Protocol (Протокол остовного дерева)=== Несколько ethernet-мостов могут быть соединенты друг с другом ethernet-сетями и образовывать ещё большую сеть. В таких сетях обычно работает протокол 802.1d (или аналогичный). Это протокол используется для нахождения кратчайшего пути между двумя ethernet-сетями и для удаления циклов из топологий сетей ethernet. Посколько это стандарт, мосты Linux будут нормально взаимодействовать с мостами третьих производителей. Мосты взаимодействуют друг с другом при помощи отправки BBDU (Bridge Protocol Data Units). Эти BPDU можно узнать по Ethernet-адресу получателя 01:80:c2:00:00:00.
Протокол spanning tree можно выключить совсем (в тех случаях, когда в его использовании нет никакого смысла, например, когда Linux-машина это единственный мост в сети или если если вы уверены, что петель в топологии не будет наверняка). Программа brctl может настраивать некоторые параметры протокола spanning tree. Объяснение, что обозначают эти параметры можно найти в спецификации IEEE 802.1d. Настройки по умолчанию должны хорошо работать в большинстве случаев. Если вы не знаете, что означают эти параметры, скорее всего вы и не захотите их менять.
* brctl stp
управляет тем, будет ли мост принимать участие в работе протокола spanning tree (STP). Если состояние state > это » on » или » yes «, STP будет включён; во всех остальных случаях он будет выключен. При выключенной опции мост не будет отправлять или принимать BPDU и не будет никак участвовать в работе протокола spanning tree. Если этот мост не единственный в сети, или если возможны циклы в сетевой топологии, эту опцию выключать не стоит. Опцию нужно отключать, только если точно представляешь, что делаешь. .br
* brctl setbridgeprio
устанавливает приоритет моста равным
. Параметр priority это 16-битное беззнаковое целое без размерности (число между 0 и 65535). Чем ниже приоритет, тем «лучше». Мост с наименьшим приоритетом будет выбран как корневой. .br
* brctl setfd
задаёт параметр ‘bridge forward delay’ равным секунд.
* brctl sethello
задаёт параметр ‘bridge hello time’ равным секунд.
* brctl setmaxage
задаёт параметр ‘maximum message age’ равным секунд. .br
* brctl setpathcost
задаёт стоимость порта port > равным cost >. Это метрика без единиц измерений. .br
* brctl setportprio
устанавливает приоритет порта
. Значение priority это беззнаковое 8-битное целое (число между 0 и 255) и без единиц измерения. Эта метрика используется при выборе корневого моста (root bridge) и корневого порта (root port).
Замечания
brctl используется вместо старой утилиты brcfg .
Источник
man:brctl
Материал из Xgu.ru
Эта страница является переводом официальной man-страницы программы brctl, предназначенной для настройки модуля bridge ядра Linux — виртуального ethernet-моста Linux Bridge.
Содержание
[править] Имя
brctl — управление ethernet-мостом
[править] Синтаксис
[править] Описание
Программа brctl предназначена для создания, сопровождения и просмотра конфигурации модуля Ethernet-моста bridge в ядре Linux.
Ethernet-мост это устройство используемое для соединения разных Ethernet-сетей между собой так, что эта сеть видится как единая для членов сети.
Каждая сеть, участвующая в соединении, соответствует одном интерфейсу, подключённому к мосту. Эти отдельные сети ethernet связываются в большую логическую сеть. Этой сети соответствует сетевой интерфейс моста.
[править] Экземпляры
Команда brctl addbr создаёт новый экземпляр ethernet-моста. Сетевой интерфейс, соответствующий этому мосту, будет называться name.
Команда brctl delbr удаляет экземпляр моста, который называется name. Сетевой интерфейс, соответствующий мосту, нужно сначала выключить, прежде чем удалять этот мост.
Команда brctl show показывает все экземпляры ethernet-мостов.
[править] Порты
У каждого моста есть подключённые к нему порты. Трафик, который приходит через любой из этих портов, прозрачно отправляется на другие; мост остаётся невидимым для остальной сети (в частности, его не видно через traceroute).
Команда brctl addif
делает сетевой интерфейс портом моста
. Это означает, что все кадры, полученные через интерфейс будут обрабатываться, как если они пришли на этот мост. И наоборот, когда кадр приходит на мост
, интерфейс рассматривается как потенциальный порт для отправки трафика.
Команда brctl delif
отключает интерфейс от бриджа
.
Команда brctl show
показывает информацию про мост подключённые к нему порты.
[править] Время жизни
Мост отслеживает какие адреса были на каждом порту. Когда нужно передать кадр, адрес получателя (заданный в кадре) которого был замечен на каком-то порту, он передаётся только на этот порт. В результате не создаётся множество лишних кадров.
Местоположение ethernet это не статические данные. Машины могут переходить на другие порты, сетевые карты могут меняться (и соответственно, будут меняться MAC-адреса) и т.д.
brctl showmacs показывает список изученных (learned) MAC-адресов для этого моста.
brctl setageingtime задаёт время жизни (ageing time) MAC-адреса, в секундах. Если в течение времени секунд мост не видит кадров с определённого адреса, этот адрес удаляется из базы данных Forwarding DataBase (fdb).
brctl setgcint задаёт период сбора мусора (garbage collection interval) для моста равным секунд. Это значит, что bridge будет проверять forwarding database на наличие устаревших записей каждые секунд.
[править] Spanning Tree Protocol (Протокол остовного дерева)
Несколько ethernet-мостов могут быть соединены друг с другом ethernet-сетями и образовывать ещё большую сеть. В таких сетях обычно работает протокол 802.1d (или аналогичный). Это протокол используется для нахождения кратчайшего пути между двумя ethernet-сетями и для удаления колец из топологий сетей ethernet. Поскольку это стандарт, мосты Linux будут нормально взаимодействовать с мостами третьих производителей. Мосты взаимодействуют друг с другом при помощи отправки BPDU (Bridge Protocol Data Units). Эти BPDU можно узнать по Ethernet-адресу получателя 01:80:c2:00:00:00.
Протокол spanning tree можно выключить совсем (в тех случаях, когда в его использовании нет никакого смысла, например, когда Linux-машина это единственный мост в сети или если если вы уверены, что петель в топологии не будет наверняка).
Программа brctl может настраивать некоторые параметры протокола spanning tree. Объяснение, что обозначают эти параметры можно найти в спецификации IEEE 802.1d. Настройки по умолчанию должны хорошо работать в большинстве случаев. Если вы не знаете, что означают эти параметры, скорее всего вы и не захотите их менять.
- brctl stp
управляет тем, будет ли мост принимать участие в работе протокола spanning tree (STP). Если состояние это «on» или «yes«, STP будет включён; во всех остальных случаях он будет выключен. При выключенной опции мост не будет отправлять или принимать BPDU и не будет никак участвовать в работе протокола spanning tree. Если этот мост не единственный в сети, или если возможны циклы в сетевой топологии, эту опцию выключать не стоит. Опцию нужно отключать, только если точно представляешь, что делаешь. - brctl setbridgeprio
устанавливает приоритет моста равным
. Параметр priority это 16-битное беззнаковое целое без размерности (число между 0 и 65535). Чем ниже приоритет, тем «лучше». Мост с наименьшим приоритетом будет выбран как корневой.
задаёт параметр ‘bridge forward delay’ равным секунд.
задаёт параметр ‘bridge hello time’ равным секунд.
задаёт параметр ‘maximum message age’ равным секунд.
задаёт стоимость порта равным . Это метрика без единиц измерений.
brctl setportprio
устанавливает приоритет порта
. Значение priority это беззнаковое 8-битное целое (число между 0 и 255) и без единиц измерения. Эта метрика используется при выборе корневого моста (root bridge) и корневого порта (root port).
[править] Замечания
brctl используется вместо старой утилиты brcfg.
Источник
brctl addif и brctl addbr
Прежде всего установим пакет
Добавляем сетевой мост
Интерфейсы (в примере, eth0) можно добавлять в бридж (br0) так:
Их имена можно узнать из вывода ip a (ip addr show). Добавляется обычно 2 интерфейса. В примере один, так требуется делать, например, при настройке моста для системы LXC контейнеризации.
Несколько интерфейсов добавляются в мост в любом порядке
При необходимости так же интерфейс убирается:
Все включенные в сетевой мост интерфейсы работают как одно устройство. Таковым бридж и является выполняя те же функции, что физический коммутатор.
Один интерфейс включается не больше, чем в один бридж.
У самого бриджа нет IP адреса, что делает невозможным подключение к нему извне. Если бриджей несколько можно настроить STP (spanning-tree-protocol), что предотвратит возникновение петель при коммутации.
При базовой конфигурации с одним сетевым мостом это не требуется.
Чтобы изменения сохранялись после перезагрузки нужно внести правки в /etc/network/interfaces
# The loopback network interface
auto lo
iface lo inet loopback
# Set up interfaces manually, avoiding conflicts with, e.g., network manager
iface eth0 inet manual
iface eth1 inet manual
# Bridge setup
iface br0 inet dhcp
bridge_ports eth0 eth1
Затем выполняется ifup br0 чтобы поднять мост и все интерфейсы, в него включенные.
Для статического IP:
# The loopback network interface
auto lo br0
iface lo inet loopback
# Set up interfaces manually, avoiding conflicts with, e.g., network manager
iface eth0 inet manual
iface eth1 inet manual
# Bridge setup
iface br0 inet static
bridge_ports eth0 eth1
address 192.168.1.1
broadcast 192.168.4.255
netmask 255.255.255.0
gateway 192.168.1.1
Поддерживаются регулярные выражения — bridge_ports regex eth*
Опции, которые могут потребоваться при работе с сетевыми мостами:
bridge_stp off — выключает Spanning Tree Protocol
bridge_waitport 0 — нулевая задержка при смене состояния порта
bridge_fd 0 — нулевая задержка при пересылке
Посмотреть информацию по всем сетевым мостам на машине можно так:
Пример добавления моста для LXC
После установки LXC полноценно пакет работать не будет если отсутствует сетевой мост. Добавляется он при этом очень легко.
Сначала нужно посмотреть имя моста:
lxc.network.type = veth
lxc.network.link = lxcbr0
lxc.network.flags = up
lxc.network.hwaddr = 00:16:3e:xx:xx:xx
Затем добавить его
bridge name bridge id STP enabled interfaces
lxcbr0 8000.000000000000 no
brctl addif и добавление интерфейсов обычно не требуется, в /etc/network/interaces для моста прописывается сетевые настройки идентичные существующим для интерфейса, смотрящего во внешнюю сеть.
Источник