在/ etc / network / interfaces和dnsmasq中复制lxd桥

我有一个Ubuntu 16.04服务器和默认的LXDconfiguration。

通常,当图像出现时,会发生这种情况:

eno1 Link encap:Ethernet HWaddr b8:ae:ed:ea:69:41 inet addr:192.168.0.3 Bcast:192.168.0.255 Mask:255.255.255.0 inet6 addr: fe80::baae:edff:feea:6941/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:116948 errors:0 dropped:3 overruns:0 frame:0 TX packets:59726 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:161031770 (161.0 MB) TX bytes:4656462 (4.6 MB) Interrupt:16 Memory:df100000-df120000 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:177 errors:0 dropped:0 overruns:0 frame:0 TX packets:177 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1 RX bytes:13388 (13.3 KB) TX bytes:13388 (13.3 KB) lxdbr0 Link encap:Ethernet HWaddr fe:5c:57:cd:bd:72 inet addr:10.41.63.1 Bcast:0.0.0.0 Mask:255.255.255.0 inet6 addr: fd6d:c772:b128:ebfd::1/64 Scope:Global inet6 addr: fe80::d08c:f9ff:fed9:5cd1/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:39 errors:0 dropped:0 overruns:0 frame:0 TX packets:78 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:5064 (5.0 KB) TX bytes:11128 (11.1 KB) vethD7L5U9 Link encap:Ethernet HWaddr fe:5c:57:cd:bd:72 inet6 addr: fe80::fc5c:57ff:fecd:bd72/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:39 errors:0 dropped:0 overruns:0 frame:0 TX packets:75 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:5610 (5.6 KB) TX bytes:10322 (10.3 KB) 

图像看起来像这样:

 +-------+---------+---------------------+-----------------------------------------------+------------+-----------+ | NAME | STATE | IPV4 | IPV6 | TYPE | SNAPSHOTS | +-------+---------+---------------------+-----------------------------------------------+------------+-----------+ | first | RUNNING | 10.41.63.206 (eth0) | fd6d:c772:b128:ebfd:216:3eff:fe9d:ef41 (eth0) | PERSISTENT | 0 | +-------+---------+---------------------+-----------------------------------------------+------------+-----------+ 

我想select使用我自己的桥梁,因为这是重新configuration的一个选项。 看起来不像我想的那么简单。

我创build了一个简单的桥梁。

 iface vbr0 inet static address 10.10.10.1 broadcast 255.255.255.0 pre-up brctl addbr vbr0 post-down brctl delbr vbr0 

我重新启动我的容器,并没有得到一个IP。

 +-------+---------+------+------+------------+-----------+ | NAME | STATE | IPV4 | IPV6 | TYPE | SNAPSHOTS | +-------+---------+------+------+------------+-----------+ | first | RUNNING | | | PERSISTENT | 0 | +-------+---------+------+------+------------+-----------+ 

但是,一定要做好准备。

 vbr0 Link encap:Ethernet HWaddr fe:da:17:ca:ab:e0 inet addr:10.10.10.1 Bcast:255.255.255.0 Mask:255.0.0.0 inet6 addr: fe80::e83b:1aff:fe18:4652/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:36 errors:0 dropped:0 overruns:0 frame:0 TX packets:10 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:7632 (7.6 KB) TX bytes:908 (908.0 B) vethWLPBCC Link encap:Ethernet HWaddr fe:da:17:ca:ab:e0 inet6 addr: fe80::fcda:17ff:feca:abe0/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:19 errors:0 dropped:0 overruns:0 frame:0 TX packets:10 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:4410 (4.4 KB) TX bytes:948 (948.0 B) 

这是没有dnsmasq运行(哪一个会期望),所以我不知道在哪里发挥作用。 如果我手动运行,我的容器得到IP地址(重新启动后)。

有人可以指示如何复制lxdbr0桥和相应的dnsmasq实例吗?

桥+ dnsmasq访客networking

看起来你缺lessLXC / LXD通常为你处理的两个步骤。 使用LXC,这是由lxc-net服务处理的。

基本上会发生什么呢?

  1. 桥被创build
  2. 启动一个dnsmasq实例,在网桥接口上侦听
  3. 添加iptables规则以提供NAT,DHCP和基本的ICMPstream量。

如果您查看lxc-net init脚本的源代码,则可以看到这种确切的行为。 (可能相当于lxd

部署它

你可以:

  1. 从lxc /你的发行版中复制和修改lxc-net脚本(查看/etc/init/lxc-net或者到这里: lxc-net(官方主站)) 。
    • 把它放在init脚本( /etc/init/ )中,并命名为独特的。 然后,您可以开始/停止它,就好像它是自己的服务一样。
  2. 编写你自己的脚本,基于现有的脚本。

你会想要添加这个脚本来代替你的pre-up / post-down命令。 确保它被标记为可执行文件。