Ich richte LXC ein mit:
lxc-create -t ubuntu -n lxcguest1
Ich kann jedoch nicht über mein LAN auf Dienste zugreifen, die darauf ausgeführt werden. Es scheint NAT zu sein. Wie richte ich es so ein, dass ich darauf zugreifen kann (wahrscheinlich muss es die DHCP-Adresse von meinem Linksys-Router erhalten)?
Vielen Dank.
networking
lxc
Benjamin Bryan
quelle
quelle
Antworten:
Ich habe mich gerade selbst mit diesem Thema befasst. Grundsätzlich müssen Sie eine Bridge einrichten und Ihre Netzwerkkarte und den Container daran binden. Hier ist der Artikel, dem ich gefolgt bin:
http://bj0z.wordpress.com/2011/08/19/howto-build-a-base-lxc-container-in-ubuntu-11-04/
Klingt so, als ob Sie wie ich eher die Bridge-Lösung als die NAT-Lösung benötigen. Ich habe auch das Standard-LXC-Bridge-Setup deaktiviert (welches NAT'ed ist). Bearbeiten Sie dazu einfach die Datei:
/etc/default/lxc
und wechseln SieUSE_LXC_BRIDGE="TRUE"
zuUSE_LXC_BRIDGE="FALSE"
und starten Sie neu.quelle
Mein Setup auf Ubuntu 14.04.1 LTS (Trusty Tahr) Hosts
Zum
/etc/network/interfaces
Host hinzufügen(Neustart nach Änderungen)
Und auf die Container-Konfigurationsdateien (
/var/lib/lxc/containername/config
) habe ich gesetztlxc.network.link = br0
Damit erhält der Container wie der Host öffentliche IP-Adressen vom DHCP-Server.
quelle
<username> veth br0 2
,/etc/lxc/lxc-usernet
um esbr0
mit nicht privilegierten Containern zu verwenden.Ich habe die Standardeinstellungen von Ubuntu LXC verwendet und meinen Router so konfiguriert, dass der gesamte Datenverkehr auf 10.0.3.xxx an den Ubuntu-Computer gesendet wird. Auf einem DD-WRT-fähigen Router sehen die Einstellungen ungefähr so aus wie in der Abbildung unten. Ersetzen Sie
192.168.1.137
durch die IP des Computers, auf dem LXC ausgeführt wird. Andere Router sollten über ähnliche Optionen zum Einrichten einer statischen Route verfügen (hier finden Sie Anweisungen zur statischen Route für Linksys ).Dies hat nichts mit dem Problem zu tun, aber ich habe auch den DNSMasq-Dienst verwendet, um einen Hostnamen auf die IP-Adresse des LXC-Containers zu verweisen. Auf diese Weise kann ich von
http://gitlab/
überall im Netzwerk auf den Container zugreifen . Meiner Meinung nach ist es viel einfacher, einen Hostnamen für den Zugriff auf einen Container zu verwenden, als sich die IP-Adresse zu merken.quelle
Error code: 4937 The IP address is not in the same subnet with LAN IP address. Please input another one.
(Der Router hat das Subnetz 192.168.xx, während LXD / LXC sich im Subnetz 10.0.xx befindet.)