Go to main content

Oracle® Solaris ゾーンの作成と使用

印刷ビューの終了

更新: 2018 年 8 月
 
 

共有 IP 非大域ゾーンにおけるネットワーク

Oracle Solaris システムにインストールしたゾーンは、ネットワーク経由で互いに通信できます。ゾーンは別個の結合または接続を保持します。また、独自のサーバーデーモンを実行できます。これらのデーモンは、同一のポート番号で競合することなく待機できます。IP スタックは、着信接続の IP アドレスを考慮に入れることで競合を解決します。IP アドレスにより、ゾーンが識別されます。

共有 IP ゾーンの区分化

共有 IP はデフォルトではありませんが、このタイプはサポートされます。

ゾーンをサポートするシステム内の IP スタックは、ゾーン間のネットワークトラフィックの分離を実装します。IP トラフィックを受け取るアプリケーションは、同じゾーンに送信されたトラフィックの受信だけを実行できます。

システム上の各論理インタフェースは、特定のゾーンに所属します。デフォルトは、大域ゾーンです。zonecfg ユーティリティー経由でゾーンに割り当てられた論理ネットワークインタフェースは、ネットワーク経由での通信に使用されます。各ストリームおよび接続は、それを開いたプロセスのゾーンに所属します。

上位層ストリームと論理インタフェース間の結合は、制限されます。ストリームが確立できるのは、同一ゾーン内の論理インタフェースへの結合だけです。同様に、論理インタフェースからのパケットを渡すことができるのは、論理インタフェースと同じゾーン内の上位層ストリームに対してだけです。

    各ゾーンは、独自のバインドセットを保持します。アドレスが使用中であるため、各ゾーンは、同一のポート番号で待機する同じアプリケーションを、バインドが失敗することなく稼働可能です。各ゾーンでは、次のような各種ネットワークサービスの固有のバージョンを実行できます。

  • 完全な構成ファイルを保持するインターネットサービスデーモン (inetd(1M) のマニュアルページを参照してください)

  • sendmail (sendmail(1M) のマニュアルページを参照)

  • apache

大域ゾーン以外のゾーンは、ネットワークへのアクセスが制限されています。標準の TCP および UDP ソケットインタフェースが利用可能ですが、SOCK_RAW ソケットインタフェースは ICMP (Internet Control Message Protocol) に制限されています。ICMP は、ネットワークのエラー状況を検出および報告したり、ping コマンドを使用するのに必要です。

共有 IP ネットワークインタフェース

ネットワーク接続を必要とする非大域ゾーンには、それぞれ 1 つ以上の専用 IP アドレスがあります。これらのアドレスは、ゾーン内に配置可能な論理ネットワークインタフェースに関連付けられています。zonecfg により構成されるゾーンネットワークインタフェースは、ブート時に自動的に設定されてゾーン内に配置されます。ipadm コマンドを使用すると、ゾーンの稼働中に論理インタフェースを追加または削除できます。インタフェース構成およびネットワーク経路を変更できるのは、大域管理者または適切な承認を付与されたユーザーのみです。

非大域ゾーン内では、そのゾーンのインタフェースのみが ipadm コマンドで表示されます。

詳細は、ipadm(1M) および if_tcp(4P) のマニュアルページを参照してください。

同一システム上の共有 IP ゾーン間の IP トラフィック

指定された IP 宛先への使用可能な経路がルーティングテーブルにある場合、共有 IP ゾーンはその宛先に到達できます。ルーティングテーブルを表示するには、ゾーン内から netstat コマンドに –r オプションを付けて実行します。IP 転送ルールは、別のゾーンまたは別のシステムの IP 宛先でも同じです。

共有 IP ゾーンでの Oracle Solaris パケットフィルタ

Oracle Solaris のパケットフィルタ (PF) 機能は、着信パケットを取り込み、それをシステムへの入力およびシステムからの出力のために評価するネットワークファイアウォールです。PF には、ステートフルパケット検査が用意されています。IP アドレスやポート番号だけでなく、受信しているネットワークインタフェースごとにパケットを一致させることができます。PF は OpenBSD パケットフィルタ (PF) バージョン 5.5 に基づいています。詳細は、Securing the Network in Oracle Solaris 11.4 の 第 4 章, Oracle Solaris Firewallを参照してください。

Securing the Network in Oracle Solaris 11.4 の 第 5 章, Configuring the Firewall in Oracle Solarisで説明しているようにループバックフィルタリングをオンにすることによって、非大域ゾーンで PF を有効にできます。

共有 IP ゾーン内の IP ネットワークマルチパス

Oracle Solaris では、IP ネットワークマルチパス (IPMP) によって複数のインタフェースを同一の IP リンク上でグループ化することにより、継続的なネットワーク可用性が確保されます。これらのベースとなるインタフェースは、そのいずれかに障害が発生した場合でもネットワークを引き続き利用できるように互いにバックアップします。IPMP も、複数のインタフェースを保持するシステムについて、パケットの負荷分散を提供します。

    IPMP は、次の方法で Oracle Solaris に実装されます。

  • net0net1net2 などの複数のインタフェースから、IPMP インタフェース ipmp0 が構成されます。

  • IPMP インタフェース ipmp0 は、データアドレスと呼ばれる複数の IP アドレスで構成されます。これらのアドレスは、ネットワークトラフィックのホストに使用されます。

  • IP アドレスは、ベースとなるインタフェース netN 上に直接構成することもできます。これらのアドレスは、ネットワークトラフィックには使用されませんが、ベースとなるインタフェースに障害が発生しているかどうかを判断する障害検出に使用されます。したがって、ベースとなるインタフェース上のこれらの IP アドレスは検査用アドレスと呼ばれます。

データアドレスは ipmp0 に存在するので、ベースとなる IP インタフェースの 1 つに障害が発生した場合でも、ネットワークを引き続き利用できます。トラフィックは、ipmp0 の別のアドレスを使用して引き続き送られます。

すべてのネットワーク構成タスクと同様に、IPMP は大域ゾーンで構成します。そのあとで非大域ゾーンに機能を拡張します。機能の拡張は、IPMP インタフェースのデータアドレスの 1 つをゾーンに割り当てることによって行います。

指定された非大域ゾーンで ipadm コマンドを使用すると、ゾーンに関連するインタフェースだけが表示されます。