wpa_supplicant: IPv6 を無効にする

wpa_supplicant: IPv6 を無効にする

私のシステムはそれをサポートしていません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単に使用する方法を知ることはできますか?IPv4IPv6

答え1

他の記事で述べたように、wpa_supplicantでIPv6サポートを無効にすることは不可能です。唯一の目標がwpa_supplicantが質問に記載されている2つのエラーを記録するのを防ぐことである場合は、ソースコードを複製して修正してください。これ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;
}

しかし、実際に何をすべきかは、人々に電子メールを送信することです。所有者[Eメール保護])IPv6をサポートしておらず、wpa_supplicantがログにスパムを送信しており、それを停止したいと説明してください。正直に言うと、メンテナンススタッフは質問に答えるのに非常に無心なので、質問を明確にし、評価に必要なすべての情報を提供する必要があります。

答え2

wpa_supplicant実行時にIPv6サポートを無効にするオプションはありません。再コンパイルする必要があります。 2.9バージョンのソースコードを確認しました。

関連情報