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_rangesysctl 그룹 범위 정의ICMP 에코 소켓을 열 수 있습니다.

둘 다 ICMP 에코 패킷을 보내고 받는 데 사용할 수 있지만 ping서로의 상위 집합이나 하위 집합은 아닙니다.

관련 정보