Kernel
從內置 IPv6 SLAAC 支持中檢索路由器通告的“託管”標誌
linux 核心支持 IPv6 SLAAC(無狀態地址自動配置)並且能夠處理接收到的路由器通告消息。
**但是:**據我所知,核心沒有處理路由器通告的兩件事:
- ‘M’/‘O’ 標誌表示網路中存在 DHCPv6 伺服器*(這儲存在 inet6_dev 中,但從未使用過)*
- 用於在 RA 中傳遞 DNS 伺服器的 DNS 選項*(完全忽略此選項)*
有沒有辦法從使用者空間檢索這些資訊?
似乎無法通過 netlink 從核心中檢索此資訊
但
感謝使用者 AB,我想出了通過另一種方式檢索此資訊的方法
我使用了一個只監聽 icmpv6-router-advertisement 消息的原始套接字。這將檢索與意志核心完全相同的消息。
例如程式碼我建議你看一下 AB 提到的 ndisc6 項目中的 rdnss/icmp.c 文件。 https://github.com/nomis/ndisc6/blob/master/rdnss/icmp.c