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 #
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 と同じように処理されま
す。尚、メールのバケツリレーのための設定はしてませんので、ドメイン外部へのメールの送受信はこの状態では不可。
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