Назад | Перейти на главную страницу

Ubuntu 14: как настроить мост для связанного интерфейса?

У нас есть сервер, подключенный к 2 коммутаторам через два сетевых адаптера. На каждом сетевом адаптере есть 2 VLAN, управляющая и производственная. Прямо сейчас у нас подключен только один коммутатор, поэтому мы не настраивали связующее дерево и т. Д.

У нас установлен LXC, и мы хотим соединить (а не через NAT) контейнеры XLC (чтобы они находились в той же подсети, что и хост).

Когда мы пытаемся создать мост в / etc / network / interfaces на главном сервере ubuntu, сеть не запускается, и мы должны перейти к консоли, удалить изменения и перезагрузиться (к счастью, у нас есть карты LOM!)

файл интерфейсов:

auto em1.3
iface em1.3 inet manual
bond-master bond2
bond-primary em1.3

auto em2.3
iface em2.3 inet manual
bond-master bond2

auto bond2 #Production VLAN
iface bond2 inet static
address 10.100.100.10
netmask 255.255.255.0
gateway 10.100.100.1
dns-nameservers 10.100.10.1
bond-slaves em1.3, em2.3
bond-miimon 100
bond-mode active-backup
dns-nameservers 10.100.100.1

auto br_prod
iface br_prod inet dhcp
   bridge_ports bond2
   bridge_fd 0
   bridge_maxwait 0

Когда мы добавляем последний раздел (br_prod), сервер не запускает сеть, и мы должны использовать консоль. Он говорит: «ждать еще 60 секунд для запуска сети», но этого не происходит.

Я также пробовал добавить

pre-up ifup bond2
post-down ifup bond2

Пытался сделать это вручную.

Пытался сделать его статическим, а не DHCP, указав соответствующий IP / шлюз / маску сети. Не повезло.

Пробовали назвать его br2 вместо br_prod, пробовали pre_up post_down, bridge-ports и т. Д. Мы пробовали все комбинации опций, переключателей и подчеркиваний и тире. Всегда тот же эффект - сеть не запускается (без ошибок).

Любые идеи?

ОБНОВЛЕНИЕ 1

Из ответа электрометра ниже я попробовал это:

auto bond1
iface bond1 inet static
  address 10.30.30.10
  netmask 255.255.255.0
  #bond-slaves em1.2, em2.2
  bond-slaves none
  bond-miimon 100
  bond-mode active-backup
  up route add -net .....

auto em1.2
iface em1.2 inet manual
  bond-master bond1
  bond-primary em1.2

auto em2.2
iface em2.2 inet manual
    bond-master bond1
    bond-primary em1.2

br1
iface br1 inet manual
   bridge_ports bond1
   bridge_fd 0
   bridge_maxwait 0

Но возникает та же проблема - сеть не запускается.

ОБНОВЛЕНИЕ 2

Спасибо за вклад Оливера. Я попробовал эту конфигурацию, и сеть появилась, я могу использовать ifconf, чтобы увидеть интерфейсы, но я не могу использовать ssh, поскольку маршрутизация не работает. в основном я не могу пинговать шлюз по умолчанию, используя добавленный вручную маршрут.

auto em1.2
iface em1.2 inet manual

auto em2.2
iface em2.2 inet namual

auto bond1
iface bond1 inet manual
   bond-slaves em1.2 em2.2
   bond-mode active-backup

auto br10
iface br10 inet static
    address 10.30.30.10
    netmask 255.255.255.0
    bridge_ports bond1
    up route add -net 10.242.1.0/24 gw 10.30.30.1 dev bond1 # also tried dev br10

Причина, по которой мы устанавливаем шлюз вручную, заключается в том, что у нас есть определенные сети: производство и управление. У нас есть 2 интерфейса, каждый из которых подключен к коммутатору. Каждый интерфейс выполняет аварийное переключение для обеих сетей, а производственная сеть имеет шлюз по умолчанию. Сейчас я просто пытаюсь установить мост в сети управления для начала.

ОБНОВЛЕНИЕ 3

В ходе длинной череды проб и ошибок я также попытался указать VLAN:

auto em1.2
iface em1.2 inet manual

auto em2.2
iface em2.2 inet manual

auto bond1
iface bond1 inet manual
    bond-slaves em1.2 em2.2
    bond-mode active-backup

auto br10.2
iface br10.2 inet static
    address 10.30.30.10
    netmask 255.255.255.0
    bridge_ports bond1
    up route add -net 10.242.1.0/24 gw 10.30.30.1 dev br10.2

Проверено следующее на виртуальной машине Ubuntu:

  • Создайте интерфейс соединения активного резервного копирования с физическими интерфейсами em1 и em2:

    auto bond0
    iface bond0 inet manual
        bond-slaves none
        bond-mode active-backup
    
    auto em1
    iface em1 inet manual
        bond-master bond0
    
    auto em2
    iface em2 inet manual
        bond-master bond0
    
  • Создайте первый мост, который также можно использовать для управления машиной по указанному IP-адресу. Для этого мы используем VLAN 100:

    auto br100
    iface br100 inet static
        address 10.100.100.10
        netmask 255.255.255.0
        gateway 10.100.100.1
        bridge_ports bond0.100
    
  • Создайте второй мост, используемый для производственного трафика, мы предполагаем, что это VLAN 200:

    auto br200
    iface br200 inet manual
        bridge_ports bond0.200
    

Теперь вы можете добавить свои контейнеры или виртуальные машины в br100 и / или br200, в зависимости от ваших потребностей.

Обновлено: Изменен способ создания bond0. Вместо того, чтобы ссылаться на физические интерфейсы от мастера связывания, теперь физические интерфейсы указывают на мастер связывания.

Вот аналогичная настройка, которая работает для хоста докеров. Надеюсь, это укажет вам правильное направление.

# Interface bond_lan
auto bond_lan
iface bond_lan inet manual
    slaves none
    bond-mode active-backup
    bond-miimon 100

# Interface bridge_lan
auto bridge_lan
iface bridge_lan inet static
    address 10.10.10.129
    netmask 255.255.0.0
    gateway 10.10.0.1
    bridge_ports bond_lan
    bridge_stp on
    bridge_fd 0
    bridge_maxwait 0

# Interface em1
auto em1
iface em1 inet manual
    bond-master bond_lan
    bond-primary em1

# Interface em2
auto em2
iface em2 inet manual
    bond-master bond_lan
    bond-primary em1

# Interface lo
auto lo
iface lo inet static
    address 127.0.0.1
    netmask 255.0.0.0