Linux bridge - как он работает?

Для новичков как вообще в Linux, так и в конкретной теме, к которой относится вопрос.

Модератор: Bizdelnick

Аватара пользователя
netvis
Сообщения: 94

Linux bridge - как он работает?

Сообщение netvis »

Здравствуйте.
Читаю документацию и не понимаю, как работает программный мост bridge из bridge-utils - это как хаб, получается? Все адаптеры, что входят в один мост (br0, например) получаются как бы объединенными? Так?

И вопрос еще один: а зачем мосту присваивается IP адрес? Например, в среде виртуальных машин, для доступа виртуалок и самого хоста в сеть, создается мост, и ему дается адрес. А зачем?.. Почему адрес не дается интерфейсам?

Спасибо.
Если отладка - это устранение ошибок, то программирование - это их создание ...
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21432
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Linux bridge - как он работает?

Сообщение Bizdelnick »

http://xgu.ru/wiki/Linux_Bridge (оригинал)
Бридж (англ. bridge, мост) — это способ соединения двух сегментов Ethernet на канальном уровне, т.е. без использования протоколов более высокого уровня, таких как IP. Пакеты передаются на основе Ethernet-адресов, а не IP-адресов (как в маршрутизаторе). Поскольку передача выполняется на канальном уровне (уровень 2 модели OSI), все протоколы более высокого уровня прозрачно проходят через мост.

То есть по сути это работает как свитч, а не хаб.

netvis писал(а):
02.02.2016 15:24
зачем мосту присваивается IP адрес? Например, в среде виртуальных машин, для доступа виртуалок и самого хоста в сеть, создается мост, и ему дается адрес. А зачем?.. Почему адрес не дается интерфейсам?

Адрес и присваивается интерфейсу. Тому, который подключается к «свитчу». Поднимать этот интерфейс не обязательно, просто тогда не будет возможности общаться с виртуалками. Они будут сами по себе, подключённые к своему «свитчу», а хост к нему подключён не будет.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
Olej
Сообщения: 659
ОС: Fedora, Mint, Debian, QNX

Re: Linux bridge - как он работает?

Сообщение Olej »

netvis писал(а):
02.02.2016 15:24
Читаю документацию и не понимаю, как работает программный мост bridge из bridge-utils - это как хаб, получается? Все адаптеры, что входят в один мост (br0, например) получаются как бы объединенными? Так?

Грубо - да, так.
Объединение происходит на уровне MAC-адресов.

netvis писал(а):
02.02.2016 15:24
И вопрос еще один: а зачем мосту присваивается IP адрес? Например, в среде виртуальных машин, для доступа виртуалок и самого хоста в сеть, создается мост, и ему дается адрес. А зачем?.. Почему адрес не дается интерфейсам?

Потому что после объединения интерфейсов в мост, создаётся новая подсеть, и хосты этой подсети должны принадлежать к диапазону её IP адресов.
А интерфейсы объединяемые в мост, до объединения имели IP, относящиеся к совершенно разным подсетям.

P.S. Вообще то, инерфейсы не в любой технике объединеия в мост "тряют" свои IP.
Это вы говорите про технику утилиты brctl в Linux.
Сетевые интерфейсы VirtuaBox остаются при своих IP :rolleyes:
Спасибо сказали:
Аватара пользователя
netvis
Сообщения: 94

Re: Linux bridge - как он работает?

Сообщение netvis »

Меня вот что замыкает: почему конфигурация IP адреса и маски, ... вынесена в блок конфигурации моста?
Например, в Centos я пишу:
DEVICE=br0
BOOTPROTO="static"
IPV6INIT="no"
ONBOOT="yes"
TYPE="Bridge"
DELAY=0
IPADDR=192.168.5.7
NETMASK=255.255.255.0
GATEWAY=192.168.5.1

То есть, сбивает с толку, почему тут указаны параметры, а не в конфигурации интерфейса.

Спасибо за ответы!
Если отладка - это устранение ошибок, то программирование - это их создание ...
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21432
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Linux bridge - как он работает?

Сообщение Bizdelnick »

netvis писал(а):
02.02.2016 16:43
почему тут указаны параметры, а не в конфигурации интерфейса.

netvis писал(а):
02.02.2016 16:43
DEVICE=br0

Что это, как не интерфейс?
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
netvis
Сообщения: 94

Re: Linux bridge - как он работает?

Сообщение netvis »

Так а как, к примеру, добавить в мост еще один физический или виртуальный интерфейс со своим IP, чтобы он мог свободно общаться с первым? То есть, я для первого указываю что он входит, например. в мост br0. Для второго указываю то же самое. А как адреса-то раздать?
Если отладка - это устранение ошибок, то программирование - это их создание ...
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21432
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Linux bridge - как он работает?

Сообщение Bizdelnick »

Ничего не понял. Кто первый, кто второй?
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
s.xbatob
Сообщения: 1139
ОС: Fedora

Re: Linux bridge - как он работает?

Сообщение s.xbatob »

netvis писал(а):
02.02.2016 17:01
Так а как, к примеру, добавить в мост еще один физический или виртуальный интерфейс со своим IP, чтобы он мог свободно общаться с первым? То есть, я для первого указываю что он входит, например. в мост br0. Для второго указываю то же самое. А как адреса-то раздать?

Никак! Такая уж модель. IP и прочая конфигурация есть только у самого бриджа (и он единственный - полноценный интерфейс), а подчинённые интерфейсы - это исключительно для доставки пакетов в мост или обратно. Как порты коммутатора.
Спасибо сказали:
Аватара пользователя
netvis
Сообщения: 94

Re: Linux bridge - как он работает?

Сообщение netvis »

Прошу прощения за непонятливость, но правильно ли я понимаю: один интерфейс (тот, на котором я создаю мост) может и не иметь адреса IP, а вот другие интерфейсы, что я добавлю в мост уже должны иметь адреса, настроенные где-то (например в виртуалках), так?
Если отладка - это устранение ошибок, то программирование - это их создание ...
Спасибо сказали:
Аватара пользователя
s.xbatob
Сообщения: 1139
ОС: Fedora

Re: Linux bridge - как он работает?

Сообщение s.xbatob »

netvis писал(а):
02.02.2016 18:08
Прошу прощения за непонятливость, но правильно ли я понимаю: один интерфейс (тот, на котором я создаю мост) может и не иметь адреса IP, а вот другие интерфейсы, что я добавлю в мост уже должны иметь адреса, настроенные где-то (например в виртуалках), так?

Неправильно. Конфигурацию IP может иметь только сам мост. У подчинённых интерфейсов не может быть собственной конфигурации.
Спасибо сказали:
Аватара пользователя
netvis
Сообщения: 94

Re: Linux bridge - как он работает?

Сообщение netvis »

А как же тогда происходит обмен?
Если отладка - это устранение ошибок, то программирование - это их создание ...
Спасибо сказали:
Аватара пользователя
yars
Сообщения: 1147
Статус: Slacker!
ОС: Slackware64-current

Re: Linux bridge - как он работает?

Сообщение yars »

Мост на то и мост, что он "тупо" перенаправляет трафик с одного своего физического интерфейса на другой.
Slackware64-current/Xfce/Xiaomi Mi Notebook Pro 15.6 | Arch Linux/Xfce/Lenovo G580
-------------
Registered Linux User #557010
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21432
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Linux bridge - как он работает?

Сообщение Bizdelnick »

netvis писал(а):
03.02.2016 08:39
А как же тогда происходит обмен?

Перечитайте ещё раз цитату, которую я привёл в первом ответе.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
s.xbatob
Сообщения: 1139
ОС: Fedora

Re: Linux bridge - как он работает?

Сообщение s.xbatob »

netvis писал(а):
03.02.2016 08:39
А как же тогда происходит обмен?

Так и происходит, с мостом, по его IP - общему для всех сегментов. А через мост с другими хостами - прозрачно.
А что вы хотели - чтобы в каждом сегменте был свой IP, недоступный в других?
Спасибо сказали: