Сетевой мост
Сетевой мост или бридж — это сетевое устройство уровня передачи данных. Бридж соединяет сегменты сети различных топологий и архитектур.
Сетевые мосты снижают нагрузку на сети, они крайне полезны для фильтрации нагрузки трафика. Основная функция — разделение трафика на пакеты и сегменты.
Как работает сетевой мост
Бридж — двухпортовое устройство. Это повторитель, который фильтрует содержимое, считывает MAC-адреса источника и получателя. Мост соединяет локальные сети, работающие по одному протоколу.
После получения пакета данных из сети, мост проверяет его заголовок по MAC-адресу назначения, и передает пакет дальше, если он относиться к данной подсети. Фактически, бридж — пассивное устройство, мосты и мостовые пути не взаимодействуют.
Типы сетевых мостов
Прозрачные мосты используются для двух операций: пересылки и обучения. Эти мосты представляют собой устройства, в которых станции не знают о добавлении или удалении моста в сеть. Следовательно, станции не нужно перенастраивать.
Вместе с прозрачным мостом создается таблица, в которой хранятся MAC-адреса различных терминалов, они помогают мостам отправлять кадры в необходимое место. Если адрес не совпадает с таблицей соединений, кадр пересылается на каждый из подключенных к локальной сети терминалов, кроме компьютера-отправителя.
Транслирующие мосты выполняют преобразование из одного протокола канального уровня в другой. Преимущество этого метода заключается в меньших накладных расходах, поскольку нет необходимости передавать два заголовка уровня канала передачи данных, станции другой сети становятся доступными.
Трансляционные мосты вносят дополнительную задержку при преобразовании форматов кадров и расчете контрольной суммы кадра. Другой недостаток — они имеют существенное ограничение на максимальный размер кадра сетей. Все соединенные таким мостом кадры одинаковые, бридж не разбивает их на сегменты.
Мосты с маршрутизацией источника обеспечивают процесс, при котором маршрутизацию выполняет станция-источник, а кадр самостоятельно определяет путь следования.
При необходимости хост может обнаружить пакет, поэтому следует посылать только специальный кадр обнаружения, который распространяется по сети по всем возможным направления, связанным с пунктом назначения. Чаще всего подобные мосты используют в сетях Token Ring.
Powered by ZeroTier. Практическое руководство по строительству виртуальных сетей. Часть 2
В процессе первых пяти шагов, описанных в статье Powered by ZeroTier. Практическое руководство по строительству виртуальных сетей. Часть 1 мы объединили виртуальной сетью три географически удалённых друг от друга узла. Один из которых расположен в физической сети, два других — в двух разнесённых ДЦ.
Это не заняло много времени, хотя каждый из этих узлов и добавлялся в сеть по-одному. А как быть, если к виртуальной сети ZeroTier нужно подключить не один, а все находящиеся в физической сети узлы? Такая задача встала однажды передо мной, когда я озадачился вопросом организации доступа из виртуальной сети к сетевым принтеру и маршрутизатору.
Попробовал использовать описанный выше способ — получилось не быстро и не везде просто. Например, сетевой принтер — просто так не подключишь. Mikrotik — ZeroTier не поддерживает. Что делать? Много погуглив и проанализировав матчасть, я пришёл к выводу, что нужно организовывать сетевой мост.
Сетевой мост (также бридж с англ. bridge) — сетевое устройство второго уровня модели OSI, предназначенное для объединения сегментов (подсети) компьютерной сети в единую сеть.
Историей о том, как я это сделал, я и хочу поделиться в этой статье..
Что нам стоит, мост построить.
Для начала мне, как администратору, стоило определиться — какой узел в сети будет выступать в качестве бриджа. Изучив варианты, я понял, что им может быть любое компьютерное устройство, у которого существует возможность организации моста между сетевыми интерфейсами. Им может стать как маршрутизатор — устройство под управлением OpenWRT или оборудование серии RUT компании Teltonika, так и обычный сервер или компьютер.
Вначале, я конечно рассматривал возможность использования маршрутизатора с OpenWRT на борту. Но учитывая тот факт, что существующий Mikrotik меня полностью устраивает, хотя и не поддерживает интеграцию с ZeroTier, а извращаться и «плясать с бубном» уж очень не хочется, я, в качестве сетевого моста решил использовать компьютер. А именно, постоянно подключённый к физической сети Raspberry Pi 3 Model B под управлением последней версии Raspbian — ОС на базе Debian Buster.
Для возможности организации бриджа, на устройстве должен быть доступен один неиспользуемый другими сервисами сетевой интерфейс. В моём случае основной Ethernet был уже задействован, поэтому я организовал второй. Использовав для этой задачи USB-Ethernet адаптер на базе чипсета RTL8152 от Realtek.
После присоединения адаптера к свободному порту USB, обновления и перезагрузки системы:
sudo apt update && sudo apt upgrade -y sudo reboot
я проверил, видит ли система USB Ethernet адаптер:
Проанализировав полученные данные
Bus 001 Device 004: ID 0bda:8152 Realtek Semiconductor Corp. RTL8152 Fast Ethernet Adapter Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. SMC9514 Hub Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
я с удовлетворением отметил, что Device 004 как раз мой адаптер.
Далее уточнил, какой сетевой интерфейс присвоен этому адаптеру:
[ 2.400424] usb 1-1.3: New USB device found, idVendor=0bda, idProduct=8152, bcdDevice=20.00 [ 6.363837] usbcore: registered new interface driver r8152 [ 6.669986] r8152 1-1.3:1.0 eth1: v1.09.9 [ 8.808282] r8152 1-1.3:1.0 eth1: carrier on
Оказалось eth1 🙂 И мне уже можно настраивать его и сетевой мост.
Чем собственно я и занялся следуя нижеуказанному алгоритму:
- Установил пакеты управления сетевым мостом:
sudo apt-get install bridge-utils
curl -s https://install.zerotier.com | sudo bash
sudo zerotier-cli set allowManaged=0
В Networks кликнул на detail, нашёл и перешёл по ссылке v4AssignMode и отключил автоназначение IP-адресов, сняв отметку с чек-бокса Auto-assign from IP Assignment Pool
После этого авторизовал подключаемый узел, задав название и отметив чек-боксы Authorized и Active Bridge. IP-адрес не назначал.
Потом вернулся к настройке сетевого моста на узле, для чего открыл для редактирования через терминал файл конфигурации сетевых интерфейсов:
sudo nano /etc/network/interfaces
Куда добавил следующие строки
auto eth1 allow-hotplug eth1 iface eth1 inet manual auto br0 allow-hotplug br0 iface br0 inet static address 192.168.0.10 netmask 255.255.255.0 network 192.168.0.0 broadcast 192.168.0.255 dns-nameservers 127.0.0.1 bridge_ports eth1 ztXXXXXXXX bridge_fd 0 bridge_maxage 0
Где eth1 — подключённый USB Ethernet адаптер, которому IP-адрес не назначал.
br0 — создаваемый сетевой мост со назначенным постоянным IP-адресом из диапазона адресов моей физической сети.
ztXXXXXXXX — имя виртуального интерфейса ZeroTier, который узнал по команде:
После ввода информации сохранил файл конфигурации и перегрузил сетевые сервисы командой:
sudo /etc/init.d/networking restart
Для проверки работоспособности моста, выполнил команду:
По полученным данным — бридж поднялся.
bridge name bridge id STP enabled interfaces br0 8000.00e04c360769 no eth1 ztXXXXXXXX
Далее перешёл на сетевой контроллер для задания маршрута.
Для чего в списке узлов сети перешёл по ссылке IP assignment сетевого моста. Далее в открывшемся окне кликнул Managed routes. Перешёл на новую страницу, где в качестве Target указал 0.0.0.0/0, а в качестве Gateway — IP-адрес сетевого моста из диапазона адресов сети организации, заданный ранее. В моём случае 192.168.0.10
Подтвердил введенные данные и стал проверять сетевую связность узлов, пропинговать с узла физической сети узел в виртуальной сети и наоборот.
Вот собственно и всё!
У меня, правда, в отличие от прототипа, с которого были сделаны скриншоты, IP-адреса узлов виртуальной сети из того же диапазона что и IP-адреса узлов в физической. При мостовом соединении сетей эту модель возможна, главное чтобы они не пересекались с адресами раздаваемыми DHCP-сервером.
Про настройку сетевого моста на стороне узла под управлением MS Windows и других дистрибутивов Linux отдельно рассказывать в этой статье не буду — в интернете полно материалов по этой теме. Что же касается настройки на стороне сетевого контроллера — она идентична вышеописанной.
Хочу лишь отметить, что Raspberry PI — бюджетный и удобный инструмент при объединении сетей с ZeroTier, причём, не только как стационарное решение. Например, аутсорсеры могут использовать преднастроенный сетевой мост на основе Raspberry PI для быстрого объединения физической сети обслуживаемого клиента с виртуальными на базе ZeroTier.
На этом позволю эту часть повествования завершить. Жду вопросов, откликов и комментариев — ибо именно на их основе буду строить содержание следующей статьи. А пока предлагаю вам попробовать организовать собственную виртуальную сеть с помощью приватного сетевого контроллера с GUI на основе VDS из маркетплейса на сайте RUVDS. Тем более, что для всех новых клиентов действует бесплатный тестовый период — 3 дня!
Использование сетевого моста для расширения локальной сети
Сетевой мост соединяет две другие отдельные компьютерные сети, чтобы обеспечить связь между ними и позволить им работать как единая сеть. Мосты используются с локальными сетями (ЛВС), чтобы расширить их охват, чтобы охватить более крупные физические области, чем может достичь ЛВС.
Как работают сетевые мосты
Мостовые устройства проверяют входящий сетевой трафик и определяют, следует ли пересылать или отбрасывать его в соответствии с назначенным пунктом назначения. Например, мост Ethernet проверяет каждый входящий кадр Ethernet, включая MAC-адреса источника и назначения, иногда размер кадра, при принятии индивидуальных решений о пересылке. Мостовые устройства работают на уровне линии передачи данных модели OSI
Типы сетевых мостов
Мостовые устройства существуют для Wi-Fi до Wi-Fi, Wi-Fi до Ethernet и Bluetooth для Wi-Fi-соединений. Каждый из них предназначен для определенных типов сетей.
- Беспроводные мосты поддерживают точки беспроводного доступа Wi-Fi.
- Мосты Wi-Fi для Ethernet позволяют подключаться к клиентам Ethernet и связывать их с локальной сетью Wi-Fi, что полезно для более старых сетевых устройств, которым не хватает Wi-Fi.
- Мост Bluetooth для Wi-Fi поддерживает соединения с мобильными устройствами Bluetooth, которые распространяются в домах и офисах в последние годы.
Беспроводное мостовое соединение
Мосты особенно популярны в компьютерных сетях Wi-Fi. В беспроводном соединении Wi-Fi требуется, чтобы точки доступа связывались друг с другом в специальном режиме, который поддерживает трафик, который течет между ними. Две точки доступа, поддерживающие режим беспроводного моста, работают как пара. Каждый из них продолжает поддерживать свою собственную локальную сеть подключенных клиентов, а также обменивается информацией с другой, чтобы обрабатывать мост.
Режим моста можно активировать в точке доступа через административную настройку или иногда физический переключатель на устройстве. Не все точки доступа поддерживают режим беспроводного моста; обратитесь к документации производителя, чтобы определить, поддерживает ли данная модель эту функцию.
Мосты против ретрансляторов
Мосты и сетевые ретрансляторы имеют сходный внешний вид; иногда один блок выполняет обе функции. Однако, в отличие от мостов, ретрансляторы не выполняют никакой фильтрации трафика и не объединяются в две сети. Вместо этого повторители передают весь трафик, который они получают. Ретрансляторы служат главным образом для регенерации сигналов трафика, так что одна сеть может достигать более длительных физических расстояний.
Мосты и коммутаторы и маршрутизаторы
В проводных компьютерных сетях мосты выполняют аналогичную функцию, как сетевые коммутаторы . Традиционно проводные мосты поддерживают одно входящее и одно исходящее сетевое соединение, доступное через аппаратный порт , тогда как коммутаторы обычно предлагают четыре или более аппаратных порта. По этой причине коммутаторы иногда называют многопортовыми мостами.
Мосты не обладают интеллектом сетевых маршрутизаторов: Bridges не понимают концепцию удаленных сетей и не могут динамически перенаправлять сообщения в разные местоположения, но вместо этого поддерживают только один внешний интерфейс.
Насколько публикация полезна?
Нажмите на звезду, чтобы оценить!