Я настраиваю LXC используя:
lxc-create -t ubuntu -n lxcguest1
Но я не могу получить доступ к каким-либо службам, запущенным на нем, из моей локальной сети, кажется, что это NAT. Как мне настроить его так, чтобы я мог получить к нему доступ (вероятно, ему нужно получить адрес dhcp от моего маршрутизатора Linksys)?
Благодарю.
networking
lxc
Бенджамин Брайан
источник
источник
Ответы:
Я только что решил эту проблему сам. В основном вам нужно настроить мост и привязать к нему сетевую карту и контейнер. Вот статья, за которой я следовал:
http://bj0z.wordpress.com/2011/08/19/howto-build-a-base-lxc-container-in-ubuntu-11-04/
Звучит так, как будто я, вам требуется решение «мост», а не решение NAT. Я также отключил настройку моста LXC по умолчанию (которая называется NAT). Для этого просто отредактируйте файл:
/etc/default/lxc
и изменитеUSE_LXC_BRIDGE="TRUE"
наUSE_LXC_BRIDGE="FALSE"
и перезагрузите компьютер.источник
Мои настройки на хостах Ubuntu 14.04.1 LTS (Trusty Tahr)
Добавить
/etc/network/interfaces
на хосте(перезагрузка после изменений)
И на файлы конфигурации контейнера (
/var/lib/lxc/containername/config
) я установилlxc.network.link = br0
При этом контейнер будет получать публичные ip-адреса от сервера dhcp, как и хост.
источник
<username> veth br0 2
к/etc/lxc/lxc-usernet
для того , чтобы использоватьbr0
с непривилегированных контейнерами.Я использовал настройки Ubuntu LXC по умолчанию и настроил свой маршрутизатор для отправки всего трафика 10.0.3.xxx на машину Ubuntu. На маршрутизаторе с поддержкой DD-WRT настройки выглядят примерно так, как показано на скриншоте ниже. Замените
192.168.1.137
на IP машины, на которой работает LXC. Другие маршрутизаторы должны иметь аналогичные параметры для настройки статического маршрута (например, здесь приведены инструкции по статическому маршруту для Linksys ).Это не связано, но я также использовал службу DNSMasq для указания имени хоста на IP-адрес контейнера LXC. Таким образом, я могу получить доступ к контейнеру в
http://gitlab/
любом месте сети. На мой взгляд, гораздо проще использовать имя хоста для доступа к контейнеру, чем помнить IP-адрес.источник
Error code: 4937 The IP address is not in the same subnet with LAN IP address. Please input another one.
(маршрутизатор содержит подсеть 192.168.xx, в то время как LXD / LXC находятся в подсети 10.0.xx)