Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

TFTP ALG

トリビアルファイル転送プロトコル(TFTP)ALGは、UDP宛先ポート69へのリクエストを開始するTFTPパケットを処理し、ゲートを開いて、逆方向からリクエストを送信するポートへのリターンパケットを許可します。ステートフルファイアウォールとNATサービスをサポートするには、UDP宛先ポート69のTFTP ALGを設定する必要があります。

Feature Explorerを使用して、特定の機能に対するプラットフォームとリリースのサポートを確認します。

プラットフォームに関連する注意事項については、「 プラットフォーム固有の TFTP ALG の動作 」セクションを確認してください。

TFTP ALGについて

概要

Trivial File Transfer Protocol(TFTP)は、ファイル転送 (RFC 1350)に使用されるシンプルなプロトコルです。TFTPはUDPの上に実装されており、宛先ポート69が既知のポートです。TFTPアプリケーション層ゲートウェイ(ALG)は、リクエストを開始するTFTPパケットを処理し、逆方向からのリターンパケットを許可するピンホールを作成します。

フロー処理では、1 つの TFTP カンバセーションに対して 2 つのセッションがあり、1 つは読み取り要求(RRQ)または書き込み要求(WRQ)パケットによって作成された TFTP 制御セッションです。もう 1 つは、DATA パケット(RRQ の場合)または確認応答(ACK)パケット(WRQ の場合)によって作成された TFTP データ セッションです。

Junos OSファイアウォールでは、TFTP制御セッションはjunos-TFTPアプリケーションポリシーによって許可されます。データ セッションは、制御セッション パケットの受信時に、サーバーの任意のポートからクライアントの TID(ポート)への TFTP ALG オープン ピンホールを介して許可されます。NAT 変換は既に実行されており、その情報はセッション・データ構造から入手できるため、NAT 変換は必要ありません。

TFTPパケット

すべての転送は、ファイルの読み取りまたは書き込みの要求で始まります。512バイト未満のデータパケットは、転送の終了を通知します。

TFTP は、次の 5 種類のパケットをサポートします。

  • 読み取り要求 (RRQ)

  • 書き込み要求 (WRQ)

  • データ (DATA)

  • 肯定応答(ACK)

  • エラー (ERROR)

TFTPセッション

TFTP ALGは、ステートレスなトランスポートプロトコルであるUDPに基づいています。ファイアウォールでは、TFTP ALGはタイムアウトのあるUDPセッションとして機能します。パケット更新セッションがない場合、セッションはタイムアウト後に終了します。TFTP クライアントとサーバーは TFTP カンバセーションの終了を決定しますが、Fireware ではセッションを認識しない場合があります。したがって、このシナリオでは、クライアントとサーバーが新しいTFTPカンバセーションを要求できます。

TFTP ALGセッションは、次のいずれかの方法で続行できます。

  • TFTP制御セッションがタイムアウトに達しても、データセッションがまだ有効であれば、セッションは終了しません。

  • TFTPセッションは、データセッションが進行中かどうかに関係なく、 clear security flow session all または clear specific session CLIコマンドによって終了または破損する可能性があります。

  • 新しいTFTPセッション要求が到着し、既存のセッションに到達すると、TFTP ALGは新しい要求に対してピンホールを再度開きます。

  • ピンホールがすでに存在する場合、TFTP ALGはピンホールを再度開くことはなく、パケットのドロップはありません。

  • TFTP ALGはパケットをドロップしません。

TFTP ALGカンバセーションについて

デフォルトでは、TFTPサーバーはポート69でTFTPクライアントからの着信要求をリッスンします。TFTPクライアントは、送信元トンネル識別子(TID)ポートを選択し、最初の要求をサーバーに送信します。これに対して、サーバーは送信元ポートとして選択された TID を使用し、宛先ポートとしてクライアントの TID に応答を送信します。その後、2 つの TID ポートが残りのデータ転送に使用されます。

Read file conversation steps:

  1. ホスト A(クライアント)は、送信元として A の TID、宛先としてポート 69 を使用して RRQ パケットをホスト B(サーバー)に送信します。

  2. ホストB(サーバ)は、BのTIDを送信元、AのTIDを宛先として、DATAパケットをホストA(クライアント)に送信します。

  3. ホスト A(クライアント)は、A の TID を送信元、B の TID を宛先として、ACK パケットをホスト B(サーバー)に送信します。

  4. DATA パケットと ACK パケットの会話は、ファイルデータの転送が完了するまで継続されます。

Write file conversation steps:

  1. ホストA(クライアント)は、送信元としてAのTID、宛先としてポート69を使用して、WRQパケットをホストB(サーバー)に送信します。

  2. ホスト B(サーバー)は、送信元として B の TID、宛先として A の TID を使用して、ACK パケットをホスト A(クライアント)に送信します。

  3. ホストA(クライアント)は、AのTIDを送信元、BのTIDを宛先として、DATAパケットをホストB(サーバー)に送信します。

  4. ホスト B(サーバー)は、送信元として B の TID、宛先として A の TID を使用して、ACK パケットをホスト A(クライアント)に送信します。

TFTP ALGのIPv6サポートについて

TFTP(簡易ファイル転送プロトコル)アプリケーション層ゲートウェイ(ALG)が拡張され、送信元IPアドレスとIP アドレスの両方にIPv6とIPv4のアドレスを持つIPv6およびIPv4のTFTPカンバセーションがサポートされるようになりました。

TFTP ALGは、ルーティング要求を開始し、ピンホールを作成するパケットを処理して、逆方向から要求を送信したポートへのリターンパケットを許可します。

データ セッションは、クライアントからサーバーへの最初のパケットによってセットアップされます。TFTP ALG は最初のパケットを監視し、サーバー上の任意のポートからクライアントへのピンホールを開きます。このプロセスは、サーバーからのリターンパケットと後続のデータパケットが通過するのに役立ちます。

例:TFTP ALGの設定

TFTP ALGは、要求を開始するTFTPパケットを処理し、ゲートを開いて、逆方向から要求を送信するポートへのリターンパケットを許可します。

この例では、デバイスの送信元NAT プールでTFTPトラフィックを通過するようにTFTP ALGを設定する方法を示します。

必要条件

  • 送信元 NAT プール内のすべての IP アドレスに対してプロキシ ARP を設定します。

  • TFTP ALG の基本概念を理解します。 TFTP ALGについてを参照してください。

概要

この例では、TFTPトラフィックを監視および許可するようにTFTP ALGが設定されており、ジュニパーネットワークスのデバイスの反対側にあるクライアントとサーバー間でファイルを転送します。

構成

NAT 送信元プール、ルール セット、およびポリシーの設定

CLIクイック構成

この例のセクションを迅速に設定するには、以下のコマンドをコピーしてテキスト ファイルに貼り付け、改行を削除し、ネットワーク設定に一致させる必要がある詳細情報を変更し、コマンドを [edit] 階層レベルで CLI にコピー アンド ペーストして、設定モードから commit を入力します。

手記:

TFTPクライアントとサーバのIPアドレスがわからない場合は、「da1」と「sa1」を「any」に置き換えることができます。

手順

次の例では、設定階層のいくつかのレベルに移動する必要があります。その方法の詳細については、CLIユーザー ガイドの 設定モードにおけるCLIエディターの使用を参照してください。

送信元 NAT プールを設定するには、次の手順に従います。

  1. NAT ソース プールを作成します。

  2. セキュリティ ゾーンのアドレス帳エントリーを設定します。

  3. NAT 送信元ルール・セットを作成します。

  4. ポリシーを構成する

業績

設定モードから、 show security nat コマンドと show security policies コマンドを入力して設定を確認します。出力結果に意図した設定内容が表示されない場合は、この例の設定手順を繰り返して設定を修正します。

デバイスの設定が完了したら、設定モードから commit を入力します。

検証

設定が正常に機能していることを確認します。

NAT 送信元プールとルール セットの検証

目的

TFTP ALGをサポートするために使用されるNATソースプールとルールセットが正しく機能していることを確認します。

アクション

動作モードから、 show security nat static rule r1 コマンドを入力します。

TFTP ALGの検証

目的

TFTP ALG が有効になっていることを確認します。

アクション

動作モードから show security alg status コマンドを入力します。

意味

出力は、次のようにTFTP ALGステータスを示します。

  • 有効—TFTP ALG が有効になっていることを示します。

  • 無効—TFTP ALGが無効であることを示します。

プラットフォーム固有のTFTP ALG動作

Feature Explorerを使用して、特定の機能に対するプラットフォームとリリースのサポートを確認します。

次の表を使用して、プラットフォームのプラットフォーム固有の動作を確認します。

プラットホーム

SRX シリーズ

  • TFTPをサポートするSRX320、SRX340、SRX380デバイスは、デバイスでフローが有効になっている場合、ブロードキャストTFTPをサポートしません。