EN JA
FAITH(4)
FAITH(4) FreeBSD Kernel Interfaces Manual FAITH(4)

名称

faithIPv6-to-IPv4 TCP リレー (中継) キャプチャ (捕獲) インタフェース

書式

device faith

解説

faith インタフェースは、 faithd(8) のようなユーザランドの IPv6-to-IPv4 TCP リレー (中継) の実装のために、 IPv6 TCP トラフィックを捕獲します。

faith インタフェースは、インタフェースクローニングを使用して、実行時に作られます。これは、 ifconfig(8)create コマンド、または rc.conf(5)cloned_interfaces 変数を使用することで最も簡単に行なわれます。

IPv6 TCP トラフィックがルータ上で見られ、デフォルトのルーティングテーブル (経路表) が faith インタフェースへのルートを示唆するとき、特別の処置が取られます。この場合、パケットは、ルータに割り当てられた IPv6 インタフェースアドレスのリストにかかわらずルータによって受け付けられます。オンにされた IN6P_FAITH フラグがあり、一致するアドレス/ポートの組があるなら、パケットは、IPv6 TCP ソケットによって捕獲されます。結果として、 faith が、利用者にいくつかの特定の終点アドレスへの IPv6 TCP トラフィックを捕獲させます。 faithd(8) のようなユーザランドプログラムは、 IPv4 TCP トラフィックに IPv6 TCP トラフィックをリレー (中継) するためにこの振る舞いを使用できます。プログラムがある特定の IPv6 TCP トラフィックを受け付けでき、クライアントによって指定された IPv6 終点アドレスを取得するために getsockname(2) を実行でき、 IPv6 TCP から IPv4 TCP にリレー (中継) するためにアプリケーションに特有のアドレスマッピングを実行できます。

level (レベル) IPPROTO_IPV6 と optname IPv6_FAITH を付けて setsockopt(2) を使用することによって、 IPv6 TCP ソケット上の IN6P_FAITH フラグを設定することができます。

ICMPv6 によるエラー報告を操作するために、 faith インタフェースへルートさせられた ICMPv6 パケットのうちのいくつかは、 IPv6 TCP と同様に配信されます。

どのように faith を使用することができるかを理解するためには、 faithd(8) のソースコードを見てください。

faith インタフェースが潜在的に危険な操作を実装しているので、それを設定するとき、最大の注意をしなければなりません。起こり得る誤用を回避するために、 sysctl(8) 変数 net.inet6.ip6.keepfaith は、インタフェースの使用に先立って 1 に設定しなければなりません。 net.inet6.ip6.keepfaith0 である時、パケットは、 faith インタフェースによって捕獲されません。

faith インタフェースは、ホスト上ではなくルータ上で使用されるように意図されています。

関連項目

inet(4), inet6(4), faithd(8) Jun-ichiro itojun Hagino and Kazu Yamamoto, An IPv6-to-IPv4 transport relay translator, RFC3142.

歴史

FAITH IPv6-to-IPv4 TCP リレートランスレータ (中継変換機) は、 WIDE ハイドランジア IPv6 スタックではじめて登場しました。
January 23, 2012 FreeBSD