[フレーム]
PDF, PPTX1,030 views

OpenIndiana vWire Demo (Japanese)

2012.04 OpenSolaris Study Meeting

Embed presentation

Download as PDF, PPTX
7 / 26
basezone の設定 くろまるDefault user の追加、ネットワーク設定、追加 pkg インストール。ネット ワーク構成など、システム構成は複製で引き継がれませんが、ユーザ情 報や追加 インストールしたパッケージは複製されます # zlogin basezone basezone # useradd -u 100 -g staff -s /bin/bash -m build1 basezone # passwd build1 basezone # cat /etc/sudoers build1 ALL=(ALL) ALL build1 ユーザの権限を記入しておく basezone # vi /resolv.conf nameserver 192.168.10.254 basezone # vi /etc/nsswitch.conf hosts: files dns ipnodes: files dns basezone # pkg refresh basename # pkg install slim_install デスクトップとして必要なパッケージはまとめてインストール basename # exit # zoneadm -z basezone halt
8 / 26
(Tips 1) dbus-daemon くろまるOI151a の既知の問題で、dbus-daemon が non-globalzone 上では 動作しない。影響ないのですが、svcs -xv でのメッセージが気になる方 は、/lib/svc/method/svc-dbus を変更する。参考: https://www.illumos.org/issues/1249 # diff -u /lib/svc/method/svc-dbus_orig /lib/svc/method/svc-dbus --- /lib/svc/method/svc-dbus_orig Sat Jul 23 23:30:20 2011 +++ /lib/svc/method/svc-dbus Sat Jul 23 23:31:24 2011 @@ -38,12 +38,12 @@ /usr/bin/dbus-uuidgen --ensure fi -if smf_is_nonglobalzone; then - /usr/sbin/svcadm disable -t svc:/system/dbus - echo "dbus-daemon cannot be run in non-global zones" - sleep 5 & - exit $SMF_EXIT_OK -fi +#if smf_is_nonglobalzone; then +# /usr/sbin/svcadm disable -t svc:/system/dbus +# echo "dbus-daemon cannot be run in non-global zones" +# sleep 5 & +# exit $SMF_EXIT_OK +#fi
10 / 26
DNS サーバの設定(1) くろまる DNS サーバにするには bind パッケージを追加インストールします。 nameserver # pkg install service/network/dns/bind nameserver # vi /etc/named.conf このファイルを新規に作成します。 < subnet が 192.168.10.0 でDNS が 192.168.10.254 の場合は> options { directory "/var/named"; <- /var/named に DNS 関連のファイルをおくことにします。 forwarders { 192.168.10.254; }; allow-query { 127.0.0.1; 192.168.10.0/24; }; }; zone "localhost" IN { type master; file "localhost.zone"; }; zone "0.0.127.in-addr.arpa" IN { type master; file "0.0.127.in-addr.arpa"; }; zone "sun.com" IN { type master; file "0.0.127.in-addr.arpa"; }; zone "sun.com" IN { 個人的な趣味で sun.com というドメイン名をデモでは使っています type master; file "suncom.zone"; }; zone "10.168.192.in-addr.arpa" IN { type master; file "10.168.192.in-addr.arpa"; };
16 / 26
MAILサーバ くろまるOpenIndiana のレポジトリには、簡単に使えそうなメールサーバが見 当たりませんでしたので、オープンソースの Apache James を使ってみ ました。 尚、James は pure Java で POP3 のみに対応しています。 # cat /zones/cfgs/mailserver create -b set zonepath=/zones/mailserver set autoboot=true set ip-type=exclusive add net set physical=mail0 end # zonecfg -z mailserver -f /zones/cfgs/mailserver # dladm create-vnic -l jmge0 mail0 # zoneadm -z mailserver clone basezone # zoneadm -z mailserver boot # zlogin -C mailserver <各設定は省略> # zlogin mailserver mailserver # cd /opt mailserver # wget http://ftp.jaist.ac.jp/pub/apache//james/server/apache-james-2.3.2.tar.gz mailserver # gtar xvf ./apache-james-2.3.2.tar.gz
17 / 26
MAILサーバの設定(1) くろまる James Mail Server のための必要な設定 mailserver # cd /opt/james-2.3.2/bin James を展開したdirectroty の bin の下 mailserver # chmod +x ./phoenix.sh ./run.bat ./run.sh mailserver # cd /opt/james-2.3.2/apps/james/SAR-INF mailserver # vi config.xml 多少難解ですが config.xml を環境に合わせて設定します。 ... <config><james> <servernames autodetect="true" autodetectIP="true"> <servername>localhost</servername> <servername>maiil.sun.com</servername> <servername>sun.com</servername> </servernames> ... <dnsserver> <servers> <server>192.168.10.120</server> <- DNSに MX の記述があれば @domain に変換 <server>127.0.0.1</server> </servers> ... mailserver # cd /opt/james-2.3.2/bin mailserver # export JAVA_HOME=/usr/java mailserver # export PHOENIX_HOME=/opt/james-2.3.2 mailserver # ./run.sh James の起動
18 / 26
MAILサーバの設定(2) くろまる James Mail Server のための必要な設定 mailserver # su – build1 build1@mailserver:~$ telnet localhost 4555 James の設定には ポート4555 に telnet する Trying ::1... Connected to localhost. Escape character is '^]'. JAMES Remote Administration Tool 2.3.2 Please enter your login and password Login id: root Password: root Welcome root. HELP for a list of commands adduser build1 build1 build1 というユーザ名と build1 用の build1 というパスワードを追加 User build1 added quit これでデモ仮想環境の sun.com というローカルドメイン内では、 POP3 server : mail.sun.com, SMTP Server: mail.sun.com と設定することで Mail Client (thunderbird とか)から使用可能になります。 DNSサーバとの連系で、build1@sun.com に送られたメールも build1@mail.sun.com と同じように処理されま す。尚、メールのバケツリレーのための設定はしてませんので、ドメイン外部へのメールの送受信はこの状態では不可。
19 / 26
ブログサーバの設定(1) くろまる 簡単に設定できるので Wordpress を使用しています。 <blogserver zone の作成は他と同じなので省略します> blogserver # pkg install amp amp クラスタ (Apache, MySQL, PHP)を追加インストールします。 blogserver # cd /var/tmp blogserver # wget http://ja.wordpress.org/wordpress-3.3.1-ja.tar.gz blogserver # cd /var/apache2/2.2/htdocs blogserver # gtar -xvf /var/tmp/wordpress-3.3.1-ja.tar.gz blogserver # cd wordpress blogserver # cp wp-config-sample.php wp-config.php blogserver # vi wp-config.php 下記3行だけ書き換える この例では user wp, passowd wp define('DB_NAME', 'wordpress'); define('DB_USER', 'wp'); define('DB_PASSWORD', 'wp'); blogserver # svcadm enable svc:/network/http:apache22 blogserver # svcadm enable svc:/application/database/mysql:version_51
22 / 26
Firewallの設定(1) くろまる ipfilter のための必要な設定 firewall # ipadm show-addr ADDROBJ TYPE STATE ADDR lo0/v4 static ok 127.0.0.1/8 fire0/_a static ok 192.168.100.1/24 fire1/_a static ok 192.168.10.10/24 lo0/v6 static ok ::1/128 firewall # /usr/sbin/routeadm -e ipv4-forwarding firewall # /usr/sbin/routeadm -u firewall # ifconfig fire0 router firewall # ifconfig fire1 router firewall # cat /etc/ipf/ipnat.conf map fire1 192.168.100.0/24 -> 0/32 portmap tcp/udp auto map fire1 192.168.100.0/24 -> 0/32 firewall # svccfg -s ipfilter:default setprop firewall_config_default/policy = astring: "custom" firewall # svccfg -s ipfilter:default setprop firewall_config_default/custom_policy_file = astring: "/etc/ipf/ipf.conf" firewall # svcadm refresh ipfilter:default (Tips) Default では、/etc/ipf/ipf.conf の設定を参照するようにはなってないので、この設定が必要です。
23 / 26
Firewallの設定(2) くろまる ipfilter のための必要な設定 firewall # cat /etc/ipf/ipf.conf # See ipf(4) manpage for more information on # IP Filter rules syntax. pass out quick on lo0 pass in quick on lo0 # block in log quick on fire1 all with opt lsrr block in log quick on fire1 all with opt ssrr block in log quick from any to any with ipopts block in log quick on fire1 proto tcp all with short # #block out log on fire1 all この例では何もブロックしてない #block in log on fire1 all firewall # svcadm enable ipfilter:default firewall # ipfstat bad packets: in 0 out 0 IPv6 packets: in 0 out 0 input packets: blocked 0 passed 23348 nomatch 23348 counted 0 short 0 output packets: blocked 0 passed 15293 nomatch 15293 counted 0 short 0 ... Result cache hits(in): 15615 (out): 8646 IN Pullups succeeded:0 failed: 0 OUT Pullups succeeded: 0 failed: 0
24 / 26
その他サーバや環境設定 くろまる 説明は省略しますが、他にも下記ようなサーバを設定しています。 くろまる pkgserver : /var/pkglocal の下に pkgrecv コマンドを使って OpenIndiana 151a のリポジトリを丸ごとコピーしています。デモ仮 想環境では、pkgs.sun.com でアクセスでき、local domain 内で は、publisher に pkgs.sun.com を指定することでインターネットに接 続なしに追加 package install が可能です。 くろまる cbe 1~ 3 (non-gui), test1~ test4 (GUI) 今年2月と3月に行われた OpenSolaris ハッカソンの build 環境を zone で構築しています。 くろまる rubyonrails: netbeans, ruby on rails で web 開発環境を zone で 構築しています。
26 / 26
まとめ くろまる CrossBow や Zone のオーバーヘッドは意外にも小さく、こんな小さ な PC でも仮想ネットワークは構築できちゃいます。 くろまる 遊園地をひとりで貸切っているようなもので、シングルユーザで使用 する分には負荷も少ないです くろまる 数十個の Zone を構築しているのに、ZFS のおかげでディスク使用 量こんな程度です。 # zpool list NAME SIZE ALLOC FREE EXPANDSZ CAP DEDUP HEALTH ALTROOT pool 149G 10.6G 138G - 7% 1.51x ONLINE - rpool 74G 16.3G 57.7G - 22% 1.00x ONLINE - くろまる Zone の自由度は高く、インストールや設定で Zone の制限を感 じることはほとんどありません。ネットワークの学習には最適です
OpenIndiana で仮想ネットワークを構築する 東京OpenSolaris 勉強会 2012.04 原口 章司 mail: shoji.haraguchi@gmail.com twitter: @shojih
はじめに くろまる 小さなPC の中に仮想ネットワークを構築します くろまる Crossbow(仮想wire) と Zone を使います くろまる PC 1台でエンタープライズネットワーク環境を仮想で実現します くろまる 仮想ネットワークの上のそれぞれのサーバ設定を簡単に説明します くろまる デモで使用しているドメイン名等は *フィクション* (笑) です くろまるOpenIndiana 151aですので、Oracle Solaris 11 で同様に構築するに は設定方法が異なります、特にZone とネットワークの設定がかなり異な ります。
使用したPCの紹介 くろまる Shuttle XS35 V2 くろまる Intel ATOM D525 くろまる 1.8GHz Dual Core くろまる 4GB Memory くろまる 64 bit - 4 スレッド くろまる 省電力、静音、手頃な価格 くろまる OI/S11 で使用するには村山氏の NIC ドライバー (jmge)が必要 くろまる Vt 非対応で OI-KVM使用不可 くろまる 2本のHDD: 74GB, 149GB
仮想ネットワーク構成図
デモ環境へのアクセス くろまる 聞くよりも実際に見てみたい方は以下の方法で覗いてみてください。 WiFi: SSID: test_ssid ( Wep パスワードなし) 192.168.10.201 – 192.168.10.220 まで guest 用 Zone を作って あります。(host 名: vnc1 ~ vnc20) くろまる ssh で login する方: ssh -l build1 <IP address> パスワードはす べての zone で、build1 です。 くろまる vncviewer の利用が可能な方 vncviewer <IP address>:1 パス ワードは build1 です。
basezone の作成 くろまるGlobalZone 中にたくさんの Local Zone を作成しますが、実際には複 製(clone) で作成するので、インストールに時間がかかるのは最初の basezone の作成だけです。 # cat /zones/cfgs/base <-たくさん zone を作るので config ファイルを /zones/cfgs にまとめています。 create -b set zonepath=/zones/basezone set autoboot=false set ip-type=exclusive add net set physical=base0 end # zonecfg -z basezone -f /zones/cfgs/basezone # dladm create-vnic -l jmge0 base0 # zoneadm -z basezone install # zoneadm -z basezone boot # zlogin -C basezone < host, IP address, timezone, root password 等の設定 > ~. コンソールから抜ける
basezone の設定 くろまるDefault user の追加、ネットワーク設定、追加 pkg インストール。ネット ワーク構成など、システム構成は複製で引き継がれませんが、ユーザ情 報や追加 インストールしたパッケージは複製されます # zlogin basezone basezone # useradd -u 100 -g staff -s /bin/bash -m build1 basezone # passwd build1 basezone # cat /etc/sudoers build1 ALL=(ALL) ALL build1 ユーザの権限を記入しておく basezone # vi /resolv.conf nameserver 192.168.10.254 basezone # vi /etc/nsswitch.conf hosts: files dns ipnodes: files dns basezone # pkg refresh basename # pkg install slim_install デスクトップとして必要なパッケージはまとめてインストール basename # exit # zoneadm -z basezone halt
(Tips 1) dbus-daemon くろまるOI151a の既知の問題で、dbus-daemon が non-globalzone 上では 動作しない。影響ないのですが、svcs -xv でのメッセージが気になる方 は、/lib/svc/method/svc-dbus を変更する。参考: https://www.illumos.org/issues/1249 # diff -u /lib/svc/method/svc-dbus_orig /lib/svc/method/svc-dbus --- /lib/svc/method/svc-dbus_orig Sat Jul 23 23:30:20 2011 +++ /lib/svc/method/svc-dbus Sat Jul 23 23:31:24 2011 @@ -38,12 +38,12 @@ /usr/bin/dbus-uuidgen --ensure fi -if smf_is_nonglobalzone; then - /usr/sbin/svcadm disable -t svc:/system/dbus - echo "dbus-daemon cannot be run in non-global zones" - sleep 5 & - exit $SMF_EXIT_OK -fi +#if smf_is_nonglobalzone; then +# /usr/sbin/svcadm disable -t svc:/system/dbus +# echo "dbus-daemon cannot be run in non-global zones" +# sleep 5 & +# exit $SMF_EXIT_OK +#fi
DNS サーバの作成 くろまる エンタープライズっぽくするために、まずDNS サーバを立てます # cat /zones/cfgs/nameserver create -b set zonepath=/zones/nameserver set autoboot=true set ip-type=exclusive add net set physical=name0 end # zonecfg -z nameserver -f /zones/cfgs/nameserver # dladm create-vnic -l jmge0 name0 # zoneadm -z nameserver clone basezone # zoneadm -z nameserver boot # zlogin -C nameserver
DNS サーバの設定(1) くろまる DNS サーバにするには bind パッケージを追加インストールします。 nameserver # pkg install service/network/dns/bind nameserver # vi /etc/named.conf このファイルを新規に作成します。 < subnet が 192.168.10.0 でDNS が 192.168.10.254 の場合は> options { directory "/var/named"; <- /var/named に DNS 関連のファイルをおくことにします。 forwarders { 192.168.10.254; }; allow-query { 127.0.0.1; 192.168.10.0/24; }; }; zone "localhost" IN { type master; file "localhost.zone"; }; zone "0.0.127.in-addr.arpa" IN { type master; file "0.0.127.in-addr.arpa"; }; zone "sun.com" IN { type master; file "0.0.127.in-addr.arpa"; }; zone "sun.com" IN { 個人的な趣味で sun.com というドメイン名をデモでは使っています type master; file "suncom.zone"; }; zone "10.168.192.in-addr.arpa" IN { type master; file "10.168.192.in-addr.arpa"; };
DNS サーバの設定(2) くろまる DNS サーバの設定の続き root@nameserver:~# cd /var/named root@nameserver:/var/named# ls 0.0.127.in-addr.arpa 10.168.192.in-addr.arpa localhost.zone suncom.zone root@nameserver:/var/named# cat 0.0.127.in-addr.arpa $TTL 1D @ IN SOA localhost. root.localhost. ( 2012041001 シリアル番号は10桁数字を適当につけてます。 3H 15M 1W 1D ) IN NS localhost. 1 IN PTR localhost. root@nameserver:/var/named# cat localhost.zone $TTL 1D @ IN SOA localhost. root.localhost. ( 2012041001 3H 15M 1W 1D ) IN NS localhost. IN A 127.0.0.1
DNSサーバの設定(3) くろまる DNS サーバの設定の続き (ドメイン名からの正引きリスト) root@nameserver:/var/named# cat suncom.zone $TTL 1D @ IN SOA ns1.sun.com. root.sun.com. ( 2012041001 3H 15M 1W 1D ) IN NS ns1.sun.com. IN MX 0 mail.sun.com. MXレコードは mail server の設定で必要になる ns1 IN A 192.168.10.120 www IN A 192.168.10.121 blogs IN A 192.168.10.122 rails IN A 192.168.10.123 pkgs IN A 192.168.10.124 mail IN A 192.168.10.125 ... root@nameserver:/var/named#
DNS サーバの設定(4) くろまる DNS サーバの設定の続き (IPアドレスからの逆引きリスト) root@nameserver:/var/named# cat 10.168.192.in-addr.arpa $TTL 1D @ IN SOA ns1.sun.com. root.sun.com. ( 2012041001 3H 15M 1W 1D ) IN NS ns1.sun.com. 120 IN PTR ns1.sun.com. 121 IN PTR www.sun.com. 122 IN PTR blogs.sun.com. 123 IN PTR rails.sun.com. 124 IN PTR pkgs.sun.com. 125 IN PTR mail.sun.com. ...
DNS サーバの起動と確認 くろまるnamed.conf 、正引き、逆引きリストの設定が完了したら、DNS service を起動する。 nameserver # vi /etc/resolv.conf nameserver 127.0.0.1 search sun.com nameserver # svcadm enable svc:/network/dns/server:default nameserver # host ns1.sun.com ns1.sun.com has address 192.168.10.120 期待した IPが返ると OK nameserver # host 192.168.10.120 120.10.168.192.in-addr.arpa domain name pointer ns1.sun.com. OK nameserver #
Webサーバの設定 くろまるWeb サーバ用には apache-22 を使っています。独立したサーバにす ることもないとおもいましたが、 www.xxx.com でアクセスできるように 別のZone で立ててみました。 # cat /zones/cfgs/webserver create -b set zonepath=/zones/webserver set autoboot=true set ip-type=exclusive add net set physical=web0 end # zonecfg -z webserver -f /zones/cfgs/webserver # dladm create-vnic -l jmge0 web0 # zoneadm -z webserver clone basezone # zoneadm -z webserver boot # zlogin -C webserver <各設定は省略> # zlogin webserver webserver # pkg install web/server/apache-22 webserver # svcadm enable svc:/network/http:apache22
MAILサーバ くろまるOpenIndiana のレポジトリには、簡単に使えそうなメールサーバが見 当たりませんでしたので、オープンソースの Apache James を使ってみ ました。 尚、James は pure Java で POP3 のみに対応しています。 # cat /zones/cfgs/mailserver create -b set zonepath=/zones/mailserver set autoboot=true set ip-type=exclusive add net set physical=mail0 end # zonecfg -z mailserver -f /zones/cfgs/mailserver # dladm create-vnic -l jmge0 mail0 # zoneadm -z mailserver clone basezone # zoneadm -z mailserver boot # zlogin -C mailserver <各設定は省略> # zlogin mailserver mailserver # cd /opt mailserver # wget http://ftp.jaist.ac.jp/pub/apache//james/server/apache-james-2.3.2.tar.gz mailserver # gtar xvf ./apache-james-2.3.2.tar.gz
MAILサーバの設定(1) くろまる James Mail Server のための必要な設定 mailserver # cd /opt/james-2.3.2/bin James を展開したdirectroty の bin の下 mailserver # chmod +x ./phoenix.sh ./run.bat ./run.sh mailserver # cd /opt/james-2.3.2/apps/james/SAR-INF mailserver # vi config.xml 多少難解ですが config.xml を環境に合わせて設定します。 ... <config><james> <servernames autodetect="true" autodetectIP="true"> <servername>localhost</servername> <servername>maiil.sun.com</servername> <servername>sun.com</servername> </servernames> ... <dnsserver> <servers> <server>192.168.10.120</server> <- DNSに MX の記述があれば @domain に変換 <server>127.0.0.1</server> </servers> ... mailserver # cd /opt/james-2.3.2/bin mailserver # export JAVA_HOME=/usr/java mailserver # export PHOENIX_HOME=/opt/james-2.3.2 mailserver # ./run.sh James の起動
MAILサーバの設定(2) くろまる James Mail Server のための必要な設定 mailserver # su – build1 build1@mailserver:~$ telnet localhost 4555 James の設定には ポート4555 に telnet する Trying ::1... Connected to localhost. Escape character is '^]'. JAMES Remote Administration Tool 2.3.2 Please enter your login and password Login id: root Password: root Welcome root. HELP for a list of commands adduser build1 build1 build1 というユーザ名と build1 用の build1 というパスワードを追加 User build1 added quit これでデモ仮想環境の sun.com というローカルドメイン内では、 POP3 server : mail.sun.com, SMTP Server: mail.sun.com と設定することで Mail Client (thunderbird とか)から使用可能になります。 DNSサーバとの連系で、build1@sun.com に送られたメールも build1@mail.sun.com と同じように処理されま す。尚、メールのバケツリレーのための設定はしてませんので、ドメイン外部へのメールの送受信はこの状態では不可。
ブログサーバの設定(1) くろまる 簡単に設定できるので Wordpress を使用しています。 <blogserver zone の作成は他と同じなので省略します> blogserver # pkg install amp amp クラスタ (Apache, MySQL, PHP)を追加インストールします。 blogserver # cd /var/tmp blogserver # wget http://ja.wordpress.org/wordpress-3.3.1-ja.tar.gz blogserver # cd /var/apache2/2.2/htdocs blogserver # gtar -xvf /var/tmp/wordpress-3.3.1-ja.tar.gz blogserver # cd wordpress blogserver # cp wp-config-sample.php wp-config.php blogserver # vi wp-config.php 下記3行だけ書き換える この例では user wp, passowd wp define('DB_NAME', 'wordpress'); define('DB_USER', 'wp'); define('DB_PASSWORD', 'wp'); blogserver # svcadm enable svc:/network/http:apache22 blogserver # svcadm enable svc:/application/database/mysql:version_51
ブログサーバの設定(2) くろまる 簡単に設定できるので Wordpress を使用しています。 blogserver # svcadm enable svc:/application/database/mysql:version_51 blogserver # /usr/mysql/bin/mysql -u root > create database wordpress; > grant all privileges on wordpress.* to wp@localhost identified by 'wp'; > flush privileges ; > quit ; blogserver # svcadm restart svc:/network/http:apache22 あとは ブラウザから http://localhost/wordpress/ にアクセスして各種設定を行います デモ仮想環境では、 http://blogs.sun.com/hara/ で私のブログが参照できます。
Firewall くろまるGlobalZone 上に新たな subnet を構築する場合は、仮想スイッチを作 成します。また、subnet 間には router を設置し、その router に ipfilter でファイアフォール化することで subnet のアクセス制御ができます。 # dladm create-etherstub sw0 # cat /zones/cfgs/firewall create -b set zonepath=/zones/firewall set autoboot=true set ip-type=exclusive add net set physical=fire0 end add net set physical=fire1 router や firewall では VNIC を2個設定しておきます end # dladm create-vnic -l sw0 fire0 # dladm create-vnic -l jmge0 fire1 # zoneadm -z firewall clone basezone # zoneadm -z firewall boot # zlogin -C firewall <各設定は省略> # zlogin firewall
Firewallの設定(1) くろまる ipfilter のための必要な設定 firewall # ipadm show-addr ADDROBJ TYPE STATE ADDR lo0/v4 static ok 127.0.0.1/8 fire0/_a static ok 192.168.100.1/24 fire1/_a static ok 192.168.10.10/24 lo0/v6 static ok ::1/128 firewall # /usr/sbin/routeadm -e ipv4-forwarding firewall # /usr/sbin/routeadm -u firewall # ifconfig fire0 router firewall # ifconfig fire1 router firewall # cat /etc/ipf/ipnat.conf map fire1 192.168.100.0/24 -> 0/32 portmap tcp/udp auto map fire1 192.168.100.0/24 -> 0/32 firewall # svccfg -s ipfilter:default setprop firewall_config_default/policy = astring: "custom" firewall # svccfg -s ipfilter:default setprop firewall_config_default/custom_policy_file = astring: "/etc/ipf/ipf.conf" firewall # svcadm refresh ipfilter:default (Tips) Default では、/etc/ipf/ipf.conf の設定を参照するようにはなってないので、この設定が必要です。
Firewallの設定(2) くろまる ipfilter のための必要な設定 firewall # cat /etc/ipf/ipf.conf # See ipf(4) manpage for more information on # IP Filter rules syntax. pass out quick on lo0 pass in quick on lo0 # block in log quick on fire1 all with opt lsrr block in log quick on fire1 all with opt ssrr block in log quick from any to any with ipopts block in log quick on fire1 proto tcp all with short # #block out log on fire1 all この例では何もブロックしてない #block in log on fire1 all firewall # svcadm enable ipfilter:default firewall # ipfstat bad packets: in 0 out 0 IPv6 packets: in 0 out 0 input packets: blocked 0 passed 23348 nomatch 23348 counted 0 short 0 output packets: blocked 0 passed 15293 nomatch 15293 counted 0 short 0 ... Result cache hits(in): 15615 (out): 8646 IN Pullups succeeded:0 failed: 0 OUT Pullups succeeded: 0 failed: 0
その他サーバや環境設定 くろまる 説明は省略しますが、他にも下記ようなサーバを設定しています。 くろまる pkgserver : /var/pkglocal の下に pkgrecv コマンドを使って OpenIndiana 151a のリポジトリを丸ごとコピーしています。デモ仮 想環境では、pkgs.sun.com でアクセスでき、local domain 内で は、publisher に pkgs.sun.com を指定することでインターネットに接 続なしに追加 package install が可能です。 くろまる cbe 1~ 3 (non-gui), test1~ test4 (GUI) 今年2月と3月に行われた OpenSolaris ハッカソンの build 環境を zone で構築しています。 くろまる rubyonrails: netbeans, ruby on rails で web 開発環境を zone で 構築しています。
Tips(2) sysidcfg ファイル くろまる Zone インストール後の system config 設定を省略する方法 # cat /zones/sysidsfgs/sample_sysidcfg erminal=vt100 security_policy=NONE network_interface=primary { hostname=basezone netmask=255.255.255.0 protocol_ipv6=no ip_address=192.168.10.100 netmask=255.255.255.0 default_route=192.168.10.254 } security_policy=NONE name_service=DNS {domain_name=sun.com name_server=192.168.10.120 search=sun.com } nfs4_domain=dynamic timezone=Japan root_password=AAZ14d3MmkU6U # cp sample_sysidcfg /zones/xxxserver/root/etc/sysidcfg サンプルのような sysidcfg を作成して、zone 複製後、 初期起動前に /etc/sysidcfg に置くと、初期起動時の system configuration 設定を省略させることができます。
まとめ くろまる CrossBow や Zone のオーバーヘッドは意外にも小さく、こんな小さ な PC でも仮想ネットワークは構築できちゃいます。 くろまる 遊園地をひとりで貸切っているようなもので、シングルユーザで使用 する分には負荷も少ないです くろまる 数十個の Zone を構築しているのに、ZFS のおかげでディスク使用 量こんな程度です。 # zpool list NAME SIZE ALLOC FREE EXPANDSZ CAP DEDUP HEALTH ALTROOT pool 149G 10.6G 138G - 7% 1.51x ONLINE - rpool 74G 16.3G 57.7G - 22% 1.00x ONLINE - くろまる Zone の自由度は高く、インストールや設定で Zone の制限を感 じることはほとんどありません。ネットワークの学習には最適です

More Related Content

【さくらのクラウド】ローカルルータ導入ガイド
PDF
【さくらのクラウド】ローカルルータ導入ガイド
さくらのクラウドでVyOS使ってみた
PPTX
さくらのクラウドでVyOS使ってみた
「さくらのクラウド」におけるVyattaの活用事例
PDF
「さくらのクラウド」におけるVyattaの活用事例
CMS時代のバックアップノウハウを身につけよう!
KEY
CMS時代のバックアップノウハウを身につけよう!
Windows と leopard
PPTX
Windows と leopard
Hadoop on LXC
PDF
Hadoop on LXC
Havana版 RDO-QuickStart-4 (140421-Havana-RDO-QuickStart-4.pdf)
PDF
Havana版 RDO-QuickStart-4 (140421-Havana-RDO-QuickStart-4.pdf)
osoljp 2011.08
PDF
osoljp 2011.08
【さくらのクラウド】ローカルルータ導入ガイド
【さくらのクラウド】ローカルルータ導入ガイド
さくらのクラウドでVyOS使ってみた
さくらのクラウドでVyOS使ってみた
「さくらのクラウド」におけるVyattaの活用事例
「さくらのクラウド」におけるVyattaの活用事例
CMS時代のバックアップノウハウを身につけよう!
CMS時代のバックアップノウハウを身につけよう!
Windows と leopard
Windows と leopard
Hadoop on LXC
Hadoop on LXC
Havana版 RDO-QuickStart-4 (140421-Havana-RDO-QuickStart-4.pdf)
Havana版 RDO-QuickStart-4 (140421-Havana-RDO-QuickStart-4.pdf)
osoljp 2011.08
osoljp 2011.08

What's hot

さくらのクラウドでのPlesk Onyx導入手順
PDF
さくらのクラウドでのPlesk Onyx導入手順
AvailabilityZoneとHostAggregate
PDF
AvailabilityZoneとHostAggregate
Havana版 RDO-QuickStart-3 (140421-Havana-RDO-QuickStart-3.pdf)
PDF
Havana版 RDO-QuickStart-3 (140421-Havana-RDO-QuickStart-3.pdf)
Apache cloudstack4.0インストール
PDF
Apache cloudstack4.0インストール
Control distribution of virtual machines
PDF
Control distribution of virtual machines
Packet と向き合う夏 VRRP Advertisement編
PDF
Packet と向き合う夏 VRRP Advertisement編
Linux packet-forwarding
PDF
Linux packet-forwarding
さくらのクラウドインフラの紹介
PDF
さくらのクラウドインフラの紹介
Aerospike紹介-LT用
PDF
Aerospike紹介-LT用
はじめてのWebサーバ構築 さくらvps
PPTX
はじめてのWebサーバ構築 さくらvps
パケットが教えてくれた ルートサーバが 13個の理由
PDF
パケットが教えてくれた ルートサーバが 13個の理由
PowerDNSのご紹介
PDF
PowerDNSのご紹介
Havana版 RDO-QuickStart-2 (140421-Havana-RDO-QuickStart-2.pdf)
PDF
Havana版 RDO-QuickStart-2 (140421-Havana-RDO-QuickStart-2.pdf)
Osc2012 tokyo fall_home_san_nayamaguti
PPTX
Osc2012 tokyo fall_home_san_nayamaguti
FC SAN Fabric環境におけるパフォーマンストラブルの対処法
PDF
FC SAN Fabric環境におけるパフォーマンストラブルの対処法
httpd.conf line 1 to 7, 24
PDF
httpd.conf line 1 to 7, 24
20171206 d3 health_tech発表資料
PDF
20171206 d3 health_tech発表資料
さくらのクラウドでのPlesk Onyx導入手順
さくらのクラウドでのPlesk Onyx導入手順
AvailabilityZoneとHostAggregate
AvailabilityZoneとHostAggregate
Havana版 RDO-QuickStart-3 (140421-Havana-RDO-QuickStart-3.pdf)
Havana版 RDO-QuickStart-3 (140421-Havana-RDO-QuickStart-3.pdf)
Apache cloudstack4.0インストール
Apache cloudstack4.0インストール
Control distribution of virtual machines
Control distribution of virtual machines
Packet と向き合う夏 VRRP Advertisement編
Packet と向き合う夏 VRRP Advertisement編
Linux packet-forwarding
Linux packet-forwarding
さくらのクラウドインフラの紹介
さくらのクラウドインフラの紹介
Aerospike紹介-LT用
Aerospike紹介-LT用
はじめてのWebサーバ構築 さくらvps
はじめてのWebサーバ構築 さくらvps
パケットが教えてくれた ルートサーバが 13個の理由
パケットが教えてくれた ルートサーバが 13個の理由
PowerDNSのご紹介
PowerDNSのご紹介
Havana版 RDO-QuickStart-2 (140421-Havana-RDO-QuickStart-2.pdf)
Havana版 RDO-QuickStart-2 (140421-Havana-RDO-QuickStart-2.pdf)
Osc2012 tokyo fall_home_san_nayamaguti
Osc2012 tokyo fall_home_san_nayamaguti
FC SAN Fabric環境におけるパフォーマンストラブルの対処法
FC SAN Fabric環境におけるパフォーマンストラブルの対処法
httpd.conf line 1 to 7, 24
httpd.conf line 1 to 7, 24
20171206 d3 health_tech発表資料
20171206 d3 health_tech発表資料

Similar to OpenIndiana vWire Demo (Japanese)

cloudhandson
PPTX
cloudhandson
自分色のLinuxホームサーバーを作ってみよう
PDF
自分色のLinuxホームサーバーを作ってみよう
Mobageの技術を体験(MyDNS編)
PDF
Mobageの技術を体験(MyDNS編)
イベント会場ネットワーク
PPTX
イベント会場ネットワーク
Linuxサーバのセキュリティ対策 part1
PDF
Linuxサーバのセキュリティ対策 part1
The Art of Network Protocols - RIP編 -
PDF
The Art of Network Protocols - RIP編 -
Apache CloudStack 4.0 インストール(ver0.5)
PDF
Apache CloudStack 4.0 インストール(ver0.5)
AWS EC2+AMI 網元でWordPressサイトを 構築しよう
PPTX
AWS EC2+AMI 網元でWordPressサイトを 構築しよう
Amazon VPCトレーニング-トレーニング資料
PDF
Amazon VPCトレーニング-トレーニング資料
cloudpackサーバ仕様書(サンプル)
PDF
cloudpackサーバ仕様書(サンプル)
LXC入門 - Osc2011 nagoya
PDF
LXC入門 - Osc2011 nagoya
Osoljp201204
PPTX
Osoljp201204
オープンソースで始める「超」VPN 構築術
PDF
オープンソースで始める「超」VPN 構築術
VPS借りたけどセキュリティが心配! 初心者が気をつけたいセキュリティの話
KEY
VPS借りたけどセキュリティが心配! 初心者が気をつけたいセキュリティの話
クックパッドでのVPC移行について
PDF
クックパッドでのVPC移行について
20111029 part1-dnsをあえてdisってみる-事後資料
PDF
20111029 part1-dnsをあえてdisってみる-事後資料
OpenNebula on Ubuntu
PDF
OpenNebula on Ubuntu
秘伝:クラウドに開発環境をえいっ!と構築する方法
PDF
秘伝:クラウドに開発環境をえいっ!と構築する方法
Lxc on cloud
KEY
Lxc on cloud
20121220cmblog seminar 03-fukuda
PPTX
20121220cmblog seminar 03-fukuda
cloudhandson
cloudhandson
自分色のLinuxホームサーバーを作ってみよう
自分色のLinuxホームサーバーを作ってみよう
Mobageの技術を体験(MyDNS編)
Mobageの技術を体験(MyDNS編)
イベント会場ネットワーク
イベント会場ネットワーク
Linuxサーバのセキュリティ対策 part1
Linuxサーバのセキュリティ対策 part1
The Art of Network Protocols - RIP編 -
The Art of Network Protocols - RIP編 -
Apache CloudStack 4.0 インストール(ver0.5)
Apache CloudStack 4.0 インストール(ver0.5)
AWS EC2+AMI 網元でWordPressサイトを 構築しよう
AWS EC2+AMI 網元でWordPressサイトを 構築しよう
Amazon VPCトレーニング-トレーニング資料
Amazon VPCトレーニング-トレーニング資料
cloudpackサーバ仕様書(サンプル)
cloudpackサーバ仕様書(サンプル)
LXC入門 - Osc2011 nagoya
LXC入門 - Osc2011 nagoya
Osoljp201204
Osoljp201204
オープンソースで始める「超」VPN 構築術
オープンソースで始める「超」VPN 構築術
VPS借りたけどセキュリティが心配! 初心者が気をつけたいセキュリティの話
VPS借りたけどセキュリティが心配! 初心者が気をつけたいセキュリティの話
クックパッドでのVPC移行について
クックパッドでのVPC移行について
20111029 part1-dnsをあえてdisってみる-事後資料
20111029 part1-dnsをあえてdisってみる-事後資料
OpenNebula on Ubuntu
OpenNebula on Ubuntu
秘伝:クラウドに開発環境をえいっ!と構築する方法
秘伝:クラウドに開発環境をえいっ!と構築する方法
Lxc on cloud
Lxc on cloud
20121220cmblog seminar 03-fukuda
20121220cmblog seminar 03-fukuda

OpenIndiana vWire Demo (Japanese)

  • 1.
    OpenIndiana で仮想ネットワークを構築する 東京OpenSolaris 勉強会 2012.04 原口 章司 mail: shoji.haraguchi@gmail.com twitter: @shojih
  • 2.
    はじめに くろまる 小さなPC の中に仮想ネットワークを構築します くろまる Crossbow(仮想wire) と Zone を使います くろまる PC 1台でエンタープライズネットワーク環境を仮想で実現します くろまる 仮想ネットワークの上のそれぞれのサーバ設定を簡単に説明します くろまる デモで使用しているドメイン名等は *フィクション* (笑) です くろまるOpenIndiana 151aですので、Oracle Solaris 11 で同様に構築するに は設定方法が異なります、特にZone とネットワークの設定がかなり異な ります。
  • 3.
    使用したPCの紹介 くろまる Shuttle XS35 V2 くろまる Intel ATOM D525 くろまる 1.8GHz Dual Core くろまる 4GB Memory くろまる 64 bit - 4 スレッド くろまる 省電力、静音、手頃な価格 くろまる OI/S11 で使用するには村山氏の NIC ドライバー (jmge)が必要 くろまる Vt 非対応で OI-KVM使用不可 くろまる 2本のHDD: 74GB, 149GB
  • 4.
  • 5.
    デモ環境へのアクセス くろまる 聞くよりも実際に見てみたい方は以下の方法で覗いてみてください。 WiFi: SSID: test_ssid ( Wep パスワードなし) 192.168.10.201 – 192.168.10.220 まで guest 用 Zone を作って あります。(host 名: vnc1 ~ vnc20) くろまる ssh で login する方: ssh -l build1 <IP address> パスワードはす べての zone で、build1 です。 くろまる vncviewer の利用が可能な方 vncviewer <IP address>:1 パス ワードは build1 です。
  • 6.
    basezone の作成 くろまるGlobalZone 中にたくさんの Local Zone を作成しますが、実際には複 製(clone) で作成するので、インストールに時間がかかるのは最初の basezone の作成だけです。 # cat /zones/cfgs/base <-たくさん zone を作るので config ファイルを /zones/cfgs にまとめています。 create -b set zonepath=/zones/basezone set autoboot=false set ip-type=exclusive add net set physical=base0 end # zonecfg -z basezone -f /zones/cfgs/basezone # dladm create-vnic -l jmge0 base0 # zoneadm -z basezone install # zoneadm -z basezone boot # zlogin -C basezone < host, IP address, timezone, root password 等の設定 > ~. コンソールから抜ける
  • 7.
    basezone の設定 くろまるDefault user の追加、ネットワーク設定、追加 pkg インストール。ネット ワーク構成など、システム構成は複製で引き継がれませんが、ユーザ情 報や追加 インストールしたパッケージは複製されます # zlogin basezone basezone # useradd -u 100 -g staff -s /bin/bash -m build1 basezone # passwd build1 basezone # cat /etc/sudoers build1 ALL=(ALL) ALL build1 ユーザの権限を記入しておく basezone # vi /resolv.conf nameserver 192.168.10.254 basezone # vi /etc/nsswitch.conf hosts: files dns ipnodes: files dns basezone # pkg refresh basename # pkg install slim_install デスクトップとして必要なパッケージはまとめてインストール basename # exit # zoneadm -z basezone halt
  • 8.
    (Tips 1) dbus-daemon くろまるOI151a の既知の問題で、dbus-daemon が non-globalzone 上では 動作しない。影響ないのですが、svcs -xv でのメッセージが気になる方 は、/lib/svc/method/svc-dbus を変更する。参考: https://www.illumos.org/issues/1249 # diff -u /lib/svc/method/svc-dbus_orig /lib/svc/method/svc-dbus --- /lib/svc/method/svc-dbus_orig Sat Jul 23 23:30:20 2011 +++ /lib/svc/method/svc-dbus Sat Jul 23 23:31:24 2011 @@ -38,12 +38,12 @@ /usr/bin/dbus-uuidgen --ensure fi -if smf_is_nonglobalzone; then - /usr/sbin/svcadm disable -t svc:/system/dbus - echo "dbus-daemon cannot be run in non-global zones" - sleep 5 & - exit $SMF_EXIT_OK -fi +#if smf_is_nonglobalzone; then +# /usr/sbin/svcadm disable -t svc:/system/dbus +# echo "dbus-daemon cannot be run in non-global zones" +# sleep 5 & +# exit $SMF_EXIT_OK +#fi
  • 9.
    DNS サーバの作成 くろまる エンタープライズっぽくするために、まずDNS サーバを立てます # cat /zones/cfgs/nameserver create -b set zonepath=/zones/nameserver set autoboot=true set ip-type=exclusive add net set physical=name0 end # zonecfg -z nameserver -f /zones/cfgs/nameserver # dladm create-vnic -l jmge0 name0 # zoneadm -z nameserver clone basezone # zoneadm -z nameserver boot # zlogin -C nameserver
  • 10.
    DNS サーバの設定(1) くろまる DNS サーバにするには bind パッケージを追加インストールします。 nameserver # pkg install service/network/dns/bind nameserver # vi /etc/named.conf このファイルを新規に作成します。 < subnet が 192.168.10.0 でDNS が 192.168.10.254 の場合は> options { directory "/var/named"; <- /var/named に DNS 関連のファイルをおくことにします。 forwarders { 192.168.10.254; }; allow-query { 127.0.0.1; 192.168.10.0/24; }; }; zone "localhost" IN { type master; file "localhost.zone"; }; zone "0.0.127.in-addr.arpa" IN { type master; file "0.0.127.in-addr.arpa"; }; zone "sun.com" IN { type master; file "0.0.127.in-addr.arpa"; }; zone "sun.com" IN { 個人的な趣味で sun.com というドメイン名をデモでは使っています type master; file "suncom.zone"; }; zone "10.168.192.in-addr.arpa" IN { type master; file "10.168.192.in-addr.arpa"; };
  • 11.
    DNS サーバの設定(2) くろまる DNS サーバの設定の続き root@nameserver:~# cd /var/named root@nameserver:/var/named# ls 0.0.127.in-addr.arpa 10.168.192.in-addr.arpa localhost.zone suncom.zone root@nameserver:/var/named# cat 0.0.127.in-addr.arpa $TTL 1D @ IN SOA localhost. root.localhost. ( 2012041001 シリアル番号は10桁数字を適当につけてます。 3H 15M 1W 1D ) IN NS localhost. 1 IN PTR localhost. root@nameserver:/var/named# cat localhost.zone $TTL 1D @ IN SOA localhost. root.localhost. ( 2012041001 3H 15M 1W 1D ) IN NS localhost. IN A 127.0.0.1
  • 12.
    DNSサーバの設定(3) くろまる DNS サーバの設定の続き (ドメイン名からの正引きリスト) root@nameserver:/var/named# cat suncom.zone $TTL 1D @ IN SOA ns1.sun.com. root.sun.com. ( 2012041001 3H 15M 1W 1D ) IN NS ns1.sun.com. IN MX 0 mail.sun.com. MXレコードは mail server の設定で必要になる ns1 IN A 192.168.10.120 www IN A 192.168.10.121 blogs IN A 192.168.10.122 rails IN A 192.168.10.123 pkgs IN A 192.168.10.124 mail IN A 192.168.10.125 ... root@nameserver:/var/named#
  • 13.
    DNS サーバの設定(4) くろまる DNS サーバの設定の続き (IPアドレスからの逆引きリスト) root@nameserver:/var/named# cat 10.168.192.in-addr.arpa $TTL 1D @ IN SOA ns1.sun.com. root.sun.com. ( 2012041001 3H 15M 1W 1D ) IN NS ns1.sun.com. 120 IN PTR ns1.sun.com. 121 IN PTR www.sun.com. 122 IN PTR blogs.sun.com. 123 IN PTR rails.sun.com. 124 IN PTR pkgs.sun.com. 125 IN PTR mail.sun.com. ...
  • 14.
    DNS サーバの起動と確認 くろまるnamed.conf 、正引き、逆引きリストの設定が完了したら、DNS service を起動する。 nameserver # vi /etc/resolv.conf nameserver 127.0.0.1 search sun.com nameserver # svcadm enable svc:/network/dns/server:default nameserver # host ns1.sun.com ns1.sun.com has address 192.168.10.120 期待した IPが返ると OK nameserver # host 192.168.10.120 120.10.168.192.in-addr.arpa domain name pointer ns1.sun.com. OK nameserver #
  • 15.
    Webサーバの設定 くろまるWeb サーバ用には apache-22 を使っています。独立したサーバにす ることもないとおもいましたが、 www.xxx.com でアクセスできるように 別のZone で立ててみました。 # cat /zones/cfgs/webserver create -b set zonepath=/zones/webserver set autoboot=true set ip-type=exclusive add net set physical=web0 end # zonecfg -z webserver -f /zones/cfgs/webserver # dladm create-vnic -l jmge0 web0 # zoneadm -z webserver clone basezone # zoneadm -z webserver boot # zlogin -C webserver <各設定は省略> # zlogin webserver webserver # pkg install web/server/apache-22 webserver # svcadm enable svc:/network/http:apache22
  • 16.
    MAILサーバ くろまるOpenIndiana のレポジトリには、簡単に使えそうなメールサーバが見 当たりませんでしたので、オープンソースの Apache James を使ってみ ました。 尚、James は pure Java で POP3 のみに対応しています。 # cat /zones/cfgs/mailserver create -b set zonepath=/zones/mailserver set autoboot=true set ip-type=exclusive add net set physical=mail0 end # zonecfg -z mailserver -f /zones/cfgs/mailserver # dladm create-vnic -l jmge0 mail0 # zoneadm -z mailserver clone basezone # zoneadm -z mailserver boot # zlogin -C mailserver <各設定は省略> # zlogin mailserver mailserver # cd /opt mailserver # wget http://ftp.jaist.ac.jp/pub/apache//james/server/apache-james-2.3.2.tar.gz mailserver # gtar xvf ./apache-james-2.3.2.tar.gz
  • 17.
    MAILサーバの設定(1) くろまる James Mail Server のための必要な設定 mailserver # cd /opt/james-2.3.2/bin James を展開したdirectroty の bin の下 mailserver # chmod +x ./phoenix.sh ./run.bat ./run.sh mailserver # cd /opt/james-2.3.2/apps/james/SAR-INF mailserver # vi config.xml 多少難解ですが config.xml を環境に合わせて設定します。 ... <config><james> <servernames autodetect="true" autodetectIP="true"> <servername>localhost</servername> <servername>maiil.sun.com</servername> <servername>sun.com</servername> </servernames> ... <dnsserver> <servers> <server>192.168.10.120</server> <- DNSに MX の記述があれば @domain に変換 <server>127.0.0.1</server> </servers> ... mailserver # cd /opt/james-2.3.2/bin mailserver # export JAVA_HOME=/usr/java mailserver # export PHOENIX_HOME=/opt/james-2.3.2 mailserver # ./run.sh James の起動
  • 18.
    MAILサーバの設定(2) くろまる James Mail Server のための必要な設定 mailserver # su – build1 build1@mailserver:~$ telnet localhost 4555 James の設定には ポート4555 に telnet する Trying ::1... Connected to localhost. Escape character is '^]'. JAMES Remote Administration Tool 2.3.2 Please enter your login and password Login id: root Password: root Welcome root. HELP for a list of commands adduser build1 build1 build1 というユーザ名と build1 用の build1 というパスワードを追加 User build1 added quit これでデモ仮想環境の sun.com というローカルドメイン内では、 POP3 server : mail.sun.com, SMTP Server: mail.sun.com と設定することで Mail Client (thunderbird とか)から使用可能になります。 DNSサーバとの連系で、build1@sun.com に送られたメールも build1@mail.sun.com と同じように処理されま す。尚、メールのバケツリレーのための設定はしてませんので、ドメイン外部へのメールの送受信はこの状態では不可。
  • 19.
    ブログサーバの設定(1) くろまる 簡単に設定できるので Wordpress を使用しています。 <blogserver zone の作成は他と同じなので省略します> blogserver # pkg install amp amp クラスタ (Apache, MySQL, PHP)を追加インストールします。 blogserver # cd /var/tmp blogserver # wget http://ja.wordpress.org/wordpress-3.3.1-ja.tar.gz blogserver # cd /var/apache2/2.2/htdocs blogserver # gtar -xvf /var/tmp/wordpress-3.3.1-ja.tar.gz blogserver # cd wordpress blogserver # cp wp-config-sample.php wp-config.php blogserver # vi wp-config.php 下記3行だけ書き換える この例では user wp, passowd wp define('DB_NAME', 'wordpress'); define('DB_USER', 'wp'); define('DB_PASSWORD', 'wp'); blogserver # svcadm enable svc:/network/http:apache22 blogserver # svcadm enable svc:/application/database/mysql:version_51
  • 20.
    ブログサーバの設定(2) くろまる 簡単に設定できるので Wordpress を使用しています。 blogserver # svcadm enable svc:/application/database/mysql:version_51 blogserver # /usr/mysql/bin/mysql -u root > create database wordpress; > grant all privileges on wordpress.* to wp@localhost identified by 'wp'; > flush privileges ; > quit ; blogserver # svcadm restart svc:/network/http:apache22 あとは ブラウザから http://localhost/wordpress/ にアクセスして各種設定を行います デモ仮想環境では、 http://blogs.sun.com/hara/ で私のブログが参照できます。
  • 21.
    Firewall くろまるGlobalZone 上に新たな subnet を構築する場合は、仮想スイッチを作 成します。また、subnet 間には router を設置し、その router に ipfilter でファイアフォール化することで subnet のアクセス制御ができます。 # dladm create-etherstub sw0 # cat /zones/cfgs/firewall create -b set zonepath=/zones/firewall set autoboot=true set ip-type=exclusive add net set physical=fire0 end add net set physical=fire1 router や firewall では VNIC を2個設定しておきます end # dladm create-vnic -l sw0 fire0 # dladm create-vnic -l jmge0 fire1 # zoneadm -z firewall clone basezone # zoneadm -z firewall boot # zlogin -C firewall <各設定は省略> # zlogin firewall
  • 22.
    Firewallの設定(1) くろまる ipfilter のための必要な設定 firewall # ipadm show-addr ADDROBJ TYPE STATE ADDR lo0/v4 static ok 127.0.0.1/8 fire0/_a static ok 192.168.100.1/24 fire1/_a static ok 192.168.10.10/24 lo0/v6 static ok ::1/128 firewall # /usr/sbin/routeadm -e ipv4-forwarding firewall # /usr/sbin/routeadm -u firewall # ifconfig fire0 router firewall # ifconfig fire1 router firewall # cat /etc/ipf/ipnat.conf map fire1 192.168.100.0/24 -> 0/32 portmap tcp/udp auto map fire1 192.168.100.0/24 -> 0/32 firewall # svccfg -s ipfilter:default setprop firewall_config_default/policy = astring: "custom" firewall # svccfg -s ipfilter:default setprop firewall_config_default/custom_policy_file = astring: "/etc/ipf/ipf.conf" firewall # svcadm refresh ipfilter:default (Tips) Default では、/etc/ipf/ipf.conf の設定を参照するようにはなってないので、この設定が必要です。
  • 23.
    Firewallの設定(2) くろまる ipfilter のための必要な設定 firewall # cat /etc/ipf/ipf.conf # See ipf(4) manpage for more information on # IP Filter rules syntax. pass out quick on lo0 pass in quick on lo0 # block in log quick on fire1 all with opt lsrr block in log quick on fire1 all with opt ssrr block in log quick from any to any with ipopts block in log quick on fire1 proto tcp all with short # #block out log on fire1 all この例では何もブロックしてない #block in log on fire1 all firewall # svcadm enable ipfilter:default firewall # ipfstat bad packets: in 0 out 0 IPv6 packets: in 0 out 0 input packets: blocked 0 passed 23348 nomatch 23348 counted 0 short 0 output packets: blocked 0 passed 15293 nomatch 15293 counted 0 short 0 ... Result cache hits(in): 15615 (out): 8646 IN Pullups succeeded:0 failed: 0 OUT Pullups succeeded: 0 failed: 0
  • 24.
    その他サーバや環境設定 くろまる 説明は省略しますが、他にも下記ようなサーバを設定しています。 くろまる pkgserver : /var/pkglocal の下に pkgrecv コマンドを使って OpenIndiana 151a のリポジトリを丸ごとコピーしています。デモ仮 想環境では、pkgs.sun.com でアクセスでき、local domain 内で は、publisher に pkgs.sun.com を指定することでインターネットに接 続なしに追加 package install が可能です。 くろまる cbe 1~ 3 (non-gui), test1~ test4 (GUI) 今年2月と3月に行われた OpenSolaris ハッカソンの build 環境を zone で構築しています。 くろまる rubyonrails: netbeans, ruby on rails で web 開発環境を zone で 構築しています。
  • 25.
    Tips(2) sysidcfg ファイル くろまる Zone インストール後の system config 設定を省略する方法 # cat /zones/sysidsfgs/sample_sysidcfg erminal=vt100 security_policy=NONE network_interface=primary { hostname=basezone netmask=255.255.255.0 protocol_ipv6=no ip_address=192.168.10.100 netmask=255.255.255.0 default_route=192.168.10.254 } security_policy=NONE name_service=DNS {domain_name=sun.com name_server=192.168.10.120 search=sun.com } nfs4_domain=dynamic timezone=Japan root_password=AAZ14d3MmkU6U # cp sample_sysidcfg /zones/xxxserver/root/etc/sysidcfg サンプルのような sysidcfg を作成して、zone 複製後、 初期起動前に /etc/sysidcfg に置くと、初期起動時の system configuration 設定を省略させることができます。
  • 26.
    まとめ くろまる CrossBow や Zone のオーバーヘッドは意外にも小さく、こんな小さ な PC でも仮想ネットワークは構築できちゃいます。 くろまる 遊園地をひとりで貸切っているようなもので、シングルユーザで使用 する分には負荷も少ないです くろまる 数十個の Zone を構築しているのに、ZFS のおかげでディスク使用 量こんな程度です。 # zpool list NAME SIZE ALLOC FREE EXPANDSZ CAP DEDUP HEALTH ALTROOT pool 149G 10.6G 138G - 7% 1.51x ONLINE - rpool 74G 16.3G 57.7G - 22% 1.00x ONLINE - くろまる Zone の自由度は高く、インストールや設定で Zone の制限を感 じることはほとんどありません。ネットワークの学習には最適です

AltStyle によって変換されたページ (->オリジナル) /