Linux LXD容器无法从DHCP Ubuntu 16.04 TLS获取IP

时间:2016-06-22 05:24:43

标签: networking lxc ubuntu-server lxd

这是我第一次设置LXD来运行多个容器。我已完成所有配置步骤,但我的容器没有从我的组织内运行的DHCP服务器获取IP地址。请帮帮我。

我正在使用Bridge接口配置文件。以下是我所做的更改:

root@DMG-LXD-TVM2:~# vi /etc/network/interfaces

auto  br0
iface br0   inet dhcp
    bridge-ports ens32
    bridge-ifaces ens32
iface ens32 inet dhcp


root@DMG-LXD-TVM2:~# lxc list
| NAME        |  STATE  |       IPV4       | IPV6 |    TYPE    | SNAPSHOTS |
| Continer1   | RUNNING |                  |      | PERSISTENT | 0         |

IP and interface details what i setup on my ubuntu machine

Dhcp message when doing ifdown eth0 && ifup eth0 inside container

1 个答案:

答案 0 :(得分:2)

这是一个较老的问题,但我决定回答它,因为我遇到了同样的话题并且解决方案并不是很明显。

如果您希望容器从外部设备(例如,互联网路由器,公司dhcp服务器)获取其IP配置,则需要在创建时告知它。这是通过配置参数对*ngIf完成的 由于此配置位于“用户”空间,因此它不是标准的,但适用于ubuntu 16.04。有关详细信息,请参阅:https://github.com/lxc/lxd/blob/master/doc/configuration.md

第1步:在user.network_mode=dhcp

中的主机上创建桥接
/etc/network/interfaces

步骤2:创建一个名为mydhcp的自己的lxd配置文件

 auto br0
 iface br0 inet dhcp
    bridge_ports ens32
    bridge_stp off
    bridge_fd 0 

或通过调用

重新配置默认的lxd配置
lxd profile create mydhcp

(您需要在第一个提示中选择并添加第二个提示,然后输入您的桥名称)

如果您使用自己的个人资料,请进行修改

sudo dpkg-reconfigure -p medium lxd

粘贴以下内容

lxc profile edit mydhcp

(注意空格 - 这是一个YAML文件,空格很重要!)

步骤3:使用mydhcp profile

创建一个新容器
name: mydhcp
config:
  user.network_mode: dhcp
description: Profile for creating dhcp containers
devices:
  eth0:
    name: eth0
    nictype: bridged
    parent: br0
    type: nic

如果您在上一步中更改了默认的lxd配置,只需输入

即可
lxc launch ubuntu:16.04 mydhcpcontainer -p mydhcp -c user.network_mode=dhcp

使用

检查新容器的IP地址
lxc launch ubuntu:16.04 mydhcpcontainer -c user.network_mode=dhcp