ネットワーク接続を提供するために zonecfg ユーティリティーによって構成されるゾーンネットワークインタフェースは、ゾーンのブート時に自動的に設定されてゾーン内に配置されます。
インターネットプロトコル (IP) 層は、ネットワークのパケットの受信と配信を行います。この層には、IP ルーティング、アドレス解決プロトコル (ARP)、IP セキュリティーアーキテクチャー (IPsec)、および IP フィルタが含まれます。
非大域ゾーンに使用できる IP タイプには、共有 IP と排他的 IP の 2 種類があります。排他的 IP がデフォルトの IP タイプです。共有 IP ゾーンは、大域ゾーンとネットワークインタフェースを共有します。大域ゾーン内の構成は、共有 IP ゾーンを使用するために ipadm ユーティリティーによって実行する必要があります。排他的 IP ゾーンには専用のネットワークインタフェースが必要です。anet リソースを使用して排他的 IP ゾーンを構成すると、専用の VNIC が自動的に作成され、そのゾーンに割り当てられます。自動化された anet リソースを使用することによって、大域ゾーン内にデータリンクを作成および構成し、非大域ゾーンにデータリンクを割り当てる必要がなくなります。次のことを行うには、anet リソースを使用します。
大域ゾーンの管理者が、非大域ゾーンに割り当てられたデータリンク用の特定の名前を選択できるようにする
複数のゾーンで同じ名前のデータリンクを使用できるようにする
下位互換性を維持するために、事前構成済みのデータリンクを非大域ゾーンに割り当てることができます。
各タイプの IP 機能については、Oracle Solaris ゾーンの作成と使用 の排他的 IP 非大域ゾーンにおけるネットワークおよびOracle Solaris ゾーンの作成と使用 の共有 IP 非大域ゾーンにおけるネットワークを参照してください。
データリンクとは、OSI プロトコルスタックのレイヤー 2 物理インタフェースのことです。このインタフェースは、システム内で STREAMS DLPI (v2) インタフェースとして表されます。このようなインタフェースは、TCP/IP などのプロトコルスタックの下で接続できます。データリンクは、「物理インタフェース」 (たとえば、ネットワークインタフェースカード (NIC)) とも呼ばれます。データリンクは、zonecfg (1M) を使用して構成される physical プロパティーです。physical プロパティーは VNIC でもかまいません。
Oracle Solaris 11 のデフォルトでは、物理ネットワークデバイス名は、nxge0 などのデバイスドライバ名ではなく、net0 などの総称名を使用します。
solaris ゾーンでの IPoIB (IP over Infiniband) の使用については、リソースタイプのプロパティーの anet の説明を参照してください。
evs および vport プロパティーを設定してエラスティック仮想スイッチ (EVS) に接続する anet リソースでは、その anet リソースのプロパティーは、evs と vport のペア内にカプセル化されます。EVS anet リソースの次のプロパティーは変更できません。
mac-address
mtu
maxbw
priority
allowed-address
vlan-id
defrouter
lower-link
EVS anet リソースに設定できる唯一のプロパティーは次のとおりです。
linkname
evs
vport
configure-allowed-address
tenant リソースを設定する必要もあります。テナントは、名前空間の管理に使用されます。tenant 内で定義されている EVS リソースは、そのテナントの名前空間の外部からは見えません。
evszone という名前のゾーンの次の入力は、tenantA という名前のテナントの tenant リソースを設定します。zonecfg anet リソースプロパティーは、evsa という名前の EVS および vport0 という名前の VPort に接続する anet リソースを持つゾーンの VNIC を作成します。
zonecfg:evszone> set tenant=tenantA
zonecfg:evszone> add anet
zonecfg:evszone> set evs=EVSA
zonecfg:evszone> set vport=vport0
詳細は、Oracle Solaris 11.2 での仮想ネットワークとネットワークリソースの管理 の第 5 章エラスティック仮想スイッチについてを参照してください。
共有 IP ゾーンは、大域ゾーンからの既存の IP インタフェースを使用します。ゾーンには、1 つ以上の専用の IP アドレスが存在する必要があります。共有 IP ゾーンは、IP 層の構成と状態を大域ゾーンと共有します。次の両方の条件が満たされる場合、ゾーンは共有 IP インスタンスを使用すべきです。
大域ゾーンと非大域ゾーンが同じサブネット上に存在するかどうかに関係なく、非大域ゾーンが大域ゾーンによって使用されるデータリンクと同じデータリンクを使用する計画である。
排他的 IP ゾーンによって提供されるその他の機能は必要でない。
共有 IP ゾーンには、zonecfg コマンドの net リソースを使用して、1 つ以上の IP アドレスを割り当てます。大域ゾーンでデータリンク名も構成する必要があります。
zonecfg net リソースで、address と physical のプロパティーを設定する必要があります。defrouter プロパティーはオプションです。
大域ゾーン内で共有 IP タイプのネットワーク接続構成を使用するには、自動ネットワーク構成ではなく ipadm を使用する必要があります。ネットワーク接続構成を ipadm によって行うかどうかを決定するには、次のコマンドを実行します。表示される応答は、DefaultFixed でなければなりません。
# svcprop -p netcfg/active_ncp svc:/network/physical:default DefaultFixed
共有 IP ゾーンに割り当てられる IP アドレスは、論理ネットワークインタフェースに関連付けられます。
大域ゾーンから ipadm コマンドを使用すると、稼働中のゾーンの論理インタフェースの割り当てまたは削除を行うことができます。
インタフェースを追加するには、次のコマンドを使用します。
global# ipadm set-addrprop -p zone=my-zone net0/addr1
インタフェースを削除するには、次のコマンドのいずれかを使用します。
global# ipadm set-addrprop -p zone=global net0/addr
または
global# ipadm reset-addrprop -p zone net0/addr1
詳細は、Oracle Solaris ゾーンの作成と使用 の共有 IP ネットワークインタフェースを参照してください。
排他的 IP は、非大域ゾーンのデフォルトのネットワーク接続構成です。
排他的 IP ゾーンには、独自の IP に関連付けられた状態と 1 つ以上の専用のデータリンクが保持されます。
排他的 IP ゾーン内では、次の各機能を使用できます。
TCP/UDP/SCTP および IP/ARP レベルのチューニング可能パラメータを設定するための ipadm
IP セキュリティー (IPsec) と Internet Key Exchange (IKE)。これは、IPsec セキュリティーアソシエーション用の認証済み鍵材料のプロビジョニングを自動化する
排他的 IP ゾーンを構成する方法には、次の 2 つがあります。
zonecfg ユーティリティーの anet リソースを使用して、ゾーンのブート時にゾーンに対して一時的な VNIC を自動的に作成し、またゾーンの停止時にそれを削除します。
大域ゾーン内にデータリンクを事前構成し、排他的 IP ゾーンにそれを割り当てます。これは、zonecfg ユーティリティーの net リソースを使用して行います。データリンクは、net リソースの physical プロパティーを使用して指定します。physical プロパティーは VNIC でもかまいません。net リソースの address プロパティーは設定されません。
排他的 IP ゾーンは、デフォルトでは関連付けられたインタフェース上のすべての IP アドレスを構成および使用できます。必要に応じて、allowed-address プロパティーを使用して IP アドレスのコンマ区切りリストを指定することもできます。排他的 IP ゾーンは、allowed-address リスト内にない IP アドレスを使用することはできません。また、ゾーンのブート時に、allowed-address リスト内のすべてのアドレスが排他的 IP ゾーンに対して自動で持続的に構成されます。このインタフェース構成が不要な場合、configure-allowed-address プロパティーを false に設定する必要があります。デフォルト値は true です。
データリンクを割り当てると snoop コマンドが使用可能になります。
dladm コマンドを show-linkprop サブコマンドとともに使用して、実行中の排他的 IP ゾーンに対するデータリンクの割り当てを表示できます。dladm コマンドを set-linkprop サブコマンドとともに使用すると、実行中のゾーンに対して追加のデータリンクを割り当てることができます。使用例については、Oracle Solaris ゾーンの作成と使用 の排他的 IP 非大域ゾーンでのデータリンクの管理を参照してください。
独自のデータリンクセットが割り当てられた、実行中の排他的 IP ゾーン内では、ipadm コマンドを使用して IP を構成できます。このコマンドには、論理インタフェースの追加または削除を行う機能が備わっています。ゾーンの IP 構成は、大域ゾーン内の場合と同様に sysconfig インタフェース (sysconfig(1M) のマニュアルページに記載) を使用して設定できます。
排他的 IP ゾーンの IP 構成は、大域ゾーンから zlogin コマンドを使用することによってのみ表示できます。
global# zlogin zone1 ipadm show-addr ADDROBJ TYPE STATE ADDR lo0/v4 static ok 127.0.0.1/8 nge0/v4 dhcp ok 10.134.62.47/24 lo0/v6 static ok ::1/128 nge0/_a addrconf ok fe80::2e0:81ff:fe5d:c630/10
RDS (Reliable Datagram Sockets) IPC プロトコルは、排他的 IP 非大域ゾーンと共有 IP 非大域ゾーンの両方でサポートされています。RDSv3 ドライバは、SMF サービス rds として有効になっています。デフォルトでは、このサービスはインストール後に無効になります。このサービスは、適切な承認を付与されたゾーン管理者が特定の非大域ゾーン内で有効にすることができます。zlogin のあとで、rds をそれが実行される各ゾーン内で有効にできます。
使用例 2-1 非大域ゾーン内で rds サービスを有効にする方法排他的 IP ゾーンまたは共有 IP ゾーン内で RDSv3 サービスを有効にするには、zlogin して svcadm enable コマンドを実行します。
# svcadm enable rds
rds が有効になっていることを確認します。
# svcs rds STATE STIME FMRI online 22:50:53 svc:/system/rds:default
詳細は、svcadm(1M) のマニュアルページを参照してください。
共有 IP ゾーン内のアプリケーションは、スーパーユーザーも含め、zonecfg ユーティリティーを介してゾーンに割り当てられた IP アドレス以外をソース IP アドレスとしてパケットを送信することはできません。このタイプのゾーンには、任意のデータリンク (レイヤー 2) パケットを送受信するアクセス権はありません。
一方、排他的 IP ゾーンの場合は、zonecfg によって指定されたデータリンク全体がゾーンに対して許可されます。結果として、排他的 IP ゾーン内では、スーパーユーザーまたは必要な権利プロファイルを持つユーザーは、大域ゾーン内と同様に、それらのデータリンク上でなりすましのパケットを送信できます。IP アドレスのなりすましは、allowed-address プロパティーを設定することによって使用不可にできます。anet リソースの場合、link-protection プロパティーを設定することによって、mac-nospoof や dhcp-nospoof などの追加の保護を有効にできます。
共有 IP ゾーンは常に IP 層を大域ゾーンと共有し、排他的 IP ゾーンは常に独自の IP 層インスタンスを持っています。共有 IP ゾーンと排他的 IP ゾーンの両方を同じマシンで使用することができます。