Oracle Solaris Trusted Extensions 構成ガイド

Procedure既存のラベル付きゾーンを経路指定するために大域ゾーンを使用しないネットワークインタフェースを追加する

この手順では、既存のラベル付きゾーンに対して、ゾーン固有のデフォルトルートを設定します。この構成では、ラベル付きゾーンは、ルーティングで大域ゾーンを使用しません。

ラベル付きゾーンは、ゾーンを起動する前に大域ゾーンに plumb します。ただし、ラベル付きゾーンを大域ゾーンから切り離すために、ゾーンの起動時はインタフェースを down 状態にしてください。詳細は、 『System Administration Guide: Oracle Solaris Containers-Resource Management and Oracle Solaris Zones』の第 17 章「Non-Global Zone Configuration (Overview)」.


注 –

起動するすべての非大域ゾーンに対し、固有のデフォルトルートを構成します。


始める前に

大域ゾーンでスーパーユーザーになります。

すべてのゾーンに対し、「ラベル付きゾーンの作成」の作業を完了します。vni0 インタフェースか lo0 インタフェースを使用してラベル付きゾーンを大域ゾーンに接続しています。

  1. すべてのネットワークインタフェースに対し、その IP アドレス、ネットマスク、デフォルトルートを調べます。

    IP アドレスとネットマスクを調べるには、ifconfig -a コマンドを使用します。デフォルトルートが割り当てられているかどうかを判定するには、zonecfg -z zonename info net コマンドを使用します。

  2. 各ラベル付きゾーン用に、空の /etc/hostname.interface ファイルを作成します。


    # touch /etc/hostname.interface
    # touch /etc/hostname.interface:n
    

    詳細は、netmasks(4) のマニュアルページを参照してください。

  3. ラベル付きゾーンのネットワークインタフェースを plumb します。


    # ifconfig zone1-network-interface plumb
    # ifconfig zone2-network-interface plumb
  4. ラベル付きゾーンのインタフェースが down 状態になっていることを確認します。


    # ifconfig -a
    zone1-network-interface zone1-IP-address down
    zone2-network-interface zone2-IP-address down

    ゾーン固有のアドレスは、ゾーンの起動時に構成されます。

  5. 各インタフェースのネットワークで、/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) のマニュアルページを参照してください。

  6. それぞれのゾーン固有のネットワークインタフェースに、セキュリティーテンプレートを割り当てます。

    各ネットワークのラベルを反映する、ホストタイプ cipso のセキュリティーテンプレートを作成します。テンプレートの作成および割り当てについては、『Oracle Solaris Trusted Extensions 管理の手順』「トラステッドネットワークデータベースの構成 (作業マップ)」を参照してください。

  7. txzonemgr スクリプトを実行し、別の端末ウィンドウを開きます。

    Labeled Zone Manager で、ラベル付きゾーンのネットワークインタフェースを追加します。端末ウィンドウで、ゾーンに関する情報を表示し、デフォルトルートを設定します。

  8. ゾーン固有のネットワークインタフェースとルーターを追加しようとしているすべてのゾーンに対し、次の手順を完了します。

    1. 端末ウィンドウでゾーンを停止します。


      # zoneadm -z zone-name halt
    2. Labeled Zone Manager で、次の手順を実行します。

      1. ゾーンを選択します。

      2. 「Add Network」を選択します。

      3. ネットワークインタフェースに名前を付けます。

      4. インタフェースの IP アドレスを入力します。

      5. 端末ウィンドウで、ゾーン構成を確認します。


        # zonecfg -z zone-name info net
        net:   address: IP-address
               physical: zone-network-interface
               defrouter not specified
    3. 端末ウィンドウで、ラベル付きゾーンのネットワークのデフォルトルートを構成します。


      # 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」を参照してください。

    4. ラベル付きゾーンを起動します。


      # zoneadm -z zone-name boot
    5. 大域ゾーンで、ラベル付きゾーンにサブネットのゲートウェイへの経路があることを確認します。


      # netstat -rn
      

      経路指定テーブルが表示されます。ラベル付きゾーンの宛先とインタフェースは、大域ゾーンのエントリと異なります。

  9. デフォルトルートを削除するには、ゾーンの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

例 4–5 ラベル付きゾーンのデフォルトルートを設定する

この例では、管理者が Secret ゾーンを個別の物理サブネットに経路指定します。Secret ゾーンとの間のトラフィックは、大域ゾーン経由で経路指定されません。管理者は Labeled Zone Manager と zonecfg コマンドを使用し、ルーティングが機能することを確認します。

管理者は、qfe1qfe1: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       
...