それぞれ仮想TAPインターフェイスとユーザースペースのIPv6スタックを使用するクライアントとサーバーのipv6アプリケーションがあります。 2つのTapインターフェイスをブリッジに接続し、ipv6転送を有効にしましたが、ブリッジ(またはLinux)がIPv6ヘッダーのホップ数(ホップユーザースペーススタック数)を減らすため、クライアントとサーバー間でネイバー検索が機能しないことがわかりました。 255と予想されます。
ブリッジなしでタブインターフェイスを接続する方法はありますか?それとも、隣人にパケットが変更されずに通過することを発見できるようにすることはできますか?
書き直す...
IP転送がホップ数を減らすと思うのは、これを無効にし、実際にブリッジがレイヤ2で転送を処理する必要があると考えているからです。何らかの理由で、ブリッジはユニキャストICMP6メッセージを転送したくありません。
私はDebian 9を使用しており、デフォルト設定は次のとおりです。
ip tuntap add dev tap0 mode tap user YOUR-USER-NAME
ip a a dev tap0 192.168.0.1/24
ip tuntap add dev tap1 mode tap user YOUR-USER-NAME
ip a a dev tap1 192.168.0.2/24
brctl addbr br0
brctl addif br0 tap0
brctl addif br0 tap1
私はtap0に接続されたサーバーアプリケーションとtap1に接続されたクライアントアプリケーションを持っており、ユーザースペースIP6スタックをテストするためにこれらのアプリケーションが通信したいと思います。 "brctl showmacs br0"コマンドを実行すると、次の結果が表示されます。
port no mac addr is local? ageing timer
1 2e:5f:ae:db:71:b1 yes 0.00
1 2e:5f:ae:db:71:b1 yes 0.00
2 92:9f:e7:8f:8d:a4 yes 0.00
2 92:9f:e7:8f:8d:a4 yes 0.00
これは、クライアントとサーバーのMACアドレスに対して正しいようです。インターフェイスbr0では、Wiresharkのユニキャストパケットも表示できますが、何らかの理由で他の端に到達できません。