我正在尝试让 lxc 容器通过桥接网络连接运行,以便容器像主机一样从 dhcp 服务器获取 IP 地址。
我红色了几个教程,但我找不到明确提到 15.04 的教程。它们大多是关于 ubuntu 12 的。所以也许这就是问题所在?
这是我尝试过的:
- 安装ubuntu 15.04服务器
sudo apt-get install lxc lxctl lxc-templates
- 以 root 身份安装 lxc webpanel:
wget http://lxc-webpanel.github.io/tools/install.sh -O - | bash
/etc/network/interfaces
更改为以下内容:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet manual
auto br0
iface br0 inet dhcp
bridge_ports eth0
bridge_stp off
bridge_fd 0
bridge_maxwait 0
- 重新启动后我
lxcbr0
有br0
ifconfig
- 在 webpanel 中创建一个 lxc 容器,其中包含 ubuntu
- 在 webpanel 中,配置要使用的新容器,
br0
而不是lxcbr0
- 启动容器
=> 新容器的 MAC 在 dhcp 服务器租约列表中不可见,并且登录到容器并lxc-console
运行ifconfig
显示它没有获得 IP 地址。
顺便提一句。如果我保留lxcbr0
容器会获得一个 IP 地址,但该地址是伪装的并且无法从外部访问。但这是有效的。
我在这里缺少什么?也许有一些安全问题?
[编辑]
brctl show
显示如下:
bridge name bridge id STP enabled interfaces
br0 8000.000c29e793a1 no eth0
vethSCX4N3
lxcbr0 8000.000000000000 no
此外,ubuntu 15.04 服务器在 esxi 6.0 上运行。 [/编辑]
答案1
yaegashi 的 VMWare 评论将我推向了正确的方向。我必须在 esxi 主机上的虚拟机端口组上启用混杂模式。否则,虚拟交换机将不允许流量通过具有与虚拟适配器的 MAC 地址不同的 MAC 地址的端口。