CAP_NET_RAW 和 net.ipv4.ping_group_range 之间有什么关系?

CAP_NET_RAW 和 net.ipv4.ping_group_range 之间有什么关系?

根据 buildah 文档,我正在使用无根容器,

而且,从无根容器执行 ping 操作不起作用,因为它缺乏CAP_NET_RAWping 命令所需的安全功能。如果要从无根容器内执行 ping 操作,可以允许用户使用以下sysctl命令发送 ICMP 数据包:

# sysctl -w "net.ipv4.ping_group_range=0 2000000" 

此操作将允许这些组中的任何进程发送 ping 数据包。

我运行了 sysctl 命令,并检查了它所说的容器的权限,

Current IAB: ... !cap_net_raw ...

所以如果你设置net.ipv4.ping_group_range你做不是需要这个能力吗?这两者有何关系?

答案1

没有直接关系。CAP_NET_RAW是一个能力它允许使用原始套接字和数据包套接字,并绑定到任何地址以进行透明代理。ping_group_range是一个sysctl 定义组范围允许打开 ICMP 回显套接字。

这两者都可用于允许ping发送和接收 ICMP 回显数据包,但它们不是彼此的超集或子集。

相关内容