Microsoft Word - irule_a_to_z-f.doc



Similar documents
目 次 目 次 1 ログイン ログアウト ログインする...1 ログイン 画 面 が 表 示 されないときは?... 1 初 めてログインするときのパスワードは?... 2 初 期 パスワードを 忘 れてしまったときは?... 2 変 更 したパスワードを 忘 れてしまったときは?.

Microsoft Word - 第3章.doc

以 下 に 手 順 の 流 れを 記 載 します 3ページ 以 降 で 各 項 目 の 手 順 を 説 明 します ( をクリックすると 該 当 ページにジャンプします ) また 4ページに 汎 用 データ 受 入 に 関 するよくあるお 問 い 合 わせをご 紹 介 しています Step (3ペー

4.5. < 参 加 表 明 書 を 提 出 する> 調 達 案 件 一 覧 の 表 示 対 象 となる 案 件 を 検 索 し 調 達 案 件 一 覧 に 表 示 させます 参 加 したい 案 件 の 調 達 案 件 名 称 行 - 入 札 参 加 資 格 確 認 申 請 / 技 術 資 料 /

Microsoft Word - FrontMatter.doc

SXF 仕 様 実 装 規 約 版 ( 幾 何 検 定 編 ) 新 旧 対 照 表 2013/3/26 文 言 変 更 p.12(1. 基 本 事 項 ) (5)SXF 入 出 力 バージョン Ver.2 形 式 と Ver.3.0 形 式 および Ver.3.1 形 式 の 入 出 力 機 能 を

養 老 保 険 の 減 額 払 済 保 険 への 変 更 1. 設 例 会 社 が 役 員 を 被 保 険 者 とし 死 亡 保 険 金 及 び 満 期 保 険 金 のいずれも 会 社 を 受 取 人 とする 養 老 保 険 に 加 入 してい る 場 合 を 解 説 します 資 金 繰 りの 都

(Microsoft Word - Excel\211\236\227p2\217\315.docx)

目 次 1. 論 理 関 数 IF IF の 概 要 論 理 式 の 種 類 等 号 不 等 号 具 体 的 な 使 い 方 ネスト 複 数 の 条 件 を 記 述...

目 次 1. Web メールのご 利 用 について Web メール 画 面 のフロー 図 Web メールへのアクセス ログイン 画 面 ログイン 後 (メール 一 覧 画 面 ) 画 面 共 通 項 目

以 下 に 手 順 の 流 れを 記 載 します 3ページ 以 降 で 各 項 目 の 手 順 を 説 明 します ( をクリックすると 該 当 ページにジャンプします ) また 15ページに 汎 用 データ 受 入 に 関 する よくあるお 問 い 合 わせをご 紹 介 しています Step1 (

購買ポータルサイトyOASIS簡易説明書 b


5-2.操作説明書(支店連携)_xlsx

目 次 1. 積 算 内 訳 書 に 関 する 留 意 事 項 1 ページ 2. 積 算 内 訳 書 のダウンロード 3 ページ 3. 積 算 内 訳 書 の 作 成 (Excel 2003の 場 合 ) 6 ページ 4. 積 算 内 訳 書 の 作 成 (Excel 2007の 場 合 ) 13

( 別 紙 ) 以 下 法 とあるのは 改 正 法 第 5 条 の 規 定 による 改 正 後 の 健 康 保 険 法 を 指 す ( 施 行 期 日 は 平 成 28 年 4 月 1 日 ) 1. 標 準 報 酬 月 額 の 等 級 区 分 の 追 加 について 問 1 法 改 正 により 追 加

勤 怠 項 目 6~10の 追 加 < 概 要 > 勤 怠 項 目 6~10を 追 加 しました それに 伴 い 下 記 の 箇 所 が 変 更 になりました ページ 場 所 誤 25 給 与 奉 行 への テキスト 書 出 順 勤 怠 項 目 1~ 勤 怠 項 目 5 27 内 容 勤 怠 項 目

4 応 募 者 向 けメニュー 画 面 が 表 示 されます 応 募 者 向 けメニュー 画 面 で [ 交 付 内 定 時 の 手 続 を 行 う] [ 交 付 決 定 後 の 手 続 を 行 う]をクリックします 10

<4D F736F F D20819C486F70658F6F93588ED297708AC7979D89E696CA837D836A B E A2E646F63>

[2] 控 除 限 度 額 繰 越 欠 損 金 を 有 する 法 人 において 欠 損 金 発 生 事 業 年 度 の 翌 事 業 年 度 以 後 の 欠 損 金 の 繰 越 控 除 にあ たっては 平 成 27 年 度 税 制 改 正 により 次 ページ 以 降 で 解 説 する の 特 例 (


弁護士報酬規定(抜粋)

2016 年 度 情 報 リテラシー 三 科 目 合 計 の 算 出 関 数 を 用 いて 各 教 科 の 平 均 点 と 最 高 点 を 求 めることにする この2つの 計 算 は [ホーム]タブのコマ ンドにも 用 意 されているが 今 回 は 関 数 として 作 成 する まず 表 に 三 科

医療費控除の入力編

富士山チェックリスト

< 目 次 > 8. 雇 用 保 険 高 年 齢 雇 用 継 続 給 付 27 ( 育 児 休 業 給 付 介 護 休 業 給 付 ) 8.1 高 年 齢 雇 用 継 続 給 付 画 面 のマイナンバー 設 定 高 年 齢 雇 用 継 続 給 付 の 電 子 申 請 高

続 に 基 づく 一 般 競 争 ( 指 名 競 争 ) 参 加 資 格 の 再 認 定 を 受 けていること ) c) 会 社 更 生 法 に 基 づき 更 生 手 続 開 始 の 申 立 てがなされている 者 又 は 民 事 再 生 法 に 基 づき 再 生 手 続 開 始 の 申 立 てがなさ

(別紙3)保険会社向けの総合的な監督指針の一部を改正する(案)

Taro-2220(修正).jtd

Microsoft PowerPoint _リビジョンアップ案内_最終.pptx

振込データの作成

ファイルサーバー(NFS) 構築ガイド

請 求 データを 作 成 しましょう 操 作 手 順 1 トップページ 画 面 で [ 口 座 振 替 請 求 ]をクリックして 口 座 振 替 請 求 サービスのメインメニュー 画 面 を 表 示 し [ 請 求 データ 作 成 ]をクリックします 請 求 データは 最 大 10 個 作 成 する

5-2 一 般 ユーザー 用 :メール 2 送 信 者 のリンクをクリックすると 受 信 メールの 内 容 を 見 ることができます 受 信 メール 内 容 画 面 項 目 送 信 者 宛 先 CC 本 文 (テキスト) 本 文 (HTML) メールアドレスのリンクをクリックするとアドレス 帳 へ


スライド 1

2 科 学 研 究 費 助 成 事 業 のトップページ 画 面 が 表 示 されます [ 研 究 者 ログイン]をクリック します 掲 載 している 画 面 は 例 示 です 随 時 変 更 されます 3 科 研 費 電 子 申 請 システムの 応 募 者 ログイン 画 面 が 表 示 されます e

Taro-1-14A記載例.jtd

2 課 題 管 理 ( 科 学 研 究 費 補 助 金 ) 画 面 が 表 示 されます 補 助 事 業 期 間 終 了 後 欄 の[ 入 力 ] をクリックします [ 入 力 ]ボタンが 表 示 されていない 場 合 には 所 属 する 研 究 機 関 の 事 務 局 等 へお 問 い 合 わせく

入 札 参 加 資 格 申 請 システム 操 作 マニュアル 入 札 参 加 資 格 の 資 格 有 効 ( 変 更 ) 日 を 迎 えると 追 加 届 の 登 録 ができるようになります ( 入 札 参 加 資 格 申 請 の 定 時 受 付 では いずれかの 申 請 先 団 体 から 入 札 参

1.2. ご 利 用 環 境 推 奨 ブラウザ Internet Explorer Google Chrome(バージョン 32 時 点 で 動 作 確 認 済 み) Mozilla Firefox(バージョン 26 時 点 で 動 作 確 認 済 み) Safari 7

<82C582F182B382A2322E3594C5837D836A B2E786C73>

KINGSOFT Office 2016 動 作 環 境 対 応 日 本 語 版 版 共 通 利 用 上 記 動 作 以 上 以 上 空 容 量 以 上 他 接 続 環 境 推 奨 必 要 2

TIPS - 棚 割 りを 開 始 するまで Liteを 起 動 し 企 業 情 報 の 追 加 を 行 い 棚 割 を 行 う 企 業 の 追 加 をして 下 さい 企 業 情 報 の 追 加 時 に エラーメッセージが 表 示 された 場 合 別 途 TIPS トラブルが 発 生 した 場 合

計算式の取り扱い

Ver 改 訂 日 付 改 訂 内 容 1

Microsoft Word - 311Tools_END

目 次 機 能 概 要 配 信 管 理 1. メールの 配 信 履 歴 と 予 約 を 確 認 する

「給与・年金の方」からの確定申告書作成編

 

MetaMoJi ClassRoom/ゼミナール 授業実施ガイド

2.JADA 検 査 対 象 者 登 録 リストへの 登 録 除 外 引 退 復 帰 2.1 JADA 検 査 対 象 者 登 録 リストへの 登 録 及 び 除 外 は 原 則 として 以 下 に 示 す 対 応 によりおこな うものとする 登 録 国 内 競 技 連 盟 からの 登 録 申 請

募集新株予約権(有償ストック・オプション)の発行に関するお知らせ

施 工 P お 気 に 入 り データを 活 用 するための 準 備 施 工 パッケージデータをお 気 に 入 りに 登 録 し 単 価 を 閲 覧 するための 方 法 を 説 明 します 1. 施 工 パッケージデータをダウンロードする 施 工 パッケージデータのダウンロードは 下 記 から 行

工事記録写真チェックシステム 操作説明書

治 験 実 施 管 理 システム NMGCP 向 け Excel 形 式 プロトコール 作 成 手 順 書 V4.0.3 対 応 版 第 1 版 株 式 会 社 富 士 通 アドバンストエンジニアリング All Rights Reserved,Copyright 株 式 会 社 富 士 通 アドバン

データコピーとは データコピーは 古 い NAS のデータを 新 しい HDL-Z シリーズに 簡 単 にコピーできます 環 境 例 本 製 品 は 以 下 の 用 途 の 際 に 最 適 です 古 い HDL-Z シリーズから 新 しい HDL-Z シリーズへのコピー 古 い HDL-Z シリーズ

Microsoft Word - 目次.doc

4 承 認 コミュニティ 組 織 は 市 長 若 しくはその 委 任 を 受 けた 者 又 は 監 査 委 員 の 監 査 に 応 じなければ ならない ( 状 況 報 告 ) 第 7 条 承 認 コミュニティ 組 織 は 市 長 が 必 要 と 認 めるときは 交 付 金 事 業 の 遂 行 の

1. 業 務 概 要 貨 物 情 報 登 録 済 の 貨 物 に 対 して システムを 介 さずに 行 われた 税 関 手 続 きについて 税 関 が 許 可 承 認 等 を 行 った 旨 を 登 録 する また システムで 行 われた 以 下 の 税 関 手 続 き( 以 下 輸 出 申 告 等

エ CarotDAV が 起 動 すると 次 のようなウィンドウが 表 示 されます メニューバーにある File から New Connection の WebDAV を 選 択 します オ 次 のような 設 定 画 面 が 表 示 されたら General タブでネットワークアドレスなどを 設

贈与税 faq

R4財務対応障害一覧

1 キャンセル 処 理 1-1 受 注 台 帳 でキャンセルの 処 理 を 行 う キャンセルする 受 注 を 検 索 します 1 受 注 台 帳 にキャンセルする 受 注 の 注 文 番 号 を 入 力 し 検 索 します 2 検 索 結 果 に 表 示 された 注 文 番 号 をクリック 注 文

<4D F736F F D20819C B78AFA95DB91538C7689E68DEC90AC289

PowerPoint プレゼンテーション

<4D F736F F D F4390B3208A948C E7189BB8CE F F8C668DDA97702E646F63>

「1 所得税及び復興特別所得税の確定申告書データをお持ちの方」からの更正の請求書・修正申告書作成編

スライド 1

(Microsoft PowerPoint - Ver12\203o\201[\203W\203\207\203\223\203A\203b\203v\216\221\227\277.ppt)

中国会社法の改正が外商投資企業に与える影響(2)

スライド 0

注 記 事 項 (1) 当 四 半 期 連 結 累 計 期 間 における 重 要 な 子 会 社 の 異 動 : 無 (2) 四 半 期 連 結 財 務 諸 表 の 作 成 に 特 有 の 会 計 処 理 の 適 用 : 有 ( 注 ) 詳 細 は 添 付 資 料 4ページ 2.サマリー 情 報 (

Microsoft Word - 操作マニュアル(石油コンビナート_オフラインソフト編)_v0.2.doc

本 日 の 内 容 1. ゲートウェイシステムにより 提 出 する 電 子 ファイル 2. ゲートウェイシステムによる 提 出 方 法 3. 電 子 データとeCTDの 関 係 4. 提 出 形 式 提 出 方 法 に 係 るQ&A 2

Microsoft Word - 不正アクセス行為の禁止等に関する法律等に基づく公安

第 1 条 適 用 範 囲 本 業 務 方 法 書 は 以 下 の 性 能 評 価 に 適 用 する (1) 建 築 基 準 法 施 行 令 ( 以 下 令 という ) 第 20 条 の7 第 1 項 第 二 号 表 及 び 令 第 20 条 の 8 第 2 項 の 認 定 に 係 る 性 能 評

1. 概 要 Webで 申 込 みした 手 続 きの 内 容 とNEXIでの 手 続 状 況 を Web 申 込 状 況 一 覧 で 確 認 することができます また 各 種 手 続 きにおいて 申 込 みを 完 了 せずに 保 存 状 態 にした 手 続 きを この 一 覧 から 再 開 すること

PowerPoint プレゼンテーション

< 現 在 の 我 が 国 D&O 保 険 の 基 本 的 な 設 計 (イメージ)> < 一 般 的 な 補 償 の 範 囲 の 概 要 > 請 求 の 形 態 会 社 の 役 員 会 社 による 請 求 に 対 する 損 免 責 事 由 の 場 合 に 害 賠 償 請 求 は 補 償 されず(

2. 会 計 規 程 の 業 務 (1) 規 程 と 実 際 の 業 務 の 調 査 規 程 や 運 用 方 針 に 規 定 されている 業 務 ( 帳 票 )が 実 際 に 行 われているか( 作 成 されている か)どうかについて 調 べてみた 以 下 の 表 は 規 程 の 条 項 とそこに

文化政策情報システムの運用等

あいち電子調達共同システム

目 改 正 項 目 軽 自 動 車 率 の 引 上 げ 〇 国 及 び 地 方 を 通 じた 自 動 車 関 連 制 の 見 直 しに 伴 い 軽 自 動 車 の 標 準 率 が 次 のとおり 引 き 上 げられます 車 種 区 分 引 上 げ 幅 50cc 以 下 1,000 円 2,000 円

2007 Microsoft Corporation. All rights reserved. 本 書 に 記 載 した 情 報 は 本 書 各 項 目 に 関 する 発 行 日 現 在 の Microsoft の 見 解 を 表 明 するものです Microsoft は 絶 えず 変 化 する

1

<4D F736F F F696E74202D2082C882E982D982C DD8ED88EE688F882CC82B582AD82DD C668DDA9770>

3. 選 任 固 定 資 産 評 価 員 は 固 定 資 産 の 評 価 に 関 する 知 識 及 び 経 験 を 有 する 者 のうちから 市 町 村 長 が 当 該 市 町 村 の 議 会 の 同 意 を 得 て 選 任 する 二 以 上 の 市 町 村 の 長 は 当 該 市 町 村 の 議

ていることから それに 先 行 する 形 で 下 請 業 者 についても 対 策 を 講 じることとしまし た 本 県 としましては それまでの 間 に 未 加 入 の 建 設 業 者 に 加 入 していただきますよう 28 年 4 月 から 実 施 することとしました 問 6 公 共 工 事 の

年齢別人数計算ツールマニュアル

国 税 クレジットカード 納 付 の 創 設 国 税 のクレジットカード 納 付 については マイナンバー 制 度 の 活 用 による 年 金 保 険 料 税 に 係 る 利 便 性 向 上 に 関 するアクションプログラム( 報 告 書 ) においてその 導 入 の 方 向 性 が 示 されている

<IE の 設 定 について> 従 来 版 をすでにご 利 用 の 方 の 場 合 互 換 表 示 設 定 がある 状 態 になっていると 思 わ れますので 必 ず 解 除 の 設 定 を 行 ってください 従 来 版 では IE の 10 以 上 では 互 換 表 示 設 定 が 必 要 でした

国立研究開発法人土木研究所の役職員の報酬・給与等について

   新潟市市税口座振替事務取扱要領

H28記入説明書(納付金・調整金)8

Box-Jenkinsの方法

資料 H3ロケットへの移行に関する課題と対応

目 次 電 子 申 請 を 使 用 した 申 請 の 流 れ 1ページ 申 請 書 ( 概 算 保 険 料 申 告 書 )の 作 成 2ページ 作 成 した 申 請 書 の 送 信 31ページ 状 況 照 会 電 子 納 付 を 行 う 62ページ 返 送 書 類 の 取 得 75ページ お 問 い

SPARQL Finder設置方法

PowerPoint プレゼンテーション

Transcription:

BIG-IP IP v9 irule A to Z I. はじめに このドキュメントでは BIG-IP v9 の irule について 機 能 を 紹 介 するとともに 実 際 のサンプルを 用 いながら 解 説 します 尚 特 に 断 りが 無 い 限 り irule の 記 述 方 法 や 使 用 されているコマンドは 9.1 の 仕 様 に 基 づいています このため 文 中 にある v9 という 記 述 は 9.1 を 指 します II. III. irule とは irule とは VirtualServer( 以 下 VS)に 関 連 付 けられるオブジェクトのうちの 1 つで VS に 到 着 したパケットに 対 して 記 述 されたスクリプトの 内 容 をもとに 様 々な 処 理 を 行 います 処 理 されたパケットは VS に 設 定 される Default pool だけではなく irule で 書 かれた pool や node へ 送 ることもできます また v4.x と 同 様 に irule がパーシステンスでも 使 用 でき 更 に 認 証 にも 使 用 されます v9 の irule は TCL 言 語 を 用 いており 従 来 よりも 汎 用 性 の 高 い 実 装 で 様 々な 用 途 に 使 用 できます TCL TCL(ティクル)は Tool Command language の 略 で 標 準 的 なスクリプト 言 語 のうちのひとつです これは 集 積 回 路 の 設 計 に 使 用 されるスクリプトを C 言 語 のライブラリ パッケージとして 組 み 込 んで 汎 用 な 目 的 に 使 用 でき るようにするために 開 発 された 言 語 です スクリプト 言 語 とは ソースコードを 記 述 して 実 行 する 前 にユーザー がコンパイルすることはなく スクリプトを 実 行 するたびに 自 動 的 にコンパイルが 行 われる 種 類 の 言 語 です Ruby や PHP もスクリプト 言 語 です 最 近 TCL は 主 に TCL/Tk(Tool kit)という 形 で GUI アプリケーションの 開 発 に 使 用 されることが 多 くなっています 1. TCL の 文 法 に 関 するルール このセクションでは TCL スクリプトを 作 成 するにあたって 理 解 しておく 必 要 がある 一 般 的 な 文 法 について 解 説 します i. 基 本 のコマンドライン コマンド アーギュメント1 アーギュメント2 という 形 でコマンドの 後 にアーギュメントが 続 きます 例 えば 変 数 に 値 を 格 納 するコマンドである set を 使 用 して a という 変 数 に 1 を 格 納 するコマンドは 以 下 の 通 りです set a 1 ii. ダブルクォーテーション タブ ブランク 改 行 の 制 御 文 字 となる 文 字 を 含 むアーギュメントを 使 用 するにはダブルクォーテーション を 使 用 します set ABC "a b c d" 改 行 コードをアーギュメント 内 に 含 む 際 にこのダブルクォーテーションを 使 用 します set テスト 結 果 " 国 語 30 算 数 20 " この 場 合 はアーギュメントに 含 まれません また "はアーギュメントの 先 頭 に 記 述 される 場 合 においてのみ 上 記 のように 振 舞 います アーギュメント の 途 中 にある 場 合 は 単 に 文 字 列 の 1 つとして 扱 われます iii. $ 文 字 アーギュメント 内 に 記 述 されている$は 変 数 置 換 子 と 呼 ばれ $ 以 降 からつぎのブランク タブ 改 行 まで の 文 字 が 変 数 とみなされます 下 の 例 では a に 1000 がセットされます F5 Networks Japan K.K. 1 July, 2005

iv. set b 1000 set a $b スクウェアブラケット( [, ] ) アーギュメント 内 に 記 述 されている[および]はコマンド 置 換 子 と 呼 ばれ []で 囲 まれた 文 字 列 がコマンドラ インとみなされ その 実 行 結 果 がアーギュメントとしてコマンドに 渡 されます この 動 作 をコマンド 置 換 と 呼 びます 以 下 の 例 は 計 算 結 果 を 変 数 に 格 納 します set a [ expr 1+1 ] また コマンド 置 換 は 以 下 のようにネストすることも 可 能 です 更 に 改 行 コードを 含 むことも 可 能 です set a [ expr 1+ [ expr b*20]] v. バックスラッシュ 記 号 改 行 コード()やタブ()を 記 述 する 際 に 使 用 します また 上 記 の 置 換 子 の 前 にバックスラッシュを 付 加 する と 単 に 文 字 として 扱 われます vi. ブレース 引 用 符 アーギュメントをブレース 引 用 符 で 囲 むことによって 囲 まれた 部 分 に 含 まれるあらゆる 特 殊 文 字 の 機 能 を 無 効 化 します set a {[set テスト $ 国 語 ] この 場 合 変 数 a には[set テスト $ 国 語 ]という 文 字 列 が 格 納 されます また ダブルクォーテーションと 同 様 に この 機 能 はブレースの 開 始 がアーギュメントの 最 初 に 記 述 されているときのみ 有 効 です vii. 変 数 の 型 と 名 前 TCL の 変 数 には 型 が 用 意 されていませんが TCL のコマンドは TCL パーサーから 渡 された 変 数 値 を 整 数 や 実 数 論 理 型 として 取 り 扱 います 変 数 の 名 前 には 全 ての 文 字 が 使 用 可 能 ですが 特 殊 文 字 が 含 まれる 変 数 名 を 使 用 する 際 には 特 殊 文 字 をエス ケープするためにブレースが 必 要 になります puts ${テスト. 国 語 このような 面 倒 を 避 けるために 特 殊 文 字 は 使 用 しないほうが 良 いでしょう viii. ix. 変 数 のスコープ 変 数 の 型 をコマンドで 管 理 しているのに 対 し 変 数 のスコープは TCL パーサが 管 理 しています 変 数 のスコープにはグローバル 変 数 ローカル 変 数 がサポートされています ローカル 変 数 はプロシージャ 内 に 作 成 され 終 了 すると 削 除 されます これに 対 しグローバル 変 数 は 変 数 にアクセスする 前 に 予 め 宣 言 し ておかなければなりません グローバル 変 数 は 宣 言 時 に global コマンドを 使 用 します TCL では 全 ての 変 数 を 削 除 でき それを 明 示 的 に 削 除 したい 場 合 は unset を 使 用 します 配 列 変 数 TCL では 配 列 変 数 は 変 数 名 ( 添 え 字 )で 表 され 他 の 変 数 と 同 様 事 前 の 宣 言 や 要 素 数 の 指 定 は 必 要 ありま せん 以 下 のように 同 名 の 通 常 変 数 と 配 列 変 数 を 同 一 のスクリプト 内 で 使 用 することはできません set a 300 set a(1) 400 また 要 素 数 は 数 字 である 必 要 は 無 く 文 字 列 も 使 用 できます set a(jkl) 200 F5 Networks Japan K.K. 2 July, 2005

ただし 利 用 の 利 便 性 を 考 えると 数 字 を 使 用 するのが 一 般 的 です 要 素 を, や. で 区 切 って 複 数 記 述 することによって 多 次 元 配 列 を 使 用 できます set variable(a.1) 200 set index 1 -> このとき variable(a.$index)は200 x. リスト 複 数 のデータの 集 まりを 1 つのデータのように 処 理 する TCL 特 有 の 機 能 です 配 列 と 異 なり 特 有 の 使 用 方 法 があるわけではなく 扱 いは 普 通 の 変 数 と 同 様 です リストの 要 素 の 区 切 り 文 字 として 使 用 されるのはブランク タブ 改 行 です 要 素 にこれらの 文 字 を 含 む 場 合 は 前 述 の 通 りブラケッ ト({)で 囲 みます math 70 {physical education 80 このリストには 4 個 の 要 素 が 含 まれています また ブラケットはネストすることも 可 能 です 上 記 の 場 合 physical education が 1 つの 要 素 として 得 られますが この 要 素 を 更 に 2 つの 要 素 からなるリストとして 扱 うことができます リストを 操 作 するには 予 め 用 意 されているリスト 操 作 用 コマンドを 使 用 します リストの 生 成 set TESTLIST [list math 70 physical education 80] リストから i 番 目 の 要 素 をの 取 り 出 す set El [lindex $TESTLIST $i] リストの 要 素 を 取 り 出 してループする foreach el $TESTLIST { puts $elem 2. コマンド TCL で 使 用 される 基 本 的 なコマンドとその 例 は Appendix i を 参 照 してください 3. BIG-IP での 利 用 制 限 irule では 使 用 できない TCL コマンドがあります コマンドのリストは Appendix ii を 参 照 してください 4. irule を 使 用 する 際 の 基 本 ルール i. イベントを 指 定 する irule はイベントベースの 設 定 です スクリプトの 本 文 がどのイベントに 基 づいて 使 用 されるかを 記 述 する 必 要 があります イベントの 種 類 と 説 明 は Configuration Guide for Local Traffic Management を 参 照 してください ii. 接 続 先 pool/node の 決 定 v9 の irule では 必 ずしも irule の 中 で 接 続 先 の pool や node を 指 定 する 必 要 はありません ですから 以 下 のように 単 にロギングするための irule を 作 成 することも 可 能 です when HTTP_REQUEST { log local0. this is a test F5 Networks Japan K.K. 3 July, 2005

IV. 設 定 方 法 BIG-IP での Rule の 設 定 方 法 を 以 下 に 示 します 関 連 付 けられる pool や VirtualServer( 以 下 VS)は 予 め 作 成 され ているものとします 1. 新 規 Rule の 作 成 Tips : 新 規 に 作 成 する 場 合 は + 記 号 をクリ ックすることで 一 覧 表 示 画 面 をスキップし て 新 規 作 成 画 面 に 移 ることができます 2. Rule の 編 集 v9 には v4.x のような Rule Builder はありません このため 全 ての Rule をエディタで 記 述 する 必 要 があ ります また スクリプト 本 文 のほかに 名 前 をつける 必 要 があります この 名 前 は 多 くの Rule を 作 成 したと きに 目 的 の Rule を 検 索 する 際 に 便 利 です 記 述 した 後 Finished ボタンをクリックして 保 存 します この 際 Rule 名 と 文 法 および Rule の 中 で 使 用 され るオブジェクトの 存 在 確 認 チェックが 行 われ エラーがあると Rule を 保 存 できません 3. VS への 適 用 作 成 した Rule を VS の 設 定 画 面 を 使 用 して VS に 適 用 します Rule は Pool と 同 様 に Resource の 一 部 として F5 Networks Japan K.K. 4 July, 2005

設 定 されます V. Rule 作 成 のテクニック 1. デバッグ v4 系 と 互 換 性 があるものの irule の 強 みを 最 大 限 に 発 揮 するには v9 固 有 の 考 え 方 やコーディングが 必 要 で ある 上 に より 複 雑 な 処 理 が 可 能 になるためコードが 複 雑 化 しがちです 複 雑 なコードはエラーを 誘 発 しし デバッグが 必 要 になることがあるでしょう デバッグ 手 段 のうちのひとつとして 有 効 なものはログ 出 力 です 以 下 の 要 領 で 各 所 にロギングの 行 を 挿 入 し 変 数 の 値 が 想 定 どおりにセットされているか またはコマンドの 実 行 結 果 や 戻 り 値 が 想 定 どおりか 等 をチェックします もちろん 変 数 に 限 らずコマンドを 記 述 することもできます when HTTP_REQUEST {. log local0. section1, a is $a.. when CLIENT_ACCEPTED {. log local0. section1, Bandwidth is [TCP::bandwidth].. 2. グローバル Rule 一 般 的 に irule のスコープはそのコネクション 内 のみであり 複 数 のコネクションに 跨 った 処 理 をすること ができません しかしながら RULE_INIT イベントを 使 用 することにより その Rule を Resource として 使 用 している 全 ての VS の 情 報 を 一 元 的 に 管 理 することが 出 来 ます 具 体 的 には VS で 保 持 しているコネクション 数 による 制 御 等 が 可 能 です 3. Rule 作 成 時 の 注 意 irule には 一 般 的 なプログラミングの 定 石 が 適 用 されます 従 って ループの 多 用 による 複 雑 な 制 御 やグロ ーバル 変 数 の 利 用 はパフォーマンスに 対 して 影 響 を 与 えることに 注 意 してください F5 Networks Japan K.K. 5 July, 2005

VI. 実 践 編 ここでは 実 際 の Rule を 動 作 を 説 明 しながら 紹 介 していきます 1. BIG-IP に Sorry サーバの 役 割 を 持 たせる Rule サイトが 停 止 しているときに 実 web サーバのかわりにリクエストを 受 け 付 けてクライアントにその 旨 を 伝 えるのが Sorry サーバですが 任 意 のレスポンスをクライアントに 返 すことができる HTTP::respond コマン ドを 使 用 して Sorry サーバのかわりに BIG-IP 自 身 が sorry コンテンツを 返 します 日 本 語 の 直 接 入 力 は GUI でのみ 可 能 です when HTTP_REQUEST { # always_down_pool というpool のアクティブメンバ 数 が0だったら 以 下 の 処 理 を 行 います if { [active_members test_pool] < 1 { # HTTP 200 とそれに 続 くhtml テキストをクライアントに 返 します HTTP::respond 200 Content "<html><body> 現 在 サーバ 停 止 中 です <br>もう 暫 くお 待 ちくだ さい <br><br><font size=-1><i>f5 Networks test</i></font></body></html>" 2. SSL のサイト サイトへリダイレクト リダイレクトするための Rule データグループにリダイレクト 対 象 となる URI を 格 納 しておき そのオブジェクトへの http アクセスが 試 み られたら https にリダイレクトします when HTTP_REQUEST { set uri [findstr [HTTP::uri] "" 1 "/"] if {[matchclass $::redirect_group equals $uri] { redirect to "https://[http::host][http::uri]" ここで 用 意 するデータグループは 以 下 のようなものになります class redirect_group { "test1" "test2" たとえば クライアントが 以 下 のようなリクエストを 送 信 した 場 合 http://www.domain.com/test1/testing/inde.cgi [HTTP::uri]コマンドで 返 される 値 は 以 下 のとおりです /test1/testing/index.cgi 上 記 の Rule では path の 中 のもっとも 上 位 のディレクトリの 内 容 に 応 じて(この 例 の 場 合 は/test1)リダイレ クトを 行 うので [HTTP::uri]で 取 得 できる 値 の 2 文 字 目 から 最 初 の / の 前 の 文 字 までがマッチングの 対 象 と なります これを 以 下 の 記 述 で 抜 き 出 します findstr [HTTP::uri] "" 1 "/" 更 に 以 下 の 記 述 でグループのリストとマッチさせます matchclass $::redirect_group equals $uri データグループを 使 用 する 際 の 変 数 名 は 以 下 のとおりです $:: 設 定 したグループ 名 F5 Networks Japan K.K. 6 July, 2005

3. Web サーバが 返 すエラーコード エラーコードを 200 に 変 換 する Rule web アプリケーションに 対 する 攻 撃 者 は HTTP ヘッダのレスポンスコードならびにエラー 時 のコンテンツか ら 得 られる 情 報 (Web サーバの 種 類 バージョン 等 )を 攻 撃 の 糸 口 の 1 つとします 例 えば 403(Forbidden) や 500(Internal Server Error)であれば そのオブジェクトに 対 して 何 らかの query string を 付 加 してリクエ ストを 送 れば 何 らかのレスポンスが 得 られるかもしれないというヒントを 与 えるし そのエラー 画 面 のコンテ ンツには 多 くの 場 合 web サーバのバージョンや web サーバの 名 前 が 含 まれており これによりそのソフトウ ェア 特 有 の 既 知 の 脆 弱 性 を 知 ることができます 一 般 的 な 商 用 サイトにおいて サイトの 利 用 者 はレスポンス コードやサーバの 種 類 バージョンを 知 る 必 要 は 無 く 主 に 開 発 者 やテスターがテスト 環 境 においてのみ 確 認 できれば 良 いので 以 下 の irule によってクライアントには 全 て 200 を 返 します when HTTP_REQUEST { # リダイレクト 時 のhost 名 取 得 はHTTP_REQUEST イベントで 行 わなければなりません set host [HTTP::host] when HTTP_RESPONSE { if { [regexp {[45].. [HTTP::status]] == 1 { # 4 あるいは5ではじまる3 桁 のレスポンスコードだったときに 200 のコードおよび 自 動 的 にトップ ページに 戻 るためのHTTP コンテンツを 返 します HTTP::respond 200 Content "<html><head><meta http-equiv= "Refresh " CONTENT= "5; URL=http://$host/ "><body> 都 合 によりコンテンツを 表 示 できません <br> 自 動 的 にトップページに 移 ります <br> もし 移 らない 場 合 はブラウザの 戻 るボタンで 前 のページに 戻 ってください <br><br><font size=-1><i>f5 Networks test</i></font> </body></html>" 正 規 表 現 についての 補 足 : 正 規 表 現 [45].. は 4 または 5 の 後 に 任 意 の 文 字 (. )が 2 個 続 く 文 字 列 にマッチします このケースにおいては [45][0-9][0-9] とも 表 すことができます F5 Networks Japan K.K. 7 July, 2005

4. クライアントあたりの TCP コネクション 数 を 制 限 する Rule 1 クライアント(1 ソース IP アドレス)が 確 立 できる TCP コネクション 数 を 制 限 します HTTP1.1 と Keep-Alive を 使 用 する 場 合 一 般 的 に 1 クライアントと VS の 間 で 確 立 される TCP セッションはごく 限 られた 数 になるた め この irule によってリクエストが 多 数 送 られるような 攻 撃 を 防 ぎます when RULE_INIT { # Rule 全 体 で 接 続 数 を 管 理 するための 配 列 を 宣 言 します 添 え 字 はクライアントのIP アドレスです array set ::active_clients { when CLIENT_ACCEPTED { set client_ip [IP::remote_addr] # そのIP アドレスの 添 え 字 を 持 った 要 素 が 存 在 する 場 合 それ 以 下 の 処 理 を 行 います if { [info exists ::active_clients($client_ip)] { # この 場 合 1IP アドレスあたりの 最 大 コネクション 数 は5です 制 限 超 過 分 は 弾 きます if {$::active_clients($client_ip) > 5 { reject return else { # 制 限 数 に 満 たなければカウントアップします incr ::active_clients($client_ip) else { # 要 素 がまだ 無 ければ 新 規 作 成 します set ::active_clients($client_ip) 1 # TCP 接 続 がクローズしたときの 処 理 です when CLIENT_CLOSED { if { [info exists ::active_clients($client_ip)] { # 配 列 要 素 が 存 在 したら カウントを1 下 げます incr ::active_clients($client_ip) -1 if { $::active_clients($client_ip) <= 0 { # カウンタが0 以 下 になったら 要 素 そのものをメモリからクリアします unset ::active_clients($client_ip) F5 Networks Japan K.K. 8 July, 2005

5. 帯 域 幅 によって 圧 縮 のコントロール コントロールを 行 う Rule irule の[TCP::bandwidth]コマンドを 使 用 するとクライアントとの 間 で 確 立 されている TCP セッションの 帯 域 幅 [kbps]を 取 得 することができます この 値 を 使 用 して ナローバンドのクライアントに 対 しては 圧 縮 を 提 供 するのがこの Rule です when HTTP_RESPONSE { if { [TCP::bandwidth] < 1000 { # 1Mbps 未 満 のときは 高 圧 縮 率 COMPRESS::enable COMPRESS::gzip level 9 elseif { [TCP::bandwidth] < 10000 { # 10Mbps 未 満 のときは 低 圧 縮 率 COMPRESS::enable COMPRESS::gzip level 1 else { # それ 以 上 のときは 圧 縮 しません COMPRESS::disable F5 Networks Japan K.K. 9 July, 2005

Appendix I. TCL コマンド 1. リストコマンド リストを 操 作 するためのコマンドです irule で 使 用 できない もしくは 使 用 するケースが 少 ないコマンドは 省 略 しています リストの 結 合 contact $list1 $list2 $list3 変 数 に 対 してリスト 要 素 の 追 加 し その 結 果 のリストを 返 します lappend variable $var1 $var2 リストから$index 番 目 の 要 素 を 取 り 出 します lindex $list $index リストの$index 番 目 の 要 素 の 前 に 要 素 $val1, $val2, を 挿 入 したリストを 返 します linsert $list $index $val1 $val2 変 数 群 $val1, $val2 を 要 素 としたリストを 返 します list $val1 $val2 リストの 要 素 数 を 返 します llength $list リスト$list の$index_s 番 目 から$index_e 番 目 までの 要 素 をリストとして 返 します 最 後 までの 場 合 は$last の 中 身 を 文 字 列 end にします lrange $list $index_s $index_e リスト$list の$s 番 目 から$e 番 目 までの 連 続 した 要 素 をすべての 要 素 $val1, $val2, で 置 き 換 え 新 しいリス トを 返 します lreplace $list $s $e $val1 $val2 リスト$list から $sw で 任 意 で 与 えられたパターンマッチング 方 式 で $pattern に 合 致 する 最 初 の 要 素 のイ ンデックスを 返 す $sw は-glob( 方 式 ) exact( 完 全 一 致 ) regexp( 正 表 現 )が 用 意 されている $sw の 指 定 が 無 いときは blog 方 式 が 使 用 されます lsearch $sw $list $pattern リスト$list の 要 素 をソートしたリストを 返 します lsort $switch command $ com $direction $list リスト$list の 要 素 を$joinString で 結 合 した 文 字 列 を 返 します $joinstring のデフォルト 文 字 はスペースで す join $list $joinstring 文 字 列 $string を $splitchars で 区 切 られた 文 字 列 を 要 素 としたリストを 返 します $splitchars のデフォルト 文 字 はスペースです このコマンドは join とは 逆 の 関 係 にあります split $string $splitchars 2. 制 御 コマンド if { test1 {body 1 elseif { test2 { body2 elseif.. eise { bodyn test1 : body1 を 実 行 するための 条 件 式 真 なら body1 が 実 行 されます test2 : test1 の 条 件 が 偽 のとき 評 価 される 条 件 式 真 なら body2 が 実 行 されます bodyn : 全 ての 条 件 が 偽 のときに 実 行 されます F5 Networks Japan K.K. 10 July, 2005

for { init { test { reinit { body init : 初 期 設 定 Tcl スクリプト test : ループ 条 件 式 ( 真 ならループ 継 続 ) reinit : 再 設 定 Tcl スクリプト body : Tcl スクリプト(メイン 処 理 ) while { test { body test : 条 件 式 ( 真 ならループ 継 続 ) reinit : 再 設 定 Tcl スクリプト body : Tcl スクリプト(メイン 処 理 ) switch $switch $ string {$pattern1 {body. $pattern {body string をチェックし 合 致 した pattern の body を 実 行 -glob exact regexp のマッチング 方 式 があり デフォルトは-glob foreah $valnamelist $list {body list から 要 素 を 取 り 出 し 変 数 valnamelist に 順 番 に 代 入 し body を 実 行 する この 処 理 を 要 素 数 の 分 だけ 繰 り 返 す break for while switch foreach のループ 脱 出 に 使 用 する continue for while foreach において ループの 条 件 式 評 価 にジャンプする eval arg1 arg2. 全 アーギュメントをスペース 区 切 りで 結 合 し その 文 字 列 を Tcl スクリプトとして 実 行 し 結 果 を 返 す 3. 文 字 列 操 作 コマンド format scan regexp regsub string compare string first string last string index string length string match string range string tolower string toupper string trim string trimleft string trimright F5 Networks Japan K.K. 11 July, 2005

II. irule で 使 用 できないコマンド after auto_execok auto_import auto_load auto_mkindex auto_mkindex_old auto_qualify auto_reset bgerror cd close eof exec exit fblocked fconfigure fcopy file fileevent filename flush gets glob http interp load memory namespace open package pid pkg::create pkg_mkindex proc pwd rename seek socket source tcl_findlibrary tell unknown update uplevel upvar vwait F5 Networks Japan K.K. 12 July, 2005