![wpa_supplicant: IPv6 비활성화](https://linux55.com/image/193178/wpa_supplicant%3A%20IPv6%20%EB%B9%84%ED%99%9C%EC%84%B1%ED%99%94.png)
내 시스템은 이를 지원하지 않습니다 IPv6
. 나는 단지 를 사용합니다 IPv4
. 내 wpa_supplicant
로그는 다음과 같은 오류 메시지로 채워집니다.
wpa_supplicant[3370]: nl80211: Failed to open /proc/sys/net/ipv6/conf/wlan0/drop_unicast_in_l2_multicast: No such file or directory
wpa_supplicant[3370]: nl80211: Failed to set IPv6 unicast in multicast filter
이것 자체는 무해하지만 실제로 다른 유용한 정보를 찾기는 어렵습니다.
구성을 시도하지 않고 wpa_supplicant
그냥 사용 하도록 어떻게 알 수 있습니까 ?IPv4
IPv6
답변1
다른 게시물에서 언급했듯이 wpa_supplicant에서 IPv6 지원을 비활성화하는 것은 불가능합니다. 유일한 목표가 wpa_supplicant가 질문에 언급된 두 가지 오류를 기록하는 것을 방지하는 것이라면 소스 코드를 복제하고 수정하십시오.이것IPv6 매개변수를 설정하는 줄을 주석 처리하여 이 기능을 구현합니다.
// comment out these lines in nl80211_configure_data_frame_filters(...)
static int nl80211_configure_data_frame_filters(void *priv, u32 filter_flags)
{
struct i802_bss *bss = priv;
char path[128];
int ret;
/* P2P-Device has no netdev that can (or should) be configured here */
if (nl80211_get_ifmode(bss) == NL80211_IFTYPE_P2P_DEVICE)
return 0;
wpa_printf(MSG_DEBUG, "nl80211: Data frame filter flags=0x%x",
filter_flags);
/* Configure filtering of unicast frame encrypted using GTK */
ret = os_snprintf(path, sizeof(path),
"/proc/sys/net/ipv4/conf/%s/drop_unicast_in_l2_multicast",
bss->ifname);
if (os_snprintf_error(sizeof(path), ret))
return -1;
ret = nl80211_write_to_file(path,
!!(filter_flags &
WPA_DATA_FRAME_FILTER_FLAG_GTK));
if (ret) {
wpa_printf(MSG_ERROR,
"nl80211: Failed to set IPv4 unicast in multicast filter");
return ret;
}
/** THIS BLOCK
os_snprintf(path, sizeof(path),
"/proc/sys/net/ipv6/conf/%s/drop_unicast_in_l2_multicast",
bss->ifname);
ret = nl80211_write_to_file(path,
!!(filter_flags &
WPA_DATA_FRAME_FILTER_FLAG_GTK));
if (ret) {
wpa_printf(MSG_ERROR,
"nl80211: Failed to set IPv6 unicast in multicast filter");
return ret;
}
**/
/* Configure filtering of unicast frame encrypted using GTK */
os_snprintf(path, sizeof(path),
"/proc/sys/net/ipv4/conf/%s/drop_gratuitous_arp",
bss->ifname);
ret = nl80211_write_to_file(path,
!!(filter_flags &
WPA_DATA_FRAME_FILTER_FLAG_ARP));
if (ret) {
wpa_printf(MSG_ERROR,
"nl80211: Failed set gratuitous ARP filter");
return ret;
}
/* Configure filtering of IPv6 NA frames */
/** THIS BLOCK
os_snprintf(path, sizeof(path),
"/proc/sys/net/ipv6/conf/%s/drop_unsolicited_na",
bss->ifname);
ret = nl80211_write_to_file(path,
!!(filter_flags &
WPA_DATA_FRAME_FILTER_FLAG_NA));
if (ret) {
wpa_printf(MSG_ERROR,
"nl80211: Failed to set unsolicited NA filter");
return ret;
}
**/
return 0;
}
하지만 실제로 당신이 해야 할 일은 사람들에게 이메일을 보내는 것입니다.주인([이메일 보호됨]) IPv6를 지원하지 않으며 wpa_supplicant가 로그에 스팸을 보내고 있으며 이를 중지하고 싶다고 설명하세요. 솔직히 말해서 유지보수 직원은 질문에 대답하는 데 있어서 매우 무심할 수 있으므로 질문을 명확하게 하고 평가에 필요한 모든 정보를 제공해야 합니다.
답변2
wpa_supplicant
런타임 시 IPv6 지원을 비활성화하는 옵션은 없습니다. 다시 컴파일해야 합니다. 2.9 버전의 소스코드를 확인했습니다.