在 Debian 12.04 LTS 上
我试图net.ipv4.conf.all.mc_forwarding
通过执行以下操作来访问密钥:
sudo sysctl -w net.ipv4.conf.all.mc_forwarding=1
但每次我这样做时,我都会收到消息
错误:密钥“net.ipv4.conf.all.mc_forwarding”的权限被拒绝
为什么我会收到此消息?我怎样才能更改这个密钥?
答案1
我相信这个帖子(编辑:删除了比特币矿工网站的链接)描述了您的问题
简而言之,包含该值的 proc 条目是只读的,并且不能轻易地使其可写:
$ ls -ln /proc/sys/net/ipv4/conf/all/mc_forwarding
-r--r--r-- 1 0 0 0 Jun 17 08:20 /proc/sys/net/ipv4/conf/all/mc_forwarding
$ sudo chmod u+x /proc/sys/net/ipv4/conf/all/mc_forwarding
chmod: changing permissions of `/proc/sys/net/ipv4/conf/all/mc_forwarding': Operation not permitted
但是您可以运行自己的路由器守护程序(例如xorp) 来获取多播转发。
答案2
你也可能会得到这样的错误sysctl: setting key "net.ipv4.conf.all.mc_forwarding": No such file or directory
mc_forwarding - BOOLEAN
Do multicast routing. The kernel needs to be compiled with CONFIG_MROUTE
and a multicast routing daemon is required.
conf/all/mc_forwarding must also be set to TRUE to enable multicast
routing for the interface
内核应该使用选项 CONFIG_MROUTE 进行编译,默认内核没有设置此选项。