TrueNAS Bridge: Настройка сетевых мостов для виртуализации и контейнеров | AdminWiki
Timeweb Cloud — сервера, Kubernetes, S3, Terraform. Лучшие цены IaaS.
Попробовать

TrueNAS Bridge: Полное руководство по созданию и настройке сетевых мостов

05 марта 2026 8 мин. чтения #bridge #docker #truenas #truenas core #truenas scale #vm #виртуализация #настройка сети #сетевой мост
Содержание статьи

Что такое сетевой мост (Bridge) в TrueNAS и зачем он нужен?

Представь, что у тебя есть несколько виртуальных машин или контейнеров, которым нужно общаться между собой и с внешней сетью. Если подключать каждую VM напрямую к физическому интерфейсу — это неудобно и ограниченно. Вот здесь на помощь приходит сетевой мост (bridge) — виртуальный коммутатор, который объединяет несколько сетевых интерфейсов в одну логическую сеть.

В контексте TrueNAS, bridge особенно важен для:

  • Виртуальных машин (VMs) — чтобы VM получали IP из твоей локальной сети
  • Контейнеров Docker/Kubernetes — для сетевой изоляции и коммуникации
  • Объединения физических интерфейсов — создание bond/aggregation
  • Сетевой сегментации — разделение трафика между разными сервисами
Важно: В TrueNAS Scale (на базе Linux) и TrueNAS Core (на базе FreeBSD) реализация мостов отличается. Scale использует стандартный Linux bridge, а Core — bridge из FreeBSD.

Сравнение подходов: TrueNAS Scale vs TrueNAS Core

Аспект TrueNAS Scale (Linux) TrueNAS Core (FreeBSD)
Технология Linux Bridge (brctl) FreeBSD Bridge
Управление Web UI + systemd-networkd Web UI + ifconfig
Поддержка Docker Нативная (Kubernetes) Ограниченная (Jails)
Сложность настройки Средняя Высокая

Создание моста в TrueNAS Scale через Web UI

Давай разберем самый распространенный сценарий — создание bridge для виртуальных машин. Это пошаговое руководство для TrueNAS Scale (актуально для версий 22.02+).

Шаг 1: Подготовка и планирование

Перед созданием bridge определись с конфигурацией:

  • Какой физический интерфейс будет основным (например, enp3s0)
  • Нужен ли статический IP или DHCP для моста
  • Какие порты будут в мосту (можно добавить позже)
Внимание: При создании bridge через Web UI текущее соединение может разорваться, если меняется IP адрес. Рекомендую иметь консольный доступ (IPMI, iDRAC, прямое подключение).

Шаг 2: Создание интерфейса Bridge

  1. Зайди в Network → Interfaces
  2. Нажми Add → Bridge
  3. Заполни параметры:
    • Name: br0 (или любое другое имя)
    • Description: Основной мост для VMs
    • IP Address: Выбери DHCP или укажи статический IP

Шаг 3: Добавление физических интерфейсов в мост

После создания пустого bridge, нужно добавить в него физические интерфейсы:

Web UI Configuration
# Пример конфигурации bridge в TrueNAS Scale:
# Интерфейсы, которые будут добавлены в мост:
# - enp3s0 (основной Ethernet)
# - enp4s0 (резервный, для агрегации)

Bridge Settings:
  Name: br0
  MTU: 1500
  DHCP: enabled
  Bridge Members: [enp3s0, enp4s0]
  Options: stp=true (Spanning Tree Protocol)

Шаг 4: Настройка виртуальных машин для использования bridge

Теперь при создании VM в TrueNAS Scale выбери сетевой интерфейс:

VM Network Configuration


  
  
  
  

Продвинутая настройка: Bridge через командную строку

Иногда через Web UI не получается настроить всё необходимое. Давай посмотрим, как работать с bridge через терминал в TrueNAS Scale.

Создание bridge с помощью iproute2

bash
# 1. Создаем bridge интерфейс
sudo ip link add name br0 type bridge

# 2. Настраиваем MTU (если нужно jumbo frames)
sudo ip link set dev br0 mtu 9000

# 3. Добавляем физический интерфейс в bridge
sudo ip link set dev enp3s0 master br0

# 4. Поднимаем интерфейсы
sudo ip link set dev br0 up
sudo ip link set dev enp3s0 up

# 5. Назначаем IP адрес (статический пример)
sudo ip addr add 192.168.1.10/24 dev br0

# 6. Добавляем маршрут по умолчанию
sudo ip route add default via 192.168.1.1 dev br0

Персистентная конфигурация через netplan

Чтобы настройки сохранились после перезагрузки, нужно отредактировать конфиг netplan:

yaml
# /etc/netplan/01-netcfg.yaml
network:
  version: 2
  ethernets:
    enp3s0:
      dhcp4: no
      optional: true
  bridges:
    br0:
      interfaces: [enp3s0]
      dhcp4: yes
      parameters:
        stp: true
        forward-delay: 4
      optional: true

# Применяем конфигурацию:
sudo netplan apply

TrueNAS Core: Особенности работы с bridge

В TrueNAS Core (FreeBSD) подход немного другой. Вот основные команды для работы:

bash
# Создание bridge в FreeBSD
ifconfig bridge create
ifconfig bridge0

# Добавление интерфейсов в bridge
ifconfig bridge0 addm igb0 addm igb1

# Включение STP (Spanning Tree)
ifconfig bridge0 stp igb0 stp igb1

# Назначение IP адреса
ifconfig bridge0 inet 192.168.1.10/24

# Постоянная конфигурация через /etc/rc.conf
echo 'cloned_interfaces="bridge0"' >> /etc/rc.conf
echo 'ifconfig_bridge0="addm igb0 addm igb1 up"' >> /etc/rc.conf
echo 'ifconfig_bridge0_ip="192.168.1.10/24"' >> /etc/rc.conf

Типичные проблемы и их решение

Проблема 1: Потеря связи после настройки bridge

Симптомы: После создания bridge теряется доступ к Web UI.

Решение:

  • Подключись через консоль (прямой доступ или IPMI)
  • Проверь, что физический интерфейс добавлен в bridge: ip link show master br0
  • Убедись, что bridge получил IP адрес: ip addr show br0

Проблема 2: VM не получают сеть

Симптомы: Виртуальные машины работают, но нет сетевого подключения.

Решение:

bash
# 1. Проверь, включена ли forwarding
sudo sysctl net.ipv4.ip_forward
# Должно быть: net.ipv4.ip_forward = 1

# 2. Если нет, включи:
sudo sysctl -w net.ipv4.ip_forward=1

# 3. Для постоянного включения:
echo "net.ipv4.ip_forward=1" | sudo tee -a /etc/sysctl.conf

# 4. Проверь iptables/nftables правила
sudo iptables -t nat -L -n -v

Проблема 3: Конфликт IP адресов

Решение: Убедись, что у физического интерфейса и bridge разные IP или физический интерфейс не имеет IP (работает только на L2).

Оптимизация производительности bridge

Для серьезных нагрузок (виртуализация, NAS) настройки по умолчанию могут быть неоптимальны:

bash
# Отключение ненужных фич для внутренних мостов
sudo ip link set dev br0 type bridge \
    multicast_snooping 0 \
    vlan_filtering 0 \
    stp_state 0

# Настройка очередей для лучшей производительности
sudo tc qdisc add dev br0 root fq

# Увеличение буферов сокетов
sudo sysctl -w net.core.rmem_max=134217728
sudo sysctl -w net.core.wmem_max=134217728
sudo sysctl -w net.core.netdev_max_backlog=30000

Безопасность сетевого моста

Внимание к безопасности: Bridge работает на уровне L2, что означает — весь трафик между VM виден другим участникам моста. Для изоляции используй VLAN или отдельные bridge.
  • Включи STP если есть физические петли
  • Используй VLAN tagging для разделения трафика
  • Ограничь MAC адресацию: bridge link set dev vnet0 learning off
  • Регулярно обновляй TrueNAS — сетевой стек получает исправления уязвимостей

Автоматизация и мониторинг

Для мониторинга состояния bridge используй эти команды:

bash
# Показать все bridge интерфейсы
bridge link show

# Детальная информация о конкретном bridge
bridge -d link show master br0

# Статистика по пакетам и ошибкам
ip -s link show br0

# Показать MAC таблицу bridge
bridge fdb show br br0

# Мониторинг в реальном времени
watch -n 1 "bridge -s fdb show br br0"

Часто задаваемые вопросы (FAQ)

Можно ли создать несколько bridge на одном интерфейсе?

Нет, физический интерфейс может быть только в одном bridge одновременно. Но можно создать несколько VLAN интерфейсов на физическом порту и каждый VLAN добавить в свой bridge.

Как мигрировать с существующей конфигурации на bridge?

Постепенно: 1) Создай bridge без IP, 2) Добавь физический интерфейс, 3) Назначь IP на bridge, 4) Обнови настройки DHCP/статики, 5) Перезагрузи сеть.

Bridge vs Bond: что выбрать?

Bond (агрегация) объединяет интерфейсы для увеличения пропускной способности или отказоустойчивости. Bridge объединяет сети на канальном уровне. Часто их используют вместе: создают bond из двух физических портов, а потом добавляют bond в bridge.

Почему не работает DHCP на bridge?

Проверь: 1) Включен ли forwarding, 2) Не блокирует ли firewall DHCP запросы (порт 67/68), 3) Правильно ли настроен DHCP relay если нужно.

Как удалить bridge и вернуть исходную конфигурацию?

bash
# Удаление bridge в TrueNAS Scale
sudo ip link set br0 down
sudo ip link delete br0

# Возврат IP на физический интерфейс
sudo ip addr add 192.168.1.10/24 dev enp3s0
sudo ip link set enp3s0 up

Сетевой мост в TrueNAS — мощный инструмент для построения гибкой сетевой инфраструктуры. Начни с простой конфигурации через Web UI, а по мере роста опыта переходи к тонкой настройке через командную строку. Помни: всегда тестируй изменения в тестовой среде перед применением в production.

Поделиться:
Сохранить гайд? В закладки браузера