Oracle Solaris システムにインストールしたゾーンはネットワーク経由で互いに通信できます。ゾーンは別個の結合または接続を保持します。また、独自のサーバーデーモンを実行できます。これらのデーモンは、同一のポート番号で競合することなく待機できます。IP スタックは、着信接続の IP アドレスを考慮に入れることで競合を解決します。IP アドレスにより、ゾーンが識別されます。
Oracle Solaris では、特定のシステムのネットワーク構成は、Oracle Solaris インストール中に自動的に有効にされるか、システム管理者が手動で有効にするアクティブなネットワーク構成プロファイル (NCP) で管理されます。システム上で一度にアクティブになることができる NCP は 1 つだけです。
共有 IP タイプのゾーンを使用するには、大域ゾーンでの有効な NCP が DefaultFixed NCP である必要があります。システムでどの NCP が現在アクティブになっているかを調べるには、次のコマンドを入力します。
# netadm list TYPE PROFILE STATE ncp DefaultFixed online ncp Automatic disabled loc Automatic offline loc NoNet offline loc DefaultFixed online
online 状態の NCP は、システムで有効またはアクティブなネットワーク構成プロファイルです。DefaultFixed がオフラインの場合、次のコマンドでプロファイルを有効にします。
# netadm enable DefaultFixed
# svcprop -p netcfg/active_ncp svc:/network/physical:default DefaultFixed
共有 IP はデフォルトではありませんが、このタイプはサポートされます。
ゾーンをサポートするシステム内の IP スタックは、ゾーン間のネットワークトラフィックの分離を実装します。IP トラフィックを受け取るアプリケーションは、同じゾーンに送信されたトラフィックの受信だけを実行できます。
システム上の各論理インタフェースは、特定のゾーンに所属します。デフォルトは、大域ゾーンです。zonecfg ユーティリティー経由でゾーンに割り当てられた論理ネットワークインタフェースは、ネットワーク経由での通信に使用されます。各ストリームおよび接続は、それを開いたプロセスのゾーンに所属します。
上位層ストリームと論理インタフェース間の結合は、制限されます。ストリームが確立できるのは、同一ゾーン内の論理インタフェースへの結合だけです。同様に、論理インタフェースからのパケットを渡すことができるのは、論理インタフェースと同じゾーン内の上位層ストリームに対してだけです。
各ゾーンは、独自のバインドセットを保持します。アドレスが使用中であるため、各ゾーンは、同一のポート番号で待機する同じアプリケーションを、バインドが失敗することなく稼働可能です。各ゾーンは、次のような各種のネットワークサービスの固有のバージョンを実行できます。
完全な構成ファイルを保持するインターネットサービスデーモン (inetd(1M) のマニュアルページを参照してください)
sendmail (sendmail(1M) のマニュアルページを参照)
apache
大域ゾーン以外のゾーンは、ネットワークへのアクセスが制限されています。標準の TCP および UDP ソケットインタフェースが利用可能ですが、SOCK_RAW ソケットインタフェースは ICMP (Internet Control Message Protocol) に制限されています。ICMP は、ネットワークのエラー状況を検出および報告したり、ping コマンドを使用するのに必要です。
ネットワーク接続を必要とする非大域ゾーンには、それぞれ 1 つ以上の専用 IP アドレスがあります。これらのアドレスは、ゾーン内に配置可能な論理ネットワークインタフェースに関連付けられています。zonecfg により構成されるゾーンネットワークインタフェースは、ブート時に自動的に設定されてゾーン内に配置されます。ipadm コマンドを使用すると、ゾーンの稼働中に論理インタフェースを追加または削除できます。インタフェース構成およびネットワーク経路を変更できるのは、大域管理者または適切な承認を付与されたユーザーのみです。
非大域ゾーン内では、そのゾーンのインタフェースのみが ipadm コマンドで表示されます。
詳細は、ipadm(1M) および if_tcp(7P) のマニュアルページを参照してください。
指定された IP 宛先への使用可能な経路がルーティングテーブルにある場合、共有 IP ゾーンはその宛先に到達できます。ルーティングテーブルを表示するには、ゾーン内から netstat コマンドに –r オプションを付けて実行します。IP 転送ルールは、別のゾーンまたは別のシステムの IP 宛先でも同じです。
Oracle Solaris IP フィルタは、ステートフルパケットフィルタリングとネットワークアドレス変換 (NAT) を行います。ステートフルパケットフィルタは、アクティブな接続の状態をモニターし、取得した情報を使用して、ファイアウォールの通過を許可するネットワークパケットを決定することができます。Oracle Solaris IP フィルタには、ステートレスパケットフィルタリングと、アドレスプールの作成および管理を行う機能もあります。追加情報については、Oracle Solaris 11.3 でのネットワークのセキュリティー保護 の 第 6 章, Oracle Solaris での IP フィルタファイアウォールを参照してください。
Oracle Solaris 11.3 でのネットワークのセキュリティー保護 の 第 7 章, IP フィルタファイアウォールの構成で説明しているようにループバックフィルタリングをオンにすることによって、非大域ゾーンで Oracle Solaris IP フィルタを有効にできます。
Oracle Solaris IP フィルタは、オープンソースの IP Filter ソフトウェアを基にしています。
Oracle Solaris では、IP ネットワークマルチパス (IPMP) が複数のインタフェースを同一の IP リンク上でグループ化することによって、継続的なネットワーク可用性を確保します。これらのベースとなるインタフェースは、そのいずれかに障害が発生した場合でもネットワークを引き続き利用できるように互いにバックアップします。IPMP も、複数のインタフェースを保持するシステムについて、パケットの負荷分散を提供します。
IPMP は、次の方法で Oracle Solaris に実装されます。
net0、net1、net2 などの複数のインタフェースから、IPMP インタフェース ipmp0 が構成されます。
IPMP インタフェース ipmp0 は、データアドレスと呼ばれる複数の IP アドレスで構成されます。これらのアドレスは、ネットワークトラフィックのホストに使用されます。
IP アドレスは、ベースとなるインタフェース netN 上に直接構成することもできます。これらのアドレスは、ネットワークトラフィックには使用されませんが、ベースとなるインタフェースに障害が発生しているかどうかを判断する障害検出に使用されます。したがって、ベースとなるインタフェース上のこれらの IP アドレスは検査用アドレスと呼ばれます。
データアドレスは ipmp0 に存在するので、ベースとなる IP インタフェースの 1 つに障害が発生した場合でも、ネットワークを引き続き利用できます。トラフィックは、ipmp0 の別のアドレスを使用して引き続き送られます。
すべてのネットワーク構成タスクと同様に、IPMP は大域ゾーンで構成します。そのあとで非大域ゾーンに機能を拡張します。機能の拡張は、IPMP インタフェースのデータアドレスの 1 つをゾーンに割り当てることによって行います。
指定された非大域ゾーンで ipadm コマンドを使用すると、ゾーンに関連するインタフェースだけが表示されます。
IP ネットワークマルチパス機能を共有 IP 非大域ゾーンに拡張する方法を参照してください。ゾーンの構成手順については、ゾーンの構成方法を参照してください。IPMP の機能、コンポーネント、および使用法の詳細は、Oracle Solaris 11.3 での TCP/IP ネットワーク、IPMP、および IP トンネルの管理 の 第 2 章, IPMP の管理についてを参照してください。