LinuxでIPv6 NDISCキャッシュをどのように表示しますか?


14

Linuxシステムの1つでIPv6プロキシNDPを次のように設定したとします:

ip -6 neighbor add proxy 2001:db8:1234::5 dev eth1

構成にかかったことをどのように確認しますか?ip -6 neighbor showプロキシエントリを表示していないようでip -6 neighbor show proxy、サポートされているコマンドではありません。


たぶんip -6 neighbor show nud all
ゾレダチェ

これにより、より多くのアドレス(例:: dev lo:)が表示されますが、プロキシは表示されません。
ジェラルドコームズ

回答:


1

ipツールはNTF_PROXYフラグを出力しないだけだと思います。ip / ipneigh.cで、NTF_ROUTERブロックの後に、追加してみてください

   if (r->ndm_flags & NTF_PROXY) {
            fprintf(fp, " proxy");
    }

NDPプロキシをインストールしていないため、テストできません。ただし、カーネルソースを読み取ると、すべてのエントリが返され、プロキシエントリにフラグを設定する必要があるようです。


残念ながらうまくいきませんでした。また、「fprintf(fp、 "flags:%02x \ n"、r-> ndm_flags);」を追加してみました。print_neighの先頭まで、NTF_PROXYフラグが設定されたエントリはありませんでした。
ジェラルドコームズ

0

ip ntableを試しましたか?


NDISCキャッシュに関する多くの有用な情報を提供しますが、エントリ自体は提供しません。少なくとも私のカーネルバージョンでは、これらは書き込み専用の値だと思い始めています。
ジェラルドコームズ

0

完全を期すために:

 shell> ip -6 neigh del proxy 2001:db8:1234::1234:5678 dev eth1
 shell> ip -6 maddr show dev eth1                      
 3:      eth1
         inet6 ff02::1:ff34:5678
 ...

これは最後の6ニブルだけですが、多くの場合それで十分です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.