我在用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 usually
192.168.xx 上的传出网络连接。
如果我在启动 VirtualBox 时转到“首选项”,然后单击“网络”图标,再单击“仅主机网络”选项卡,我就会得到已设置的适配器列表:
然后——如屏幕截图所示——如果我选择vboxnet0
并单击螺丝刀图标,我就可以更改选项。下面的屏幕截图:
我将“IPv4 地址”设置为192.168.56.1
,并将相关IPv4 Network Mask
设置为255.255.255.0
。现在我通常会禁用 DHCP 服务器,如以下屏幕截图所示:
设置完成后,我会确保 VirtualBox 中的客户操作系统已启用适配器,如下所示:
请注意,我已指定“仅主机适配器”,并且该适配器与相关联vboxnet0
?完成此操作后,客户操作系统应完全了解仅主机设置,并且您应该一切顺利。