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

Создание моста на EC2 приводит к потере связи

Я хочу создать мост в моем экземпляре EC2 и связать с ним IP-адрес.

Учитывая значение по умолчанию /etc/network/interfaces файл:

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp

Я просто добавляю в конец:

auto br0
iface br0 inet static
  address 10.0.3.1
  netmask 255.255.255.0
  bridge_ports eth0
  bridge_stp off
  bridge_maxwait 0
  post-up brctl setfd br0 0

Как только я перезапускаю сеть или просто запускаю ifup br0, Я теряю подключение к экземпляру EC2 (т.е. я больше не могу подключиться к нему по SSH).

Что может быть причиной?

Когда вы добавляете интерфейс к мосту, у реальных интерфейсов больше не должно быть связанных IP-адресов - они должны быть перемещены на мост. Ваша конфигурация должна выглядеть примерно так:

auto eth0
iface eth0 inet manual

auto br0
iface br0 inet dhcp
    bridge_ports eth0

Это должно привести к тому, что IP-адрес, предоставленный EC2, будет присоединен к br0.

Однако запуск моста в EC2 не очень полезен (не уверен насчет VPC, но определенно, если вы не используете VPC), поскольку у вас нет полного доступа уровня 2 к сети и вы не можете предоставить несколько, произвольные IP-адреса в сети. Сеть EC2 будет отклонять пакеты из ваших контейнеров LXC, если исходный IP-адрес не совпадает с IP-адресом экземпляра.

Вероятно, вы захотите создать мост для контейнеров LXC, но без eth0 в нем. Затем настроил переадресацию IP между eth0 и мостом с SNAT для исходящих соединений, чтобы EC2 видел только IP-адрес экземпляра.