하지만

하지만

Linux 커널은 IPv6 SLAAC(Stateless Address Autoconfiguration)을 지원하며 들어오는 라우터 광고 메시지를 처리할 수 있습니다.

하지만:내가 아는 한, 커널이 라우터 광고를 처리하지 않는 두 가지 사항이 있습니다.

  1. "M"/"O" 플래그는 네트워크에 DHCPv6 서버가 있음을 나타냅니다.(이것은 inet6_dev에 저장되지만 사용되지는 않습니다)
  2. RA에서 DNS 서버를 전달하기 위한 DNS 옵션(이것은 완전히 무시되었습니다)

사용자 공간에서 이 정보를 검색할 수 있는 방법이 있나요?

답변1

netlink를 통해 커널에서 이 정보를 검색할 수 있는 방법이 없는 것 같습니다.

하지만

사용자 AB 덕분에 이 정보를 다른 방법으로 검색하는 방법을 찾았습니다.

icmpv6-router-advertisement 메시지만 수신하는 원시 소켓을 사용했습니다. 그러면 will 커널과 정확히 동일한 메시지가 검색됩니다.

예제 코드로는 AB가 언급한 ndisc6 프로젝트의 rdnss/icmp.c 파일을 살펴보는 것이 좋습니다. https://github.com/nomis/ndisc6/blob/master/rdnss/icmp.c

관련 정보