PR
松本直人/ネットワークバリューコンポネンツ ニュービジネスチーム

 通信事業者がユーザー向けに提供するサーバー・アプリケーションの中には,NAT処理の介在を想定していないものが存在します。例えば,メール・サーバーには「POP before SMTP」というしくみが備わっています。これは,メール受信用プロトコルのPOP(post office protocol)で一度アクセスできた端末からのSMTP(simple mail transfer protocol)のアクセスだけ許可するものです。では,POP before SMTPのようなしくみを,キャリア・グレードNATが導入されたネットワーク環境で使うと,どのような問題が起こるのでしょうか。

 POP before SMTPでは,不正メール送信の踏み台としてサーバーが利用されてしまうことを防ぐため,POPでアクセスしてきた端末が持つIPアドレスからのSMTP接続を一定時間許可します。ここで現在のように,プロバイダがグローバル・アドレスを振ったメール・サーバーをプロバイダ網の中に設置・運用していると考えてください。キャリア・グレードNATを実施すると,グローバル・アドレスを不特定多数で共有します。そのため,複数のユーザーが同じIPアドレスからメールの受信操作したことになってしまうのです(図1)。これでは,POP before SMTP本来の意義が崩れてしまいます。

図1●キャリア・グレードNATを導入しただけの状態ではPOP before SMTPが効果を発揮できない
図1●キャリア・グレードNATを導入しただけの状態ではPOP before SMTPが効果を発揮できない
複数のユーザーが同じ送信元IPアドレスを使うことになってしまうためである。

不具合が起こりそうな通信はNAT処理の対象外に

 こうした問題を改善するために,キャリア・グレードNATには「パススルー」と呼ばれる機能を持たせています。パススルーは「特定のIPアドレス,特定のポート番号を使う通信は,送信元をプライベート・アドレスにしたままNAT処理をせずに転送する」というものです。このパススルーを有効にすることで,メール・サーバーはいちどPOPでアクセスしてきた端末を識別できるようになります(図2)。つまり,POP before SMTPが本来の効果を発揮できるようになるわけです。パススルーした際に,送信元のプライベート・アドレスはキャリア・グレードNAT装置が保持(記憶)しています。

図2●パススルーを有効にしてメールのPOP before SMTPを使えるようにする
図2●パススルーを有効にしてメールのPOP before SMTPを使えるようにする
これがないとメールの受信操作をした複数のユーザーのIPアドレスが同じになるため,POP before SMTPが効果を発揮しない。

 パススルー機能は,POP before SMTP以外のNAT処理を得意としないプロトコルにも適用できます。例えば通信事業者のサービスとして,SIP(session initiation protocol)でIP電話サービスを行っており,そのSIPサーバーがNAT処理を得意としない仕組みだった場合が該当します。パススルーを設定することで,顧客端末からの特定SIPサーバーへのアクセスはNAT処理の適用外になり,問題の発生を回避できます。

 パススルーを使うことの利点は,既存のアプリケーションを改修したり追加開発したりせずに済むことです。筆者はこの機能を,既存のアプリケーションをIPアドレス枯渇対策に対応させる“当面の救済策”もしくは“延命策”の一つと考えています。


松本直人 (まつもと なおと)
ネットワークバリューコンポネンツ ニュービジネスチーム
1996年より特別第二種通信事業者のエンジニアとしてインターネット網整備に従事。その後システム・コンサルタント,ビジネス・コンサルタントを経て,2008年より株式会社ネットワークバリューコンポネンツにて新規ビジネス開発を担当。技術開発からビジネス構築までを一気通貫で担当する。システム延命技術の研究開発に取り組む「仮想化インフラ・オペレータズグループ(VIOPS)」発起人のひとりでもある。