TFTPサーバを負荷分散するiRuleです。

TFTPでは、クライアントが最初にTFTPサーバにUDPパケットを送信したあと、サーバが以降に利用すべきのポートでクライアントに返答します。
従って、クライアントからの2回目以降のパケットは69番以外のランダムポートを利用します。
このような難しそうな動作でも、iRule
でトラフィック処理を実現可能です。
iRulelistenコマンドを利用し、ポート69と異なるポートでコネクション(UDPパケット)を受信可能なサーバを一時的に立てます。

タイトル:TFTPの負荷分散

機能:
*最初のクライアントからのパケットをサーバに転送した際、listenコマンドで一時的に新しい受信ポートを立てます。

使い方:
*ルールの「timeout」の値をUDPプロファイルに合わせる(デフォルトが60秒)

when SERVER_CONNECTED {
  listen {
    proto 17
    timeout 60
    bind [LINK::vlan_id] [IP::local_addr] [peer {UDP::client_port}]
    server [peer {IP::client_addr}] [peer {UDP::client_port}]
    allow [IP::server_addr]
  }
}

 

※F5ネットワークスジャパンでは、サンプルコードについて検証を実施していますが、お客様の使用環境における動作を保証するものではありません。実際の使用にあたっては、必ず事前にテストを実施することを推奨します。