Sync with the original version. Unify some japanese words. Submitted by: kano@na.rim.or.jp
414 lines
10 KiB
Groff
414 lines
10 KiB
Groff
.\" $KAME: faithd.8,v 1.37 2002/05/09 14:21:23 itojun Exp $
|
|
.\"
|
|
.\" Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
|
|
.\" All rights reserved.
|
|
.\"
|
|
.\" Redistribution and use in source and binary forms, with or without
|
|
.\" modification, are permitted provided that the following conditions
|
|
.\" are met:
|
|
.\" 1. Redistributions of source code must retain the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer.
|
|
.\" 2. Redistributions in binary form must reproduce the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer in the
|
|
.\" documentation and/or other materials provided with the distribution.
|
|
.\" 3. Neither the name of the project nor the names of its contributors
|
|
.\" may be used to endorse or promote products derived from this software
|
|
.\" without specific prior written permission.
|
|
.\"
|
|
.\" THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND
|
|
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE
|
|
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
|
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
|
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
.\" SUCH DAMAGE.
|
|
.\"
|
|
.\" %FreeBSD: src/usr.sbin/faithd/faithd.8,v 1.18 2004/06/04 19:24:35 ru Exp %
|
|
.\"
|
|
.\" $FreeBSD$
|
|
.Dd May 17, 1998
|
|
.Dt FAITHD 8
|
|
.Os
|
|
.Sh 名称
|
|
.Nm faithd
|
|
.Nd FAITH IPv6/v4 変換デーモン
|
|
.Sh 書式
|
|
.Nm
|
|
.Op Fl dp
|
|
.Op Fl f Ar configfile
|
|
.Ar service
|
|
.Op Ar serverpath Op Ar serverargs
|
|
.Sh 解説
|
|
.Nm
|
|
ユーティリティは IPv6 から IPv4 への TCP リレー機能を提供します。
|
|
.Nm
|
|
は IPv4/v6 デュアルスタックルータ上で起動しなければなりません。
|
|
.Pp
|
|
.Tn TCPv6
|
|
トラフィックが見つかると、
|
|
.Nm
|
|
はその
|
|
.Tn TCPv6
|
|
トラフィックを
|
|
.Tn TCPv4
|
|
にリレーします。
|
|
リレーする
|
|
.Tn TCPv4
|
|
コネクションの終点は、元の
|
|
.Tn IPv6
|
|
終点の末尾 4 オクテットから決定されます。
|
|
例えば、
|
|
.Nm
|
|
用に
|
|
.Li 3ffe:0501:4819:ffff::
|
|
が予約されていて、
|
|
.Tn TCPv6
|
|
終点アドレスが
|
|
.Li 3ffe:0501:4819:ffff::0a01:0101
|
|
なら、このトラフィックは IPv4 の終点
|
|
.Li 10.1.1.1
|
|
に向けてリレーされます。
|
|
.Pp
|
|
.Nm
|
|
による変換サービスを用いるには、
|
|
IPv4 アドレスをマップするための IPv6 アドレスプレフィックスを
|
|
予約しておく必要があります。
|
|
カーネルは、そこで予約した IPv6 アドレスプレフィックスへの
|
|
すべての TCP コネクションを、
|
|
.Xr route 8
|
|
を用いて疑似インタフェース
|
|
.Xr faith 4
|
|
にルーティングするように、適切に構築されていなければなりません。
|
|
また、
|
|
.Xr sysctl 8
|
|
を用いて
|
|
.Dv net.inet6.ip6.keepfaith
|
|
を
|
|
.Dv 1
|
|
に設定しておくべきです。
|
|
.Pp
|
|
ルータは、予約された
|
|
.Tn IPv6
|
|
アドレスプレフィックス行きのすべての TCP トラフィックを捕まえるように
|
|
設定しなければなりません。このためには
|
|
.Xr route 8
|
|
と
|
|
.Xr sysctl 8
|
|
のコマンドを使用します。
|
|
.Pp
|
|
.Nm
|
|
ユーティリティは、名前からアドレスへの特別な変換機構を必要とし、
|
|
ホスト名から特別な
|
|
.Tn IPv6
|
|
アドレスプレフィックスへ解決します。
|
|
小規模なインストールでは、
|
|
.Xr hosts 5
|
|
を使用してください。
|
|
大規模なインストールでは、
|
|
特別なアドレス変換をサポートする DNS サーバが有用でしょう。
|
|
.Nm totd
|
|
と呼ばれる実装が
|
|
.Pa http://www.vermicelli.pasta.cs.uit.no/ipv6/software.html
|
|
で入手可能です。
|
|
変換された DNS レコードが一般の DNS 群に伝播されないよう、注意してください。
|
|
非常に有害です。
|
|
.Ss デーモンモード
|
|
.Nm
|
|
がスタンドアロンプログラムとして起動されると、
|
|
.Nm
|
|
は自分自身をデーモン化します。
|
|
.Nm
|
|
ユーティリティは
|
|
.Tn TCPv6
|
|
のポート
|
|
.Ar service
|
|
を listen します。
|
|
ポート
|
|
.Ar service
|
|
への
|
|
.Tn TCPv6
|
|
トラフィックを見付けると、コネクションをリレーします。
|
|
.Pp
|
|
.Nm
|
|
が TCP ポート
|
|
.Ar service
|
|
を listen するので、
|
|
.Xr inetd 8
|
|
や他の標準的な仕組みを用いて、そのルータ上で
|
|
.Ar service
|
|
ポートを使うローカルな TCP デーモンを動作させることはできません。
|
|
.Nm
|
|
に対して
|
|
.Ar serverpath
|
|
を指定することで、
|
|
ルータ上でローカルデーモンを走らせることができます。
|
|
終点アドレスがローカルのインターネットアドレスであれば、
|
|
.Nm
|
|
ユーティリティは
|
|
.Ar serverpath
|
|
においてローカルデーモンを起動します。
|
|
それ以外の場合、
|
|
.Nm
|
|
は IPv4 TCP への変換を行います。
|
|
ローカルデーモンの引数は
|
|
.Ar serverargs
|
|
を用いて指定することができます。
|
|
.Pp
|
|
次のオプションが使用可能です:
|
|
.Bl -tag -width indent
|
|
.It Fl d
|
|
.Xr syslog 3
|
|
を用いてデバッグ情報を出力します。
|
|
.It Fl f Ar configfile
|
|
アクセス制御用の設定ファイルを指定します。
|
|
後述を参照してください。
|
|
.It Fl p
|
|
IPv4 TCP コネクションを最終の終点向けにリレーする際、
|
|
.Nm
|
|
はソースポートとして特権 TCP ポートを使用します。
|
|
.Xr ftp 1
|
|
をリレーする際は
|
|
本オプションは不要です。
|
|
そのための特別なプログラムコードが含まれています。
|
|
.El
|
|
.Pp
|
|
.Nm
|
|
ユーティリティは通常の TCP データも帯域外 TCP データもリレーします。
|
|
TCP half close をエミュレートすることも可能です。
|
|
.Nm
|
|
ユーティリティは
|
|
.Xr ftp 1
|
|
で用いられるプロトコルに対して、特別なサポートを行います。
|
|
FTP プロトコルを転送する際は、
|
|
.Nm
|
|
は、
|
|
.Li PORT/LPRT/EPRT
|
|
コマンドおよび
|
|
.Li PASV/LPSV/EPSV
|
|
コマンドにおけるネットワークレベルアドレスも変換します。
|
|
.Pp
|
|
アクティブでないセッションは 30 分で切断します。
|
|
これは、使わなくなったセッションのせいでリソースが消費されるのを
|
|
防ぐためです。
|
|
サービスによってはこの機能は適切でないかもしれません。
|
|
(この機能をコンフィギュレーション可能にすべきでしょうか?)
|
|
.Ss inetd モード
|
|
.Nm
|
|
が
|
|
.Xr inetd 8
|
|
から起動されると、
|
|
.Nm
|
|
ユーティリティは標準入力から渡されるコネクションを扱います。
|
|
コネクションの終点が、予約した IPv6 アドレスプレフィックスの範囲内の場合、
|
|
.Nm
|
|
はコネクションをリレーします。
|
|
それ以外の場合、
|
|
.Nm
|
|
はサービスに対応する
|
|
.Xr telnetd 8
|
|
のようなデーモンを起動し、
|
|
.Xr inetd 8
|
|
から渡されるコマンド引数を使用します。
|
|
.Pp
|
|
.Nm
|
|
は、ローカルな TCP ポート番号を元に動作モードを決定し、
|
|
必要な時/可能な時には特別なプロトコル処理を有効にします。
|
|
例えば、
|
|
.Nm
|
|
が FTP ポート上で
|
|
.Xr inetd 8
|
|
から起動されると、これは FTP リレーとして動作します。
|
|
.Pp
|
|
この動作モードでは、
|
|
.Xr inetd 8
|
|
中に
|
|
.Nm
|
|
用の特別なサポートを必要とします。
|
|
.Ss アクセス制御
|
|
悪意あるアクセスを防ぐため、
|
|
.Nm
|
|
は単純なアドレスベースのアクセス制御を実装しています。
|
|
.Pa /etc/faithd.conf
|
|
(または
|
|
.Fl f
|
|
で指定した
|
|
.Ar configfile )
|
|
で、
|
|
.Nm
|
|
は望まないトラフィックの中継を防ぎます。
|
|
.Pa faithd.conf
|
|
は、次の書式のディレクティブを含みます:
|
|
.Bl -bullet
|
|
.It
|
|
.Ar src Ns / Ns Ar slen Cm deny Ar dst Ns / Ns Ar dlen
|
|
.Pp
|
|
問い合わせの始点アドレスが
|
|
.Ar src Ns / Ns Ar slen
|
|
に合致する場合で、変換後の終点アドレスが
|
|
.Ar dst Ns / Ns Ar dlen
|
|
に合致する場合、接続を拒否します。
|
|
.It
|
|
.Ar src Ns / Ns Ar slen Cm permit Ar dst Ns / Ns Ar dlen
|
|
.Pp
|
|
問い合わせの始点アドレスが
|
|
.Ar src Ns / Ns Ar slen
|
|
に合致する場合で、変換後の終点アドレスが
|
|
.Ar dst Ns / Ns Ar dlen
|
|
に合致する場合、接続を許可します。
|
|
.El
|
|
.Pp
|
|
これらのディレクティブは順番に評価され、
|
|
最初に合致するエントリが効果を持ちます。
|
|
合致しないと
|
|
(これがルールセットの最後である場合)
|
|
トラフィックは拒否されます。
|
|
.Pp
|
|
inetd モードでは、
|
|
.Xr inetd 8
|
|
のアクセス制御機能でトラフィックをフィルタ可能です。
|
|
.Sh 診断
|
|
成功すると
|
|
.Nm
|
|
ユーティリティは
|
|
.Dv EXIT_SUCCESS
|
|
.Pq 0
|
|
で終了し、エラーがある場合は
|
|
.Dv EXIT_FAILURE
|
|
.Pq 1
|
|
で終了します。
|
|
.Sh 使用例
|
|
.Nm
|
|
を起動する前に、
|
|
.Xr faith 4
|
|
インタフェースを適切に設定しておく必要があります。
|
|
.Bd -literal -offset
|
|
# sysctl net.inet6.ip6.accept_rtadv=0
|
|
# sysctl net.inet6.ip6.forwarding=1
|
|
# sysctl net.inet6.ip6.keepfaith=1
|
|
# ifconfig faith0 up
|
|
# route add -inet6 3ffe:501:4819:ffff:: -prefixlen 96 ::1
|
|
# route change -inet6 3ffe:501:4819:ffff:: -prefixlen 96 -ifp faith0
|
|
.Ed
|
|
.Ss デーモンモードのサンプル
|
|
.Li telnet
|
|
サービスを変換し、そしてローカルな telnet サービスを提供しない場合は、
|
|
次のように
|
|
.Nm
|
|
を起動します:
|
|
.Bd -literal -offset
|
|
# faithd telnet
|
|
.Ed
|
|
.Pp
|
|
もし
|
|
.Pa /usr/libexec/telnetd
|
|
にある
|
|
.Xr telnetd 8
|
|
によるローカル telnet サービスを提供したい場合は、
|
|
次のコマンドラインを使用します:
|
|
.Bd -literal -offset
|
|
# faithd telnet /usr/libexec/telnetd telnetd
|
|
.Ed
|
|
.Pp
|
|
ローカルデーモンに追加の引数を渡したい場合は:
|
|
.Bd -literal -offset
|
|
# faithd ftp /usr/libexec/ftpd ftpd -l
|
|
.Ed
|
|
.Pp
|
|
他の使用例です。
|
|
サービスが始点ポート範囲をチェックする場合には
|
|
.Fl p
|
|
が必要かもしれません。
|
|
.Bd -literal -offset
|
|
# faithd ssh
|
|
# faithd telnet /usr/libexec/telnetd telnetd
|
|
.Ed
|
|
.Ss inetd モードのサンプル
|
|
.Xr inetd.conf 5
|
|
に次の行を追加します。
|
|
構文はオペレーティングシステムによって様々でしょう。
|
|
.Bd -literal -offset
|
|
telnet stream tcp6/faith nowait root faithd telnetd
|
|
ftp stream tcp6/faith nowait root faithd ftpd -l
|
|
ssh stream tcp6/faith nowait root faithd /usr/sbin/sshd -i
|
|
.Ed
|
|
.Pp
|
|
.Xr inetd 8
|
|
は、listen するソケットをオープンし、
|
|
カーネルの TCP リレーサポートを有効化します。
|
|
コネクションが到着すると、
|
|
.Nm
|
|
が
|
|
.Xr inetd 8
|
|
から起動されます。
|
|
コネクションの終点が、予約した IPv6 アドレスプレフィックスの範囲内の場合、
|
|
.Nm
|
|
はコネクションをリレーします。
|
|
それ以外の場合、
|
|
.Nm
|
|
ユーティリティはサービスに対応する
|
|
.Xr telnetd 8
|
|
のようなデーモンを起動します。
|
|
.Ss アクセス制御の例
|
|
以下に単純な
|
|
.Pa faithd.conf
|
|
設定を示します。
|
|
.Bd -literal -offset
|
|
# 3ffe:501:ffff::/48 からのすべてに変換器の使用を許し、
|
|
# 次の IPv4 の終点へ接続させます:
|
|
# - 10.0.0.0/8 と 127.0.0.0/8 以外のすべて
|
|
# 他の接続は許しません。
|
|
#
|
|
3ffe:501:ffff::/48 deny 10.0.0.0/8
|
|
3ffe:501:ffff::/48 deny 127.0.0.0/8
|
|
3ffe:501:ffff::/48 permit 0.0.0.0/0
|
|
.Ed
|
|
.Sh 関連項目
|
|
.Xr faith 4 ,
|
|
.Xr route 8 ,
|
|
.Xr sysctl 8
|
|
.Rs
|
|
.%A Jun-ichiro itojun Hagino
|
|
.%A Kazu Yamamoto
|
|
.%T "An IPv6-to-IPv4 transport relay translator"
|
|
.%B RFC3142
|
|
.%O ftp://ftp.isi.edu/in-notes/rfc3142.txt
|
|
.%D June 2001
|
|
.Re
|
|
.\"
|
|
.Sh 歴史
|
|
.Nm
|
|
ユーティリティは WIDE Hydrangea IPv6 プロトコルスタックキットで
|
|
初めて登場しました。
|
|
.\"
|
|
.Pp
|
|
KAME プロジェクト (http://www.kame.net/) スタックに
|
|
基づく IPv6, IPsec サポートは、
|
|
.Fx 4.0
|
|
で初めて統合されました。
|
|
.Sh セキュリティの考察
|
|
.Nm
|
|
および他の TCP リレーサービス
|
|
でリレーされたコネクションに対し、
|
|
IP アドレスベースの認証を用いるのは大変危険です。
|
|
.Pp
|
|
.Pa faithd.conf
|
|
もしくは IPv6 パケットフィルタを使用し、
|
|
.Nm
|
|
へのアクセス制限を行うことを、管理者へお勧めします。
|
|
これは
|
|
.Nm
|
|
を悪意ある者達から防御することであり、
|
|
サービス/バンド幅を盗まれないようにすることを意味します。
|
|
IPv6 の終点アドレスについては、
|
|
.Xr route 8
|
|
を用いて、
|
|
.Xr faith 4
|
|
を指す経路エントリを注意深く設定することで、制限可能です。
|
|
IPv6 の始点アドレスについては、
|
|
パケットフィルタでフィルタする必要があります。
|
|
.Sx 関連項目
|
|
に列挙した文書に、本件に関する更なる議論が記述されています。
|