[英]LXD: LXC Network Edit Results in Error: Not Found
我希望将可预测的网桥与LXD一起使用,以便我可以在所有流量上作为该代理的代理运行squid,并添加ebtables规则以过滤流量。
所以我编辑了/ etc / network / interfaces以添加网桥:
auto cdplxdbr0
iface cdplxdbr0 inet static
address 192.168.1.2
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
dns-nameservers 127.0.0.1
bridge_ports enp0s10f1
#auto enp0s10f1
iface enp0s10f1 inet manual
重新启动后,界面可以正确显示,如下图所示
cdplxdbr0 Link encap:Ethernet HWaddr 00:15:5d:7a:3f:01
inet addr:192.168.1.2 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::215:5dff:fe7a:3f01/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1042261 errors:0 dropped:0 overruns:0 frame:0
TX packets:7 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:103937980 (103.9 MB) TX bytes:738 (738.0 B)
enp0s10f0 Link encap:Ethernet HWaddr 00:15:5d:7a:3f:00
inet addr:10.91.128.126 Bcast:10.91.131.255 Mask:255.255.252.0
inet6 addr: fe80::215:5dff:fe7a:3f00/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:445061 errors:0 dropped:417 overruns:0 frame:0
TX packets:11474 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:91505926 (91.5 MB) TX bytes:2185293 (2.1 MB)
enp0s10f1 Link encap:Ethernet HWaddr 00:15:5d:7a:3f:01
inet addr:10.91.130.127 Bcast:10.91.131.255 Mask:255.255.252.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1541116 errors:0 dropped:0 overruns:0 frame:0
TX packets:990 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:237056633 (237.0 MB) TX bytes:43292 (43.2 KB)
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:5921 errors:0 dropped:0 overruns:0 frame:0
TX packets:5921 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1
RX bytes:490582 (490.5 KB) TX bytes:490582 (490.5 KB)
接下来,我将设备eth0添加到默认的LXD配置文件中,这也可以正确显示:
$ lxc profile show default
name: default
config: {}
description: Default LXD profile
devices:
eth0:
name: eth0
nictype: bridged
parent: cdplxdbr0
type: nic
usedby: []
检查配置时:
$ lxc network show cdplxdbr0
name: cdplxdbr0
config: {}
managed: false
type: bridge
usedby: []
我希望为设备分配一个静态IP地址,并为IPv4使用NAT,所以我做了如下操作:
$ cat /cdp/endor/scripts/lxd/lxdbr1.yml | lxc network edit cdplxdbr0
error: not found
lxdbr1.yml的内容为:
name: cdplxdbr0
config:
ipv4.address: 192.168.1.1/24
ipv4.nat: true
ipv6.address: none
managed: false
type: bridge
我不确定此配置有什么问题。 使用默认配置的网桥时,LXD本身所做的事情似乎是正确的。
在您的设置中,桥接的cdplxdbr0在系统级别定义为与物理网络桥接。
在这种模式下,所有LXD支持都将您的容器附加到该容器上,因为它假定该网络上已有一个网关,并且不应该接管它。
因此,要分配静态DHCP租约,您应该在运行物理网络的任何设备上配置它们,而不是通过LXD。
或者,您可以将容器配置为不使用DHCP,而使用静态网络配置。 在容器中手动配置(对于Ubuntu或Debian容器,为/ etc / network / interfaces);如果在容器中使用Ubuntu 16.04或更高版本,则可以通过cloud-init将user.network-config设置为有效的cloud-init网络v1配置来进行配置yaml。
http://curtin.readthedocs.io/en/latest/topics/networking.html记录了user.network-config键的有效输入。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.