次の作業は、各ゾーンが個別の物理ネットワークに接続されている環境に対応します。
作業 |
説明 |
参照先 |
---|---|---|
1a: ネットワークインタフェースを各ラベル付きゾーンに追加し、大域ゾーンを使用して外部ネットワークに到達します。 |
各ラベル付きゾーンを個別の物理ネットワークに接続します。ラベル付きゾーンは、大域ゾーンが提供するネットワークルーティングを使用します。 | |
または 1b: ネットワークインタフェースを、デフォルトルートを使用して各ラベル付きゾーンに追加します。 |
各ゾーンを個別の物理ネットワークに接続します。ラベル付きゾーンは、ルーティングで大域ゾーンを使用しません。 | |
2. ネームサービスキャッシュを各ラベル付きゾーンに作成します。 |
各ゾーンに対してネームサービスデーモンを構成します。 |
この手順で、ゾーン固有のネットワークインタフェースを既存のラベル付きゾーンに追加します。この構成は、各ラベル付きゾーンがそれぞれ別の物理ネットワークに接続される環境に対応します。ラベル付きゾーンは、大域ゾーンが提供するネットワークルーティングを使用します。
大域ゾーンでは、非大域ゾーンアドレスが構成される各サブネットに対して IP アドレスを構成する必要があります。
大域ゾーンでスーパーユーザーになります。
すべてのゾーンに対し、「ラベル付きゾーンの作成」の作業を完了します。
大域ゾーンで、追加のネットワークインタフェースの IP アドレスとホスト名を /etc/hosts ファイルに入力します。
ホストの名前に -zone-name を追加するなど、標準的な命名規則を使用してください。
## /etc/hosts in global zone 10.10.8.2 hostname-zone-name1 10.10.8.3 hostname-global-name1 10.10.9.2 hostname-zone-name2 10.10.9.3 hostname-global-name2 |
各インタフェースのネットワークで、/etc/netmasks ファイルにエントリを追加します。
## /etc/netmasks in global zone 10.10.8.0 255.255.255.0 10.10.9.0 255.255.255.0 |
詳細は、netmasks(4) のマニュアルページを参照してください。
大域ゾーンで、ゾーン固有の物理インタフェースを plumb します。
すでに plumb されている物理インタフェースを特定します。
# ifconfig -a |
各インタフェースの大域ゾーンアドレスを構成します。
# ifconfig interface-nameN1 plumb # ifconfig interface-nameN1 10.10.8.3 up # ifconfig interface-nameN2 plumb # ifconfig interface-nameN2 10.10.9.3 up |
各大域ゾーンアドレスに対して hostname.interface-nameN ファイルを作成します。
# /etc/hostname.interface-nameN1 10.10.8.3 # /etc/hostname.interface-nameN2 10.10.9.3 |
大域ゾーンアドレスは、システムが起動するとただちに構成されます。ゾーン固有のアドレスは、ゾーンの起動時に構成されます。
それぞれのゾーン固有のネットワークインタフェースに、セキュリティーテンプレートを割り当てます。
ネットワークへのゲートウェイにラベルが構成されていない場合は、admin_low セキュリティーテンプレートを割り当てます。ネットワークへのゲートウェイにラベルが付いている場合は、cipso セキュリティーテンプレートを割り当てます。
各ネットワークのラベルを反映する、ホストタイプ cipso のセキュリティーテンプレートを作成できます。テンプレートの作成および割り当ての手順については、『Oracle Solaris Trusted Extensions 管理の手順』の「トラステッドネットワークデータベースの構成 (作業マップ)」を参照してください。
ゾーン固有のインタフェースに追加するすべてのラベル付きゾーンを停止します。
# zoneadm -z zone-name halt |
Labeled Zone Manager を起動します。
# /usr/sbin/txzonemgr |
ゾーン固有のインタフェースを追加させたい各ゾーンについては、次の操作を実行します。
完了したすべてのゾーンの「Labeled Zone Manager」で、 「Zone Console」を選択します。
「Boot」を選択します。
「Zone Console」で、インターフェスが作成されていることを確認します。
# ifconfig -a |
サブネットのゲートウェイへのルートがゾーンにあることを確認します。
# netstat -rn |
ゾーン構成をデバッグするには、次を参照してください。
この手順では、既存のラベル付きゾーンに対して、ゾーン固有のデフォルトルートを設定します。この構成では、ラベル付きゾーンは、ルーティングで大域ゾーンを使用しません。
ラベル付きゾーンは、ゾーンを起動する前に大域ゾーンに plumb します。ただし、ラベル付きゾーンを大域ゾーンから切り離すために、ゾーンの起動時はインタフェースを down 状態にしてください。詳細は、 『System Administration Guide: Oracle Solaris Containers-Resource Management and Oracle Solaris Zones』の第 17 章「Non-Global Zone Configuration (Overview)」.
起動するすべての非大域ゾーンに対し、固有のデフォルトルートを構成します。
大域ゾーンでスーパーユーザーになります。
すべてのゾーンに対し、「ラベル付きゾーンの作成」の作業を完了します。vni0 インタフェースか lo0 インタフェースを使用してラベル付きゾーンを大域ゾーンに接続しています。
すべてのネットワークインタフェースに対し、その IP アドレス、ネットマスク、デフォルトルートを調べます。
IP アドレスとネットマスクを調べるには、ifconfig -a コマンドを使用します。デフォルトルートが割り当てられているかどうかを判定するには、zonecfg -z zonename info net コマンドを使用します。
各ラベル付きゾーン用に、空の /etc/hostname.interface ファイルを作成します。
# touch /etc/hostname.interface # touch /etc/hostname.interface:n |
詳細は、netmasks(4) のマニュアルページを参照してください。
ラベル付きゾーンのネットワークインタフェースを plumb します。
# ifconfig zone1-network-interface plumb # ifconfig zone2-network-interface plumb |
ラベル付きゾーンのインタフェースが down 状態になっていることを確認します。
# ifconfig -a zone1-network-interface zone1-IP-address down zone2-network-interface zone2-IP-address down |
ゾーン固有のアドレスは、ゾーンの起動時に構成されます。
各インタフェースのネットワークで、/etc/netmasks ファイルにエントリを追加します。
## /etc/netmasks in global zone 192.168.2.0 255.255.255.0 192.168.3.0 255.255.255.0 |
詳細は、netmasks(4) のマニュアルページを参照してください。
それぞれのゾーン固有のネットワークインタフェースに、セキュリティーテンプレートを割り当てます。
各ネットワークのラベルを反映する、ホストタイプ cipso のセキュリティーテンプレートを作成します。テンプレートの作成および割り当てについては、『Oracle Solaris Trusted Extensions 管理の手順』の「トラステッドネットワークデータベースの構成 (作業マップ)」を参照してください。
txzonemgr スクリプトを実行し、別の端末ウィンドウを開きます。
Labeled Zone Manager で、ラベル付きゾーンのネットワークインタフェースを追加します。端末ウィンドウで、ゾーンに関する情報を表示し、デフォルトルートを設定します。
ゾーン固有のネットワークインタフェースとルーターを追加しようとしているすべてのゾーンに対し、次の手順を完了します。
端末ウィンドウでゾーンを停止します。
# zoneadm -z zone-name halt |
Labeled Zone Manager で、次の手順を実行します。
端末ウィンドウで、ラベル付きゾーンのネットワークのデフォルトルートを構成します。
# zonecfg -z zone-name zonecfg:zone-name > select net address=IP-address zonecfg:zone-name:net> set defrouter=router-address zonecfg:zone-name:net> end zonecfg:zone-name > verify zonecfg:zone-name > commit zonecfg:zone-name > exit # |
詳細については、zonecfg(1M) のマニュアルページと『System Administration Guide: Oracle Solaris Containers-Resource Management and Oracle Solaris Zones』の「How to Configure the Zone」を参照してください。
ラベル付きゾーンを起動します。
# zoneadm -z zone-name boot |
大域ゾーンで、ラベル付きゾーンにサブネットのゲートウェイへの経路があることを確認します。
# netstat -rn |
経路指定テーブルが表示されます。ラベル付きゾーンの宛先とインタフェースは、大域ゾーンのエントリと異なります。
デフォルトルートを削除するには、ゾーンのIP アドレスを選択し、削除します。
# zonecfg -z zone-name zonecfg:zone-name > select net address=zone-IP-address zonecfg:zone-name:net> remove net defrouter=zone-default-route zonecfg:zone-name:net> info net net: address: zone-IP-address physical: zone-network-interface defrouter not specified |
この例では、管理者が Secret ゾーンを個別の物理サブネットに経路指定します。Secret ゾーンとの間のトラフィックは、大域ゾーン経由で経路指定されません。管理者は Labeled Zone Manager と zonecfg コマンドを使用し、ルーティングが機能することを確認します。
管理者は、qfe1 と qfe1:0 が現在使用中でないことを確認します。その後、2 つのラベル付きゾーンのマッピングを作成します。qfe1 は、Secret ゾーンに対して指定されたインタフェースです。
Interface IP Address Netmask Default Router qfe1 192.168.2.22 255.255.255.0 192.168.2.2 qfe1:0 192.168.3.33 255.255.255.0 192.168.3.3 |
まず、管理者は /etc/hostname.qfe1 ファイルを作成し、/etc/netmasks ファイルを構成します。
# touch /etc/hostname.qfe1 |
# cat /etc/netmasks ## /etc/netmasks in global zone 192.168.2.0 255.255.255.0 |
次に、ネットワークインタフェースを plumb し、インタフェースが down 状態であることを確認します。
# ifconfig qfe1 plumb # ifconfig -a |
次に、Solaris 管理コンソール で、1 つのラベル Secret を持つセキュリティーテンプレートを作成し、インタフェースの IP アドレスをテンプレートに割り当てます。
ゾーンを停止します。
# zoneadm -z secret halt |
txzonemgr スクリプトを実行し、Labeled Zone Manager を開きます。
# /usr/sbin/txzonemgr |
Labeled Zone Manager で、Secret ゾーンを選択し、「Add Network」を選択して、ネットワークインタフェースを選択します。Labeled Zone Manager を閉じます。
コマンド行で、ゾーンの IP アドレスを選択し、そのデフォルトルートを設定します。コマンドを終了する前に、ルートを確認して確定します。
# zonecfg -z secret zonecfg: secret > select net address=192.168.6.22 zonecfg: secret:net> set defrouter=192.168.6.2 zonecfg: secret:net> end zonecfg: secret > verify zonecfg: secret > commit zonecfg: secret > info net net: address: 192.168.6.22 physical: qfe1 defrouter: 192.168.6.2 zonecfg: secret > exit # |
ゾーンを起動します。
# zoneadm -z secret boot |
大域ゾーンの別の端末ウィンドウで、パケットの送受信を確認します。
# netstat -rn Routing Table: IPv4 Destination Gateway Flags Ref Use Interface -------------------- -------------------- ----- ----- ------- --------- default 192.168.5.15 UG 1 2664 qfe0 192.168.6.2 192.168.6.22 UG 1 240 qfe1 192.168.3.3 192.168.3.33 U 1 183 qfe1:0 127.0.0.1 127.0.0.1 UH 1 380 lo0 ... |
この手順では、各ラベル付きゾーンで、ネームサービスデーモン (nscd) を個別に構成できます。この構成がサポートする環境は、各ゾーンがそのゾーンのラベルで動作するサブネットワークに接続されており、そのサブネットワークにはそのラベル用の独自のネームサーバーがあります。
この構成は、評価された構成の条件を満たしません。評価された構成では、nscd デーモンは大域ゾーンでのみ実行されます。各ラベル付きゾーン内の door は、そのゾーンを大域の nscd デーモンに接続します。
大域ゾーンでスーパーユーザーになります。root はまだ役割になってはいけません。「既存のラベル付きゾーンを経路指定するためにネットワークインタフェースを追加する」が正常に完了しています。
この構成では、高度なネットワークスキルが要求されます。LDAP をネームサービスとして使用するユーザーには、各ラベル付きゾーンへの LDAP クライアント接続を確立する責任があります。nscd デーモンは、ネームサービスの情報をキャッシュに書き込みますが、そのルーティングは行いません。
LDAP を使用している場合、ラベル付きゾーンから LDAP サーバーへのルートを確認します。
各ラベル付きゾーンの端末ウィンドウで、次のコマンドを実行します。
zone-name # netstat -rn |
大域ゾーンで Labeled Zone Manager を起動します。
# /usr/sbin/txzonemgr |
「Configure per-zone name service」を選択し、「了解」をクリックします。
このオプションは、初期システム構成時に一度だけ使用されるように意図されています。
各ゾーンの nscd サービスを構成します。
参考として、nscd(1M) および nscd.conf(4) のマニュアルページを参照してください。
システムを再起動します。
ゾーンごとに、ルートとネームサービスデーモンを確認します。
ゾーンコンソールで nscd サービスを表示します。
zone-name # svcs -x name-service-cache svc:/system/name-service-cache:default (name service cache) State: online since October 10, 2010 10:10:10 AM PDT See: nscd(1M) See: /etc/svc/volatile/system-name-service-cache:default.log Impact: None. |
サブネットワークへのルートを確認します。
zone-name # netstat -rn |