IP-Überbrückung für LXC fehlt (Linux-Container)

1438
Lingyuan He

Ich verwende LXC (Linux Containers), um einen http-Server in einem VirtualBox-Setup zu hosten, aber die von mir erstellte einfache LXC-spezifische Bridge verfügt nicht über eine IP-Adresse. Daher ist sie auch in Ubuntu OS, das auf VirtualBox ausgeführt wird, nicht erreichbar. (Ich muss den Server nicht vom realen Host-Betriebssystem aus erreichen, aber ich erwähne es der Vollständigkeit halber.)

Ich habe zwei Methoden ausprobiert, zuerst die Bearbeitung von / etc / network / interface:

auto lxcbr0 iface lxcbr0 inet dhcp bridge_ports eth0 bridge_stp off bridge_fd 0 bridge_maxwait 0 

Es gibt keine spezielle Einstellung für LXC.

Zweiter ist use brctl:

sudo brctl addbr lxcbr0 sudo brctl addif lxcbr0 eth0 sudo ip link set dev lxcbr0 up 

In der ersten Methode zeigt ifconfig für LXC:

eth0 Link encap:Ethernet HWaddr 00:16:3e:e7:2c:8f  inet addr:10.0.2.26 Bcast:10.0.2.255 Mask:255.255.255.0 inet6 addr: fe80::216:3eff:fee7:2c8f/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:42 errors:0 dropped:0 overruns:0 frame:0 TX packets:29 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000  RX bytes:6146 (6.1 KB) TX bytes:2666 (2.6 KB) 

Aber beim Gastgeber gibt es keine:

lxcbr0 Link encap:Ethernet HWaddr 08:00:27:2b:85:76  inet6 addr: fe80::a00:27ff:fe2b:8576/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:168 errors:0 dropped:0 overruns:0 frame:0 TX packets:56 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0  RX bytes:9826 (9.8 KB) TX bytes:8968 (8.9 KB)  vethFEBAAO Link encap:Ethernet HWaddr fe:5c:88:b0:88:3b  inet6 addr: fe80::fc5c:88ff:feb0:883b/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:33 errors:0 dropped:0 overruns:0 frame:0 TX packets:51 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000  RX bytes:3026 (3.0 KB) TX bytes:7041 (7.0 KB) 

Es gibt keine IPv4-Adresse für die Bridge auf der Host-Seite. Die zweite Methode hat auch ein ähnliches Problem.

Was vermisse ich?

3

1 Antwort auf die Frage

0
JakeGould

Ich verwende LXC, um einen HTTP-Server in VirtualBox zu hosten, aber die von mir erstellte einfache Brücke hat keine IP-Adresse, daher ist sie im Host nicht erreichbar.

Ich weiß, Ihre Frage bezieht sich speziell auf LXC (Linux Containers), was ich nicht zu 100% mache, aber ich werde einige Ratschläge geben, die auf meinem Wissen über Gastbetriebssysteme basieren, um Betriebssystemverbindungen in VirtualBox zu hosten. Vielleicht passt dies zu Ihrem LXC-spezifischen Problem?

Sie sagen, Sie möchten ein einfaches Bridge-Setup zwischen dem VirtualBox-Gast und dem Host einrichten, aber für welche Einstellungen haben Sie in VirtrualBox vboxnet0? Meines Wissens gibt es zwei Orte, an denen die Netzwerkeinstellungen angepasst werden müssen, damit ein solches Setup funktioniert: im Gastbetriebssystem, aber auch im Hostbetriebssystem.

Ich verwende einen Mac, aber das allgemeine Konzept sollte für alle anderen gelten, die VirtualBox unter Windows oder Linux verwenden: Sie benötigen zwei Adapter auf einem VirtualBox-Gastbetriebssystem, um eine ausgehende Netzwerkverbindung auf der 10.xxx network as well as a connection on the host only network which is usually192.168.xx zu gewährleisten .

Wenn ich beim Start von VirtualBox auf "Preferences" gehe und dann auf das Symbol "Network" und dann auf die Registerkarte "Host-only Networks" klicke, bekomme ich eine Liste der von mir eingerichteten Adapter:

enter image description here

Wenn Sie dann - wie im Screenshot gezeigt - vboxnet0das Schraubendrehersymbol auswählen und dann auf dieses Symbol klicken, kann ich die Optionen ändern. Screenshot unten:

enter image description here

Ich habe die „IPv4-Adresse“ auf 192.168.56.1und die zugehörige IPv4 Network MaskEinstellung auf gesetzt 255.255.255.0. Jetzt habe ich normalerweise den DHCP-Server deaktiviert, wie im folgenden Screenshot gezeigt:

enter image description here

Sobald dies eingerichtet ist, vergewissere ich mich, dass das Gastbetriebssystem in VirtualBox den Adapter wie folgt aktiviert hat:

enter image description here

Beachten Sie, dass ich einen Host-Only-Adapter festgelegt habe und der Adapter zugeordnet ist vboxnet0. Sobald dies geschehen ist, sollte das Gastbetriebssystem das Host-Only-Setup vollständig kennen, und Sie sollten bereit sein, dies zu tun.

Danke für die Antwort, ich glaube, ich habe meine Situation falsch angegeben. Ich muss den Server nicht vom realen Host-Betriebssystem aus erreichen, aber ich erwähne VirtualBox der Vollständigkeit halber. Alles, was ich tun muss, ist den Server im Container von dem Betriebssystem aus zu erreichen, das auf VirtualBox läuft. Lingyuan He vor 9 Jahren 1
@LingyuanHe Ahhh, okay… Der LXC-Host für den LXC-Container. Definitiv nicht, was ich anspreche. Werde das erstmal belassen. Könnte später gelöscht oder aktualisiert werden, wenn ich über eine Antwort stolpere. JakeGould vor 9 Jahren 0
@ LingyuanHe Sehen Sie die Antwort hier zufällig? http://ubuntuforums.org/showthread.php?t=2137446&p=12673212#post12673212 JakeGould vor 9 Jahren 0
Das ist hilfreich, ich werde dort etwas versuchen, aber ich muss immer noch nach einer Lösung für temporäre brctl bridge suchen, die für meine Bedürfnisse angemessener erscheint. Vielen Dank! Lingyuan He vor 9 Jahren 1