LXC(Linux 容器)缺少桥接 IP

LXC(Linux 容器)缺少桥接 IP

我在用LXC(Linux容器)在 VirtualBox 设置中托管 http 服务器,但我创建的简单 LXC 特定网桥没有 IP 地址,因此即使在 VirtualBox 上运行的 Ubuntu 操作系统中也无法访问它。(我不需要从真实主机操作系统访问服务器,但是为了完整性我提到了这一点)

我尝试了两种方法,第一种是编辑 /etc/network/interfaces:

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

LXC 没有特殊设置。

第二个是使用 brctl:

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

在第一种方法中,对于 LXC,ifconfig 显示:

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)

但在主机上,没有:

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)

主机端网桥没有IPv4地址。第二种方法也有类似的问题。

我错过了什么?

答案1

我正在使用 LXC 在 VirtualBox 中托管 http 服务器,但是我创建的简单网桥没有 IP 地址,因此无法在主机中访问它。

我知道你的问题具体是关于LXC(Linux容器)对此我并不是 100% 了解,但我会根据我所了解的有关 VirtualBox 中客户操作系统与主机操作系统连接的信息提供一些建议。也许这与您的 LXC 特定问题相吻合?

你说你想在 VirtualBox 客户机和主机之间建立一个简单的桥接设置,但是你在 VirtrualBox 中做了哪些设置vboxnet0?据我所知,有两个地方需要调整网络设置才能使这样的设置正常工作:在客户机操作系统内,也在主机操作系统本身上。

我使用的是 Mac,但对于在 Windows 或 Linux 上使用 VirtualBox 的任何人来说,一般概念应该是相同的:您需要在 VirtualBox 客户操作系统上安装两个适配器,以确保 10.xxx network as well as a connection on the host only network which is usually192.168.xx 上的传出网络连接。

如果我在启动 VirtualBox 时转到“首选项”,然后单击“网络”图标,再单击“仅主机网络”选项卡,我就会得到已设置的适配器列表:

在此处输入图片描述

然后——如屏幕截图所示——如果我选择vboxnet0并单击螺丝刀图标,我就可以更改选项。下面的屏幕截图:

在此处输入图片描述

我将“IPv4 地址”设置为192.168.56.1,并将相关IPv4 Network Mask设置为255.255.255.0。现在我通常会禁用 DHCP 服务器,如以下屏幕截图所示:

在此处输入图片描述

设置完成后,我会确保 VirtualBox 中的客户操作系统已启用适配器,如下所示:

在此处输入图片描述

请注意,我已指定“仅主机适配器”,并且该适配器与相关联vboxnet0?完成此操作后,客户操作系统应完全了解仅主机设置,并且您应该一切顺利。

相关内容