TFTP-PROXY(8) | FreeBSD System Manager's Manual | TFTP-PROXY(8) |
名称
tftp-proxy — インターネットトリビアルファイル転送プロトコル (Internet Trivial File Transfer Protocol) プロキシ書式
tftp-proxy | [ -v][ -w transwait] |
解説
tftp-proxy は、 inetd(8) インターネットサーバによって呼び出されるインターネットトリビアルファイル転送プロトコルのためのプロキシです。 TFTP 接続は、プロキシが、クライアントの振る舞いでサーバに接続された後に、 pf(4) rdr コマンドを使用してプロキシにリダイレクト (出力先変更) されるべきです。プロキシは、クライアントとサーバの間のパケットを再書き込むするために anchor 機能を使用して pf(4) rdr 規則を確立します。規則がいったん確立されると、 tftp-proxy は、転送を始めるためにクライアントからサーバに初期要求を転送します。 transwait 秒の後に、 pf(4) NAT 状態は、設立されていると仮定され、 rdr 規則は削除され、プログラムは終了します。クライアントとサーバの間の転送がいったん終了されると、NAT 状態は、自然に期限が切れます。
TFTP コマンド要求が $client から $server までと仮定すると、プロキシは $proxy ソースアドレスを使用してサーバに接続し、 $port は、ネゴシエートされ、そして、 tftp-proxy は、anchor に次の規則を追加します:
rdr proto udp from $server to $proxy port $port -> $client
オプションは、次の通りです:
- -v
- syslogd(8) への接続と要求情報をログ記録します。
- -w transwait
- pf(4) rdr 規則を削除する前にデータ伝送を待つ秒数。デフォルトは、2 秒です。
設定
プロキシを使用するために、 pf.conf(5) は、次の規則を必要とします。 anchor は、強制的です。設定のために必要な規則を調整します。NAT セクションでは:
nat on $ext_if from $int_if -> ($ext_if:0) no nat on $ext_if to port tftp rdr-anchor "tftp-proxy/*" rdr on $int_if proto udp from $lan to any port tftp ->\ 127.0.0.1 port 6969
フィルタセクションでは、パス規則を保持するために anchor を追加しなければなりません:
anchor "tftp-proxy/*"
パケットが pf(4) によって転送されるポートでプロキシをスポン (生み出す) するために inetd(8) を設定しなければなりません。次は、 inetd.conf(5) エントリの例です:
127.0.0.1:6969 dgram udp wait root \ /usr/libexec/tftp-proxy tftp-proxy
警告
tftp-proxy は、 /var/empty に chroot し、特権を落とすためにユーザ“proxy”に変更します。November 28, 2005 | FreeBSD |