如何设置 LXC 来宾,以便它获得 dhcp 地址,以便我可以在我的网络上访问它?

Ben*_*yan 15 networking lxc

我使用以下方法设置 LXC:

lxc-create -t ubuntu -n lxcguest1
Run Code Online (Sandbox Code Playgroud)

但是我无法从我的 LAN 访问在它上面运行的任何服务,它似乎是 NATed。我如何设置它以便我可以访问它(它可能需要从我的 Linksys 路由器获取它的 dhcp 地址)?

谢谢。

use*_*168 5

我刚刚自己处理了这个问题。基本上你需要设置一个网桥并将你的网卡和容器绑定到它。这是我关注的文章:

http://bj0z.wordpress.com/2011/08/19/howto-build-a-base-lxc-container-in-ubuntu-11-04/

听起来好像和我一样,您需要“桥接”解决方案而不是 NAT 解决方案。我还关闭了默认的 LXC 网桥设置(经过 NAT 处理)。为此,只需编辑文件:/etc/default/lxc并更改USE_LXC_BRIDGE="TRUE"USE_LXC_BRIDGE="FALSE"并重新启动。


Epe*_*eli 5

我在 Ubuntu 14.04.1 LTS (Trusty Tahr) 主机上的设置

添加到/etc/network/interfaces主机上

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
    address 0.0.0.0

auto br0
iface br0 inet dhcp
    bridge_ports eth0
Run Code Online (Sandbox Code Playgroud)

(修改后重启)

在容器配置文件 ( /var/lib/lxc/containername/config) 上我设置lxc.network.link = br0

有了这个,容器将像主机一样从 dhcp 服务器获取公共 IP 地址。

  • 谢谢。我缺少的是需要将 `<username> veth br0 2` 添加到 `/etc/lxc/lxc-usernet` 以便将 `br0` 用于非特权容器。 (3认同)