このsat0デバイスは何ですか?

このsat0デバイスは何ですか?

私はHurricane ElectricのIPv6トンネリングプロキシ用にマイコンピュータ(Debian Busterを実行)を設定しています。いくつかの設定方法のガイドラインを提供しますが、以下はテスト目的で使用したiproute2のガイドラインです。

ip tunnel add he-ipv6 mode sit remote 216.66.22.2 local <local-IP-addr> ttl 255
ip link set he-ipv6 up
ip addr add <IPv6-addr>/64 dev he-ipv6
ip route add ::/0 dev he-ipv6
ip -f inet6 addr

これにより、sit0不思議なインターフェースも表示されます。明らかに、これは6in4トンネリングに関連していますが、それ以外はこれに関する詳細情報を見つけることができません。これはちょっと特別です。そしてsitモジュールがロードされるたびに存在します。。気になるので、新しいインターフェイスを作成する代わりにトンネルプロキシに合わせて設定してみましたが、そうではないようです。

このデバイスは何ですか?

答え1

私が見つけた情報に基づいてRed Hatのブログ投稿です。、目的を理解すると思います。 (私はLinuxネットワーキングの専門家ではないので、知識のある人が間違っていることを発見した場合は、コメントで私のコメントを訂正するか、答えを投稿してください。)

まず、背景知識は次のとおりです。

アプライアンスは、sitIPv6トラフィックを取得し、IPv4パケットにカプセル化/カプセル化し、IPv4インターネットを介して他のホスト(IPv6トンネリングプロキシなど)に送受信する仮想ネットワークデバイスです。外部パケットには特別なプロトコル番号41があります。 (これはポート番号に似ていますが、TCP / UDP層ではなくIP層にあります。)

  • 転送は非常に簡単です。sitデバイスには接続されたローカルおよびリモートIPv4アドレスがあり、これらのアドレスは外部IPv4ヘッダーの送信元アドレスと宛先アドレスになります。 (ソースアドレスは「any」または0.0.0.0です。この場合、Linuxはカプセル化されたパケットを送信したIPv4インターフェイスに基づいてソースアドレスを選択します。)

  • 受信は少し複雑です。プロトコル41パケットが到着すると、Linuxはsitそのパケットが属するデバイスを確認する必要があります。これは、パケットの外部 IPv4 送信元と宛先アドレスを確認することによって行われます。このアドレスを各デバイスのローカルアドレスとリモートアドレスと比較し、一致するデバイスがsitパケットを取得してカプセル化を解除するデバイス。

sit0仕組み:

sitLinuxがどのデバイスとも一致しないプロトコル41パケット(たとえば、任意のアドレスからのパケット)を受け取るとどうなりますか?この場合に渡されますsit0

sit0sitこれらのパケットを処理するためにカーネルモジュールによって設定された特別な「バックアップ」デバイス。ローカルアドレスとリモートアドレスは0.0.0.0(つまり「すべて」)に設定され、特定の物理デバイスに接続されていないため、他のデバイスで未処理のプロトコル41パケットを許可しますsit

これはうまくいきますか?特定のケースかもしれませんが、ほとんどの場合、そのようなパケットをドロップしたいと思います。そのような包括的なデバイスを作成する必要があるかどうかを管理者に判断させるべきではない理由はわかりません。おそらくいくつかの歴史的な理由があるでしょう。

関連情報