Sun Java System Messaging Server 6 2005Q4 管理ガイド

書き換えルールのパターンとタグ

この節には、次の項があります。

書き換えルールのほとんどのパターンは、該当のホストだけと一致する特定のホスト名か、サブドメイン全体の任意のホスト/ドメインと一致するサブドメインパターンのいずれかで構成されます。

たとえば、次の書き換えルールのパターンは、指定したホストだけと一致する特定のホスト名で構成されます。

host.siroe.com

次の書き換えルールのパターンは、サブドメイン全体の任意のホストまたはドメインと一致するサブドメインのパターンで構成されます。

.siroe.com

ただし、このパターンは、ホスト名 siroe.com 自体とは一致しません。ホスト名 siroe.com 自体と一致させるには、別の siroe.com パターンが必要になります。

MTA は、特定のホスト名で始まるホスト/ドメイン名を書き換えてから、固有性を少なくするよう、増分で名前を生成しようとします。つまり、より固有な書き換えルールパターンは、より一般的な書き換えルールパターンに優先して使用されます。たとえば、設定ファイルに次の書き換えルールパターンが指定されているとします。

hosta.subnet.siroe.com
.subnet.siroe.com
.siroe.com

書き換えルールパターンに基づいて、jdoe@hosta.subnet.siroe.com のアドレスは書き換えルールパターン hosta.subnet.siroe.com と一致し、jdoe@hostb.subnet.siroe.com のアドレスは書き換えルールパターン .subnet.siroe.com と一致し、jdoe@hostc.siroe.com のアドレスは書き換えルールパターン .siroe.com と一致します。

特に、インターネットのサイトではサブドメイン書き換えルールパターンを含む書き換えルールの使用が一般的です。通常、このようなサイトにはそれ自体の内部ホストおよびサブネットの多数の書き換えルールがあり、internet.rules ファイルからその設定に、トップレベルインターネットドメインの書き換えルールが組み込まれます (msg_svr_base/config/internet.rules)。

インターネット宛先 (より特定の書き換えルールを通じて処理される内部ホスト宛先を除く) へのメッセージが正しく書き換えられ、送信 TCP/IP チャネルに送られるようにするには、imta.cnf ファイルに以下の内容を含めます。


!    Ascension Island
 .AC                      $U%$H$D@TCP-DAEMON
. [text
.     removed for
.             brevity]
!      Zimbabwe
 .ZW                      $U%$H$D@TCP-DAEMON

      

同様に、IP ドメインリテラルの場合も階層に基づいて照合が行われます。ただし、左から右ではなく、右から左へ照合が行われます。たとえば、次のパターンは [1.2.3.4] という IP リテラルにのみ一致します。

[1.2.3.4]

次のパターンは 1.2.3.0 サブネット内の任意の IP リテラルに一致します。

[1.2.3.]

すでに説明したより一般的な種類のホストまたはサブドメインの書き換えルールパターンのほか、書き換えルールではいくつかの特殊なパターンも使われます。これについては、表 11–1 で要約し、以降の項で説明します。

表 11–1 書き換えルールの特殊パターンの要約

パターン 

説明/使用目的 

$* 

任意のアドレスと一致します。このルールが指定されている場合、それがファイル内のどの位置にあっても、最初に適用されます。 

$% 

パーセントハックルールです。A%B という形式のホスト/ドメイン仕様と一致します。 

$! 

bang-style ルールです。B!A という形式のホスト/ドメイン仕様と一致します。 

[ ] 

IP リテラル全一致ルールです。任意の IP ドメインリテラルと一致します。 

任意のホスト/ドメイン仕様と一致します。例: joe@[129.165.12.11]

Messaging Server には、このような特殊なパターンのほか、書き換えルールパターンに現れることのあるタグという概念があります。これらのタグは、アドレスが複数回にわたって書き換えられる場合に使用されます。この区別は、直前に行われた書き換えに基づき、どの書き換えルールがアドレスに一致するかを制御することによって行います。詳細は、「タグ付き書き換えルールセット」を参照してください。

パーセントハックに一致するルール

MTA が A%B 形式のアドレスを書き換えようとして失敗した場合は、そのアドレスが A%B@localhost 形式のアドレスとして扱われる前に、もう 1 つのルールが適用されます(これらのアドレス形式については、「書き換えルールテンプレート」を参照)。このルールは、パーセント記号を含むローカル部分がほかのすべての方法 (あとで説明する全一致ルールを含む) で書き換えに失敗した場合にのみアクティブになります。

パーセントハックルールは、パーセントハックアドレスに何らかの特別な意味を持たせる場合に便利です。

bang-style (UUCP) アドレスに一致するルール

MTA が B!A 形式のアドレスを書き換えようとして失敗した場合は、そのアドレスが B!A@localhost 形式のアドレスとして扱われる前に、もう 1 つのルールが適用されます。このルールが bang-style ルールです。形式は $! です。形式が変更されることはありません。このルールは、感嘆符を含むローカル部分がほかのすべての方法 (あとで説明するデフォルトのルールを含む) で書き換えに失敗した場合にのみアクティブになります。

bang-style ルールを使用すると、UUCP スタイルのアドレスが UUCP システムおよびルーティングに関する総合的な情報を備えたシステムを経由するように書き換えることができます。

任意のアドレスに一致するルール

特殊パターン「.」(ドット文字) は、ほかに一致するルールがなく、ホストまたはドメイン仕様がチャネルテーブル内で見つからない場合に、任意のホストまたはドメイン仕様に一致します。つまり、「.」ルールは、アドレスの書き換えに失敗する前の最後の手段として使用されます。


注 –

置換シーケンスについては、全一致ルールが一致し、そのテンプレートが展開される場合、$H はホストのフルネームに展開し、$D は単一のドット記号「.」に展開します。したがって、全一致ルールのテンプレートでは、$D の使用が制限されます。


タグ付き書き換えルールセット

書き換えプロセスを実行するにあたり、別のルールセットを追加するとうまくいく場合があります。別のルールセットを追加するには、書き換えルールタグを使用します。現在のタグは、設定ファイルまたはドメインデータベースでパターンが検索される前に、各パターンの前に付けられます。タグは、書き換えルールテンプレート内の $T という置換文字列を使って一致する書き換えルールにより変更することができます (後述の説明を参照)。

タグは、1 つのアドレスから抽出されたすべてのホストに対し、連続して適用されます。そのため、タグを使用した場合は、別のルールを指定する際にそれが正しいタグ値から始まるように注意してください。一般に、タグは特殊な目的でしか使用しないため、このことが問題になることはほとんどありません。アドレスの書き換えが完了すると、タグはデフォルトのタグ (空白文字列) にリセットされます。

ルールにより、すべてのタグ値には、その最後に縦棒 (|) が付けられます。この文字は通常のアドレスには使用されないため、パターンの残りの部分とタグとを区別することができます。