man:brctl

Материал из Xgu.ru

Перейти к: навигация, поиск

Перевод: Игорь Чубин
Оригинал: brctl(8)

Эта страница является переводом официальной man-страницы программы brctl, предназначенной для настройки модуля bridge ядра Linux — виртуального ethernet-моста Linux Bridge.

Содержание

[править] Имя

brctl - управление ethernet-мостом

[править] Синтаксис

brctl [command]

[править] Описание

Программа brctl предназначена для создания, сопровождения и просмотра конфигурации модуля Ethernet-моста bridge в ядре Linux.

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

Каждая сеть, участвующая в соединении, соответствует одном интерфейсу, подключённому к мосту. Эти отдельные сети ethernet связываются в большую логическую сеть. Этой сети соответствует сетевой интерфейс моста.

[править] Экземпляры

Команда brctl addbr <name> создаёт новый экземпляр ethernet-моста. Сетевой интерфейс, соответствующий этому мосту, будет называться name.

Команда brctl delbr <name> удаляет экземпляр моста, который называется name. Сетевой интерфейс, соответствующий мосту, нужно сначала выключить, прежде чем удалять этот мост.

Команда brctl show показывает все экземпляры ethernet-мостов.

[править] Порты

У каждого моста есть подключённые к нему порты. Трафик, который приходит через любой из этих портов, прозрачно отправляется на другие; мост остаётся невидимым для остальной сети (в частности, его не видно через traceroute).

Команда brctl addif <brname> <ifname> делает сетевой интерфейс <ifname> портом моста <brname>. Это означает, что все кадры, полученные через интерфейс <ifname> будут обрабатываться, как если они пришли на этот мост. И наоборот, когда кадр приходит на мост <brname>, интерфейс <ifname> рассматривается как потенциальный порт для отправки трафика.

Команда brctl delif <brname> <ifname> отключает интерфейс <ifname> от бриджа <brname>.

Команда brctl show <brname> показывает информацию про мост подключённые к нему порты.

[править] Время жизни

Мост отслеживает какие адреса были на каждом порту. Когда нужно передать кадр, адрес получателя (заданный в кадре) которого был замечен на каком-то порту, он передаётся только на этот порт. В результате не создаётся множество лишних кадров.

Местоположение ethernet это не статические данные. Машины могут переходить на другие порты, сетевые карты могут меняться (и соответственно, будут меняться MAC-адреса) и т.д.

brctl showmacs <brname> показывает список изученных (learned) MAC-адресов для этого моста.

brctl setageingtime <brname> <time> задаёт время жизни (ageing time) MAC-адреса, в секундах. Если в течение времени <time> секунд мост не видит кадров с определённого адреса, этот адрес удаляется из базы данных Forwarding DataBase (fdb).

brctl setgcint <brname> <time> задаёт период сбора мусора (garbage collection interval) для моста <brname> равным <time> секунд. Это значит, что bridge будет проверять forwarding database на наличие устаревших записей каждые <time> секунд.

[править] 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 <bridge> <state> управляет тем, будет ли мост принимать участие в работе протокола spanning tree (STP). Если состояние <state> это "on" или "yes", STP будет включён; во всех остальных случаях он будет выключен. При выключенной опции мост не будет отправлять или принимать BPDU и не будет никак участвовать в работе протокола spanning tree. Если этот мост не единственный в сети, или если возможны циклы в сетевой топологии, эту опцию выключать не стоит. Опцию нужно отключать, только если точно представляешь, что делаешь.
  • brctl setbridgeprio <bridge> <priority> устанавливает приоритет моста равным <priority>. Параметр priority это 16-битное беззнаковое целое без размерности (число между 0 и 65535). Чем ниже приоритет, тем "лучше". Мост с наименьшим приоритетом будет выбран как корневой.
  • brctl setfd <bridge> <time> задаёт параметр 'bridge forward delay' равным <time> секунд.
  • brctl sethello <bridge> <time> задаёт параметр 'bridge hello time' равным <time> секунд.
  • brctl setmaxage <bridge> <time> задаёт параметр 'maximum message age' равным <time> секунд.
  • brctl setpathcost <bridge> <port> <cost> задаёт стоимость порта <port> равным <cost>. Это метрика без единиц измерений.
  • brctl setportprio <bridge> <port> <priority> устанавливает приоритет порта <port>'s равным <priority>. Значение priority это беззнаковое 8-битное целое (число между 0 и 255) и без единиц измерения. Эта метрика используется при выборе корневого моста (root bridge) и корневого порта (root port).

[править] Замечания

brctl используется вместо старой утилиты brcfg.

[править] См. также

ipchains(8), iptables(8)

[править] Автор

Lennert Buytenhek <buytenh@gnu.org>

[править] Ссылки сюда

ebtables(8)

Источник — «http://xgu.ru/wiki/man:brctl»