Будут ли NAT-мосты LXC непривилегированными контейнерами маршрутизировать http-вызовы на хост-http-сервер через локальную сеть?

  1. Пользователь A имеет http-сервер, работающий на хост-машине Ubuntu с IP-адресом «HostIP» и портом 8081.
  2. Теперь пользователь A создает непривилегированный контейнер lxc (container1).
  3. Пользователь A входит в систему lxc-attach -n container1.
  4. Теперь пользователь root внутри контейнера1 выполняет вызов, например http://HostIP:8081/api, вызов
  5. ,
,

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

Наша сетевая конфигурация LXC:

lxc.network.type = veth
lxc.network.link = lxcbr0
lxc.network.flags = up
lxc.network.hwaddr = 00:16:3e:30:d2:42

Все контейнеры работают внутри главного компьютера Ubuntu.

0
задан 6 July 2018 в 21:30

1 ответ

Подводя итог подробностям, которые вы мне сообщили, я могу ответить на это:

  • Сетевой мост LXC настроен для подключения через NAT
  • Сетевой мост LXC - [ 111] не напрямую не подключен к сети LAN, в которой находится хост-система

Имея эту информацию в руках, ваш ответ: Возможно . И это полностью зависит от хост-компьютера и от того, достаточно ли он умен, чтобы не перенаправлять трафик на адрес локальной сети с моста LXC через сеть локальной сети. (Это не всегда так)

Когда вы используете IP-адрес хост-компьютера, который у него есть для локальной сети, вполне возможно, что ваш компьютер будет тупым и неправильно маршрутизирует пакет, то есть пакет, направляемый на хост-компьютер по адресу LAN не диапазон частных IP-адресов для сети LXC), может передаваться на остальную часть LAN. Это не редкость, но это определенно не то, что вы ищете.

При работе с гостями LXC / LXD, подключенными к хосту, вы должны использовать IP-адрес шлюза от гостей (фактически частный IP-адрес на мосту LXC / LXD, который является хостом компьютер имеет так, что он может NAT правильно направлять трафик к другим пунктам назначения), когда трафик направляется напрямую из контейнеров на хост и наоборот. Таким образом, трафик, направляемый от вашего гостя к вашему хосту (и наоборот), никогда не покидает ваш компьютер, так как он знает маршруты к гостю и хосту соответственно через эту ссылку NAT.

Если ваша подсеть для вашего моста, например, 192.168.230.0/24, и у гостя LXC есть IP-адрес 192.168.230.10, а у вашего хост-компьютера 192.168.230.1, поэтому он ведет себя как маршрутизатор для гостей (это типичная настройка моста NAT, но с разными диапазонами IP), тогда вы должны использовать 192.168.230.1 вместо адреса локальной сети хост-системы, чтобы избежать утечки данных в сеть LAN.

0
ответ дан 6 July 2018 в 21:30

Другие вопросы по тегам:

Похожие вопросы: