Достигните контейнера LXC от virtualbox гостя на том же хосте

Это - хорошая общая практика для выполнения сервисов с непривилегированными учетными записями, когда это возможно. Для процессов, для которых нужны ресурсы только для корня (порты <1024, получая доступ к определенным файлам) процесс должен получить их и затем сразу отбросить полномочия.

Несколько других подсказок.. От Вашей фразы, "выполненной..., обрабатывают как тот же пользователь..., который разрабатывает код", это немного кажется, что разработчики являются написанием кода на производственных узлах. Вы используете некоторую форму исходной системы контроля изменений (например, мерзавец, svn)? Разработчики должны кодировать dev-только на машинах и согласиться на общий репозиторий, от которого можно выпустить стабильные сборки. Разверните код из репозитория после того, как это - интеграция, протестированная, и идеально упакуйте его для установки (DEB, об/мин, ЯЙЦО, и т.д.). Это уменьшит ошибки, проскальзывающие в производство, сделать выпуски повторяемыми, избежать потери кода, если хост упадет замертво и так далее.

4
задан 25 November 2013 в 12:09
3 ответа

Если вы можете проверить связь target, но не может получить там доступ к приложениям, то это почти наверняка проблема iptables.

Я предполагаю, что во время процесса обновления вы получили системный флаг "net.bridge.bridge-nf-call-iptables = 1" проверил ВКЛ в /etc/systcl.conf .

Если так, я бы не отказывался от него, а вместо этого пересмотрел настройку iptables.

0
ответ дан 3 December 2019 в 03:43

Имел точно такую же проблему. Почти наверняка "вина" VirtualBox, который, похоже, по-своему делает мост в сети, вероятно, остается последовательной на различных платформах (Mac, Solaris и другой). Свидетельство:

  • VBox мостовые сетевые интерфейсы не появляются в "brctl show" (как и в документации LXC veth's)
  • : "VirtualBox использует драйвер устройства на вашей хост-системе, который фильтрует данные из вашего физического сетевого адаптера"

Действительно странно, что ICMP проходит, но TCP (и, скорее всего, другие) не....

Однако, в документации также говорится, что "вы все еще можете использовать TAP-интерфейсы для определенных расширенных настроек", поэтому я изучил возможность прикрепления нового TAP-адаптера к моему мосту:

# ip tuntap add mode tap
# brctl addif brY tapX
# ip link set tapX up

Затем настроил сетевые параметры VBox на использование tapX вместо brY, и все прошло хорошо (после перезагрузки гостя).

Экспериментировал с двумя гостями, использующими один и тот же tapX, не уверен, что он работает так хорошо. Вероятно, безопаснее всего использовать один тапкс для каждого гостя VBox.

.
1
ответ дан 3 December 2019 в 03:43

Следуя предложению пользователя 228273, я смог найти конфигурацию, которая решила проблему: Сначала я создал интерфейс касания с именем tap0 и поднял его:

ip tuntap add mode tap tap0
ip link set tap0 up

если одна из предыдущих команд не работает, вероятно, это связано с тем, что у вас уже есть интерфейс tap0 . Используйте команду

ip link show

, чтобы оценить ситуацию и, в конечном итоге, изменить имя интерфейса. Теперь вы можете добавить интерфейс tap0 к мосту по умолчанию, который в Ubuntu называется lxcbr0 .

brctl addif lxcbr0 tap0

Затем я настроил свой VirtualBox для использования «мостового адаптера» на интерфейсе tap0 , как показано ниже:

VirtualBox configuration

И тогда экземпляр VirtualBox и LXC могут «видеть» друг друга.

Обновление 2019 г. : Если вы используете NetworkManager, вы можете добавить это с помощью nmcli:

nmcli connection add type tun ifname tap0 con-name tap0 mode tap master lxcbr0
2
ответ дан 3 December 2019 в 03:43

Теги

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