Solaris 11 で CBE を作成してみた (3) ゾーンの作成(無線の場合)

ゾーンの構成時、無線はanetのlower-linkとして使えません。そこでグローバルゾーンにvnicを作成してここにetherstub経由で接続し、さらにグローバルゾーンの無線NIC側でNATを使うこととしました。

資料: Crossbow & NAT to share DHCP WiFi interface between zones.
資料: CrossbowのVirtual NICとQoS制御を試してみる
資料: IP フィルタ (手順)

 

ゾーン作成(無線の場合)

ネットワーク構成

  • グローバルゾーンのvnic
    • vnic0 :172.31.0.254/24
    • etherstub0に接続
  • 作成するゾーンのIPアドレス: 172.31.0.1/24
  • グローバルゾーンのnet1(無線)はDHCPで設定し、ここでNATを適用

グローバルゾーンでの設定

vnicの作成。

# dladm create-etherstub etherstub0
# dladm create-vnic -l etherstub0 vnic0
# ipadm create-ip vnic0
# ipadm create-addr -T static -a 172.31.0.254/24 vnic0/v4

グローバルゾーンでforwardingの設定。routingは必要ない。

# routeadm -u -d ipv4-routing
# routeadm -u -e ipv4-forwarding
# routeadm
              Configuration   Current              Current
                     Option   Configuration        System State
---------------------------------------------------------------
               IPv4 routing   disabled             disabled
               IPv6 routing   disabled             disabled
            IPv4 forwarding   enabled              enabled
            IPv6 forwarding   disabled             disabled

           Routing services   "route:default ripng:default"

Routing daemons:

                      STATE   FMRI
                   disabled   svc:/network/routing/route:default
                   disabled   svc:/network/routing/rdisc:default
                   disabled   svc:/network/routing/legacy-routing:ipv4
                   disabled   svc:/network/routing/legacy-routing:ipv6
                   disabled   svc:/network/routing/ripng:default
                     online   svc:/network/routing/ndp:default

NATの設定。

# vi /etc/ipf/ipnat.conf
map net1 172.31.0.0/24 -> 0.0.0.0/32 portmap tcp/udp auto
map net1 172.31.0.0/24 -> 0.0.0.0/32
# svcadm enable network/ipfilter

 ゾーンの作成

anetのlower-linkには先に作成したetherstub0を指定し、IPアドレスも設定しました。このようにいろいろ設定するのであれば、anetではなくnetを使った方が素直かもしれません。

# zonecfg -z cbe1
cbe1: No such zone configured
Use 'create' to begin configuring a new zone.
zonecfg:cbe1> create
create: Using system default template 'SYSdefault'
zonecfg:cbe1> set zonepath=/zones/cbe1
zonecfg:cbe1> select anet linkname=net0
zonecfg:cbe1:anet> set lower-link=etherstub0
zonecfg:cbe1:anet> set allowed-address=172.31.0.1/24
zonecfg:cbe1:anet> set configure-allowed-address=true
zonecfg:cbe1:anet> set defrouter=172.31.0.254
zonecfg:cbe1:anet> end
zonecfg:cbe1> export
create -b
set zonepath=/zones/cbe1
set autoboot=false
set ip-type=exclusive
add anet
set linkname=net0
set lower-link=etherstub0
set allowed-address=172.31.0.1/24
set configure-allowed-address=true
set defrouter=172.31.0.254
set link-protection=mac-nospoof
set mac-address=random
end
zonecfg:cbe1> verify
zonecfg:cbe1> commit
zonecfg:cbe1>

ゾーンのインストールとブート

root@solaris:/home/kirin/work# zoneadm -z cbe1 install

root@solaris:/home/kirin/work# zoneadm -z cbe1 boot

ゾーンの初期設定

root@solaris:/home/kirin# zlogin -C cbe1

設定内容(最終確認画面)はつぎのとおりです。「IP Address: None」となっていますが、完了すると先に指定したIPアドレスが付与されます。

                      System Configuration Summary

   Review the settings below before continuing. Go back (F3) to make changes.

     Time Zone: Japan

     Language: *The following can be changed when logging in.
     Default language: C/POSIX
     Terminal type: vt100

     Users:
     Username: install0

     Network:
     Computer name: cbe3
     Manual Configuration: None
     IP Address: None
     Netmask: 255.255.255.0

  F2_Apply  F3_Back  F6_Help  F9_Quit

DNSで名前解決するための設定です。searchとnameserverはグローバルゾーンのものを設定しました。

# svccfg -s dns/client setprop config/search='astring:("example.jp" "example.com")'
# svccfg -s dns/client setprop config/nameserver='net_address:(A.B.C.D W.X.Y.Z)'
# svccfg -s name-service/switch setprop config/host='astring:"files dns"'
# svcadm enable dns/client
# svcadm refresh name-service/switch
資料:  手動モード時のネームサービスの構成
 
カテゴリー: Solaris パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です