我正在使用 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