(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

その場合、rawソケットはNetworkManagerのローカルリンク層広告セクションの一部であるようです。

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

答え1

Lldpはipv6とは異なり、レイヤ2プロトコルです。もちろん、ldpのrawソケットはipv6-icmp型ではなく、イーサネット型です。また、ldp 受信を有効にしないと完了しません。

NM は RA 処理のために libndp を使用して生のソケットを開きます。このソケットはあなたが見ているソケットであると疑われます。 ipv6.method=ignore が設定されている場合、ソケットが開かなくなることがあります。

関連情報