EN JA
TFTP-PROXY(8)
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