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)