(Debian 9) NetworkManager는 ipv6-icmp에 RAW 소켓을 사용합니까?

(Debian 9) NetworkManager는 ipv6-icmp에 RAW 소켓을 사용합니까?

나는 Debian 9가 특정 시간에 열려 있는 포트를 줄이려고 노력해 왔습니다. 고정 IP로 축소하고 systemctl 서비스를 비활성화함으로써 UDP 및 TCP 포트 범위가 축소되었지만 어떤 이유로 NetworkManager에 UNCONN 상태의 RAW 소켓이 있어 무언가를 기다리고 있습니다. 내 질문은 이것이 왜 필요한가입니다. 그리고 Zenmap/nmap으로 이를 확인할 수 있는 방법이 있나요?

root_user@box# ss -64tuldpw 
Netid  State      Recv-Q Send-Q    Local Address:Port   Peer Address:Port                
raw    UNCONN     0      0         :::ipv6-icmp         :::*            
users:(("NetworkManager",pid=584,fd=18))

NetworkManager 저장소에서 확인했습니다.

git://git.freedesktop.org/git/NetworkManager/NetworkManager.git

int lldp_network_bind_raw_socket(int ifindex)다음과 같은 프로그램을 찾았습니다. NetworkManager/src/systemd/src/libsystemd-network/lldp-network.c

그렇다면 원시 소켓은 NetworkManager의 로컬 링크 계층 광고 섹션의 일부인 것 같습니다.

https://en.wikipedia.org/wiki/Link_Layer_Discovery_Protocol

답변1

Lldp는 ipv6와 달리 레이어 2 프로토콜입니다. 물론 lldp의 원시 소켓은 ipv6-icmp 유형이 아니라 이더넷 유형입니다. 또한 lldp 수신을 활성화하지 않으면 완료되지 않습니다.

NM은 RA 처리를 위해 libndp를 사용하여 원시 소켓을 엽니다. 이 소켓은 여러분이 보고 있는 소켓일 것으로 의심됩니다. ipv6.method=ignore가 구성된 경우 소켓이 더 이상 열리지 않을 수 있습니다.

관련 정보