如何将 br_netfilter 添加到 LXD 容器

如何将 br_netfilter 添加到 LXD 容器

我正在使用 ubuntu 16.04 (主机和容器) 设置的容器内运行 devstack。我在容器中看到了这个问题:

stack@devstack-2:~/devstack$ ll /proc/sys/net/bridge/
ls: cannot access '/proc/sys/net/bridge/': No such file or directory

而在主机上则没问题:

stack@dl-360-116:~$ ll /proc/sys/net/bridge/
total 0
dr-xr-xr-x 1 root root 0 Aug 24 01:42 ./
dr-xr-xr-x 1 root root 0 Aug 23 20:47 ../
-rw-r--r-- 1 root root 0 Aug 24 01:42 bridge-nf-call-arptables
-rw-r--r-- 1 root root 0 Aug 24 01:42 bridge-nf-call-ip6tables
-rw-r--r-- 1 root root 0 Aug 24 01:42 bridge-nf-call-iptables
-rw-r--r-- 1 root root 0 Aug 24 01:42 bridge-nf-filter-pppoe-tagged
-rw-r--r-- 1 root root 0 Aug 24 01:42 bridge-nf-filter-vlan-tagged
-rw-r--r-- 1 root root 0 Aug 24 01:42 bridge-nf-pass-vlan-input-dev

有人知道如何配置 lxd/lxc 以在容器中添加此路径吗?

答案1

您需要创建或使用启用 br_netfilter 模块的现有配置文件

$ lxc profile create mod_br_netfilter
$ lxc profile set mod_br_netfilter linux.kernel_modules br_netfilter
$ lxc profile show mod_br_netfilter
  name: mod_br_netfilter  
  config:
    linux.kernel_modules: br_netfilter
  description: ""
  devices: {}
$ lxc launch ubuntu:latest YOURcontainer -p default -p mod_br_netfilter
############ To apply to an existing Instance #####################
$ lxc profile apply YOURcontainer default, mod_br_netfilter
$ lxc restart YOURcontainer

或者,您可以编辑已经使用的任何配置文件来支持此内核模块

$ lxc profile edit default

编辑该config部分以添加配置键 linux.kernel_modules: br_netfilter

相关内容