net.ipv4.conf.all.mc_forwarding:为什么我的访问被拒绝?

net.ipv4.conf.all.mc_forwarding:为什么我的访问被拒绝?

在 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 进行编译,默认内核没有设置此选项。

相关内容