aboutsummaryrefslogblamecommitdiff
path: root/ja_JP.eucJP/man/man8/faithd.8
blob: 5d13ed4ca0fb8388e39f72f61bd114143da604a6 (plain) (tree)




























                                                                              
                                                                                     















































































































































































































































































































































                                                                            
.\"	$KAME: faithd.8,v 1.12 2000/07/04 13:15:01 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.2.2.3 2000/12/08 15:28:04 ru Exp %
.\"
.\" jpman %Id: faithd.8,v 1.3 2000/08/14 23:52:29 horikawa Stab %
.Dd January 27, 2000
.Dt FAITHD 8
.Os
.Sh 名称
.Nm faithd
.Nd FAITH IPv6/v4 変換デーモン
.Sh 書式
.Nm
.Op Fl dp
.Op Ar service Op Ar serverpath Op Ar serverargs
.Sh 解説
.Nm
は IPv6 から IPv4 への TCP リレー機能を提供します。
.Pp
.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
のコマンドを使用します。
.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
.Ar service
を省略すると
.Li telnet
が仮定され、
.Nm
は TCP の
.Li telnet
ポートの TCP トラフィックをリレーします。
.Ar service
を指定すると、
.Nm
は前述のように、指定された
.Ar service
向けの TCP リレーデーモンとして動作します。
.Pp
.Fl d
オプションを指定すると、
.Xr syslog 3
を用いてデバッグ情報を出力します。
.Fl p
オプションを指定すると、
IPv4 TCP コネクションを最終の終点向けにリレーする際、
.Nm
はソースポートとして特権 TCP ポートを使用します。
.Xr ftp 1
や
.Xr rlogin 1
をリレーする際は
.Fl p
オプションは不要です。そのための特別なプログラムコードが含まれています。
.Pp
.Nm 
は通常の TCP データも帯域外 TCP データもリレーします。
TCP half close をエミュレートすることも可能です。
.Nm
は
.Xr ftp 1
と
.Xr rlogin 1
で用いられるプロトコルに対して、特別なサポートを行います。
FTP プロトコルを転送する際は、
.Nm
は、
.Li PORT/LPRT/EPRT
コマンドおよび
.Li PASV/LPSV/EPSV
コマンドにおけるネットワークレベルアドレスも変換します。
RLOGIN プロトコルに対しては、
.Nm
は、サーバ側の
.Xr rlogind 8
からクライアント側の
.Xr rlogin 1
への逆方向コネクションもリレーします。
.Pp
アクティブでないセッションは 30 分で切断します。
これは、使わなくなったセッションのせいでリソースが消費されるのを
防ぐためです。
サービスによってはこの機能は適切でないかもしれません。
.Pq この機能をコンフィギュレーション可能にすべきでしょうか?
.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
用の特別なサポートを必要とします。
.Sh 使用例
.Nm
を起動する前に、
.Xr faith 4
インタフェースを適切に設定しておく必要があります。
.Bd -literal -offset
# sysctl -w net.inet6.ip6.accept_rtadv=0
# sysctl -w net.inet6.ip6.forwarding=1
# sysctl -w 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
# faithd telnet
.Ed
.Pp
もし
.Pa /usr/local/v6/libexec/telnetd
にある
.Xr telnetd 8
によるローカル telnet サービスを提供したい場合は、
次のコマンドラインを使用します:
.Bd -literal -offset
# faithd telnet /usr/local/v6/libexec/telnetd telnetd
.Ed
.Pp
ローカルデーモンに追加の引数を渡したい場合は:
.Bd -literal -offset
# faithd ftpd /usr/local/v6/libexec/ftpd ftpd -l
.Ed
.Pp
他の使用例です。
rsh/rlogin サービスを変換するには
.Fl p
が必要かもしれません。
.Bd -literal -offset
# faithd sshd
# faithd login /usr/local/v6/libexec/rlogin rlogind
# faithd shell /usr/local/v6/libexec/rshd rshd
.Ed
.Pp
しかしながら、rlogin や rsh のコネクションを変換するときには注意が必要です。
更なる詳細については
.Sx セキュリティ情報
を参照してください。
.Ss inetd モードのサンプル
.Xr inetd.conf 5
に次の行を追加します。
構文はオペレーティングシステムによって様々でしょう。
.Bd -literal -offset
telnet  stream  faith/tcp6  nowait  root  faithd  telnetd
ftp     stream  faith/tcp6  nowait  root  faithd  ftpd -l
ssh     stream  faith/tcp6  nowait  root  faithd  /usr/pkg/bin/sshd -i
.Ed
.Pp
.Xr inetd 8
は、listen するソケットをオープンし、
カーネルの TCP リレーサポートを有効化します。
コネクションが到着すると、
.Nm
が
.Xr inetd 8
から起動されます。
コネクションの終点が、予約した IPv6 アドレスプレフィックスの範囲内の場合、
.Nm
はコネクションをリレーします。
それ以外の場合、
.Nm
はサービスに対応する
.Xr telnetd 8
のようなデーモンを起動します。
.Sh 戻り値
成功すると
.Nm
は
.Dv EXIT_SUCCESS
.Pq 0
で終了し、エラーがある場合は
.Dv EXIT_FAILURE
.Pq 1
で終了します。
.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"
.%R internet draft
.%N draft-ietf-ngtrans-tcpudp-relay-01.txt
.%O work in progress material
.Re
.Sh セキュリティ情報
.Nm
.Pq および他の TCP リレーサービス
でリレーされたコネクションに対し、
.Xr rhosts 5
をはじめとする IP アドレスベースの認証を用いるのは大変危険です。
.Pp
.Nm
自身はアクセス制御を実装していません。
これは、透過な TCP リレーサービスの実装を意図しているためです。
管理者が IPv6 アドレスに基づいてパケットフィルタリングを行うことを、
お勧めします。
IPv6 の終点アドレスについては、
.Xr route 8
を用いて、
.Xr faith 4
を指す経路エントリを注意深く設定することで、制限可能です。
IPv6 の始点アドレスについては、
パケットフィルタでフィルタする必要があります。
.Sx 関連項目
に列挙した文書に、本件に関する更なる議論が記述されています。
.\"
.Sh 歴史
.Nm
コマンドは WIDE Hydrangea IPv6 プロトコルスタックキットで
初めて登場しました。
.Pp
KAME プロジェクト (http://www.kame.net/) スタックに
基づく IPv6, IPsec サポートは、
.Fx 4.0
で初めて統合されました。