首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >LXC下的联网(dhcpcd)

LXC下的联网(dhcpcd)
EN

Server Fault用户
提问于 2013-01-24 04:08:34
回答 2查看 744关注 0票数 0

我想使用LXC引导一个Arch实例。几乎所有操作都正常,但在尝试使用dhcpcd配置接口时,我遇到了以下错误:

代码语言:javascript
复制
# dhcpcd eth0
dhcpcd[4213]: version 5.6.4 starting
dhcpcd[4213]: eth0: if_init: Read-only file system
dhcpcd[4213]: eth0: interface not found or invalid

这似乎是dhcpcd试图修改/proc/sys/net/ipv4/conf/eth0/promote_secondaries的直接结果:

代码语言:javascript
复制
4210  open("/proc/sys/net/ipv4/conf/eth0/promote_secondaries", O_WRONLY|O_CREAT|O_TRUNC, 0666) = -1 EROFS (Read-only file system)
4210  writev(2, [{"dhcpcd[4210]: eth0: if_init: Read-only file system", 50}, {"\n", 1}], 2) = 51

我可以使用bind挂载来破解它:

代码语言:javascript
复制
# touch /tmp/promote_secondaries
# mount -o bind /tmp/promote_secondaries \
  /proc/sys/net/ipv4/conf/eth0/promote_secondaries

但这似乎是个糟糕的主意。有没有办法让dhcpcd在没有这个黑客攻击的情况下在LXC下运行?为什么对这个sysctl的写访问在LXC下不可用?

EN

回答 2

Server Fault用户

发布于 2013-04-24 21:00:09

原因是,在启动时,容器在/proc结构之上挂载/proc/sys的只读版本。

容器内:

代码语言:javascript
复制
# grep proc /proc/mounts 
proc /proc proc rw,nosuid,nodev,noexec,relatime 0 0
proc /proc/sys proc ro,relatime 0 0

您可以安装它(或挂载-o重装,rw),您的问题就会消失。

代码语言:javascript
复制
umount /proc/sys

只读/proc/sys目录旨在保护主机(总体稳定性)不受LXC容器(意外)修改的影响,因此上述语句确实意味着有风险。

票数 1
EN

Server Fault用户

发布于 2013-01-25 21:06:00

我也有同样的问题。我不知道对于ro文件系统一般可以做些什么,但是为了解决dhcp问题,我使用dhclient而不是dhcpcd。dhclient不尝试在/proc/sys上写任何东西。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/471950

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档