お家でUnboundつかってISPのDNSポイズニングから逃れてみる

数年前の話題だが、児童ポルノ法の施工に伴って、ISPのDNSキャッシュ汚染が常習的に行われるようになったのですが、
そんな自由を侵すようなリゾルバは使ってられないということ(嘘)で自宅にもUnboundを導入してみました。

※本当は自宅サービスサーバのユーザが増えてきたので、何となくLAN内でリゾルバを持ちたくなっただけ。

0. 運用環境

OS : Ubuntu 10.04 LTS
HW : HP Proliant MicroServer

1. apt-get で インストール

ゆとり世代なのでapt-getでインストール。
apt 簡単でいいね。

micro# apt-get install unbound

2. ルートヒントファイルをダウンロードしておく

これがないと、どこに聞きに行くのかわからない。はず。(なくても名前解決できたけどね。)

micro# cd /etc/unbound && wget ftp://FTP.INTERNIC.NET/domain/named.cache

3. confを目的・環境に合わせて書き換える

自分の場合は自宅内のローカルからのみ名前解決できるようするのが目的だったので、
以下の箇所を書き換えた。ちなみにIPv6を使わない場合はv6系の項目は無視しておk

micro# diff -u unbound.conf.def unbound.conf
— unbound.conf.def    2012-04-14 16:33:20.268064334 +0900
+++ unbound.conf        2012-04-14 16:47:19.748193075 +0900
@@ -34,7 +34,10 @@
# specify 0.0.0.0 and ::0 to bind to all available interfaces.
# specify every interface[@port] on a new ‘interface:’ labelled line.
# The listen interfaces are not changed on reload, only on restart.
–       # interface: 192.0.2.153
+       interface: 127.0.0.1
+       interface: 192.168.0.128
+       interface: ::1
+       interface: 240f:1:33f2:1::cafe
# interface: 192.0.2.154
# interface: [email protected]
# interface: 2001:DB8::5
@@ -44,7 +47,7 @@
# interface-automatic: no

# port to answer queries from
–       # port: 53
+       port: 53

# specify the interfaces to send outgoing queries to authoritative
# server from by ip-address. If none, the default (all) interface
@@ -116,7 +119,7 @@

# the time to live (TTL) value cap for RRsets and messages in the
# cache. Items are not cached for longer. In seconds.
–       # cache-max-ttl: 86400
+       cache-max-ttl: 86400

# the time to live (TTL) value for cached roundtrip times and
# EDNS version information for hosts. In seconds.
@@ -137,16 +140,16 @@
# infra-cache-lame-size: 10k

# Enable IPv4, “yes” or “no”.
–       # do-ip4: yes
+       do-ip4: yes

# Enable IPv6, “yes” or “no”.
–       # do-ip6: yes
+       do-ip6: yes

# Enable UDP, “yes” or “no”.
–       # do-udp: yes
+       do-udp: yes

# Enable TCP, “yes” or “no”.
–       # do-tcp: yes
+       do-tcp: yes

# Detach from the terminal, run in background, “yes” or “no”.
# do-daemonize: yes
@@ -157,9 +160,11 @@
# Choose deny (drop message), refuse (polite error reply),
# allow (recursive ok), allow_snoop (recursive and nonrecursive ok)
# access-control: 0.0.0.0/0 refuse
–       # access-control: 127.0.0.0/8 allow
+       access-control: 127.0.0.0/8 allow
+       access-control: 192.168.0.0/24 allow
# access-control: ::0/0 refuse
–       # access-control: ::1 allow
+       access-control: ::1 allow
+       access-control: 240f:1:33f2:1::0/64 allow
# access-control: ::ffff:127.0.0.1 allow

# if given, a chroot(2) is done to the given directory.
@@ -214,7 +219,7 @@

# file to read root hints from.
# get one from ftp://FTP.INTERNIC.NET/domain/named.cache
–       # root-hints: “”
+       root-hints: “/etc/unbound/named.cache”

# enable to not answer id.server and hostname.bind queries.
# hide-identity: no
@@ -437,27 +442,27 @@
remote-control:
# Enable remote control with unbound-control(8) here.
# set up the keys and certificates with unbound-control-setup.
–       # control-enable: no
+       control-enable: yes

# what interfaces are listened to for remote control.
# give 0.0.0.0 and ::0 to listen to all interfaces.
–       # control-interface: 127.0.0.1
–       # control-interface: ::1
+       control-interface: 127.0.0.1
+       control-interface: ::1

# port number for remote control operations.
–       # control-port: 953
+       control-port: 953

# unbound server key file.
–       # server-key-file: “/etc/unbound/unbound_server.key”
+       server-key-file: “/etc/unbound/unbound_server.key”

# unbound server certificate file.
–       # server-cert-file: “/etc/unbound/unbound_server.pem”
+       server-cert-file: “/etc/unbound/unbound_server.pem”

# unbound-control key file.
–       # control-key-file: “/etc/unbound/unbound_control.key”
+       control-key-file: “/etc/unbound/unbound_control.key”

# unbound-control certificate file.
–       # control-cert-file: “/etc/unbound/unbound_control.pem”
+       control-cert-file: “/etc/unbound/unbound_control.pem”

# Stub zones.
# Create entries like below, to make all queries for ‘example.com’ and
micro#

4. リモートコントロールできるようにする

unbound-control を使えるようにするために秘密鍵、公開鍵を生成。
unbound-control は BIND でいうところの rndc ですね。

# unbound-control-setup
setup in directory /etc/unbound
generating unbound_server.key
Generating RSA private key, 1024 bit long modulus
………………..++++++
………………………….++++++
e is 65537 (0x10001)
generating unbound_control.key
Generating RSA private key, 1024 bit long modulus
……….++++++
..++++++
e is 65537 (0x10001)
create unbound_server.pem (self signed certificate)
create unbound_control.pem (signed client certificate)
Signature ok
subject=/CN=unbound-control
Getting CA Private Key
Setup success. Certificates created. Enable in unbound.conf file to use
micro#

5. Unboundを再起動する

micro# /etc/init.d/unbound restart
* Restarting recursive DNS server unbound                                                                       [ OK ]
micro#

6. 名前解決ができるか確認

とりあえずローカルホストから確認。
LAN内のほかのホストからも確認した方が良い。

micro# dig @localhost mykw.jp

; <<>> DiG 9.7.0-P1 <<>> @localhost mykw.jp
; (2 servers found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 13101
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 4

;; QUESTION SECTION:
;mykw.jp.                       IN      A

;; ANSWER SECTION:
mykw.jp.                180     IN      A       180.222.80.63

;; AUTHORITY SECTION:
mykw.jp.                180     IN      NS      ns0.mykw.jp.
mykw.jp.                180     IN      NS      ns1.mykw.jp.

;; ADDITIONAL SECTION:
ns0.mykw.jp.            180     IN      A       49.212.22.200
ns0.mykw.jp.            180     IN      AAAA    2001:e41:31d4:16c8::1
ns1.mykw.jp.            180     IN      A       183.181.172.61
ns1.mykw.jp.            180     IN      AAAA    2001:2e8:603:0:2:1:0:3d

;; Query time: 15 msec
;; SERVER: ::1#53(::1)
;; WHEN: Sat Apr 14 17:00:02 2012
;; MSG SIZE  rcvd: 165

micro#

7. リモートコントロールの動作確認

ステータスが取れれば成功

micro# unbound-control status
version: 1.4.1
verbosity: 1
threads: 1
modules: 2 [ validator iterator ]
uptime: 4 seconds
unbound (pid 5050) is running…
micro#

 

これでISPのDNSポイズニングから抜け出せますね。

めでたしめでたし

 

参考資料・サイト

日本Unboundユーザ会 http://unbound.jp/

 

dnsperf で DNS DoS(違) ベンチマーク

大先生に教わりながら仕事で使ったので忘備録

 

0. 検証環境

筐体:IBM System X3550M2
OS:Ubuntu Server 11.10

 

1. 必要そうなパッケージを入れる

mykw# apt-get install bind9utils libbind-dev libkrb5-dev libssl-dev libcap-dev libxml2-dev gnuplot

GNU Plotは resperf-report するときに使うのかな。

2. ソースを拾って展開して make


mykw# wget ftp://ftp.nominum.com/pub/nominum/dnsperf/1.0.1.0/dnsperf-src-1.0.1.0-1.tar.gz

mykw# tar xzf dnsperf-src-1.0.1.0-1.tar.gz && cd dnsperf-src-1.0.1.0-1

mykw# ./configure prefix=/usr/local

mykw# make && make install

 

3. 実行してみる

初めに以下のようなリストを作る

mykw# cat domainlist

www.wktk.so A
yutarommx.com A

 

クエリー飛ばす先と、リストファイル名、実行時間を引数に入れて実行。


mykw# dnsperf -s ${DIST}  -d ${domainlist} -l ${exectime}

mykw# dnsperf -s 192.168.10.139  -d domainlist -l 60

 

ほかにもいろいろオプションがある模様。


mykw# dnsperf –help

DNS Performance Testing Tool

Nominum Version 1.0.1.0

dnsperf: invalid option — ‘-‘

Usage: dnsperf [-d datafile] [-s server_addr] [-p port]
               [-b bufsize] [-f family] [-e] [-D]
               [-y name:secret] [-v] [-A] [-h]
               [-q num_queries] [-t timeout] [-Q max_qps] [-1] [-l limit]
               [-c] [-H histogram_buckets] [-T histogram_seconds] [-u]
  -d specifies the input data file (default: stdin)
  -s sets the server to query (default: 127.0.0.1)
  -p sets the port on which to query the server (default: 53)
  -b set socket send/receive buffer size in kilobytes (default: 32 k)
  -f specify address family of DNS transport, inet or inet6 (default: any)
  -e enable EDNS 0
  -D set the DNSSEC OK bit (implies EDNS)
  -y specifies the TSIG name and secret (no default)
  -A report command-line arguments
  -h print this usage
  -q specifies the maximum number of queries outstanding (default: 20)
  -t specifies the timeout for query completion in seconds (default: 5)
  -Q limit the number of queries per second (no default)
  -1 run through input only once (default: multiple iff limit given)
  -l specifies how a limit for how long to run tests in seconds (no default)
  -c print the number of packets with each rcode
  -H print a response latency histogram with this many buckets
  -T include latencies up to this many seconds in histogram (use with -H)
  -u send dynamic updates instead of queries
  -v verbose: report the RCODE of each response on stdout

 

 5. 実行結果

mykw# dnsperf -s dti.mykw.jp -d domainlist -l 30

DNS Performance Testing Tool

Nominum Version 1.0.1.0

[Status] Processing input data
[Status] Sending queries (to 2001:2e8:603:0:2:1:0:3d)
[Status] Testing complete

Statistics:

Parse input file:     multiple times
Run time limit:       30 seconds
Ran through file:     12836 times

Queries sent:         25672 queries
Queries completed:    25672 queries
Queries lost:         0 queries

Avg request size:     28 bytes
Avg response size:    175 bytes

Percentage completed: 100.00%
Percentage lost:        0.00%

Started at:           Thu Mar 15 02:04:21 2012
Finished at:          Thu Mar 15 02:04:51 2012
Ran for:              30.113407 seconds

Queries per second:   852.510644 qps

mykw#

 

ちなみに、マルチコアな筐体で動かく場合はコア分並行して実行しないと全力投球できない模様。
そのような場合は screen を使うか、シェルスクリプト等で対応する形になるもよう。

Ubuntu 10.04 で quota メモ

インストール

[email protected]:/# apt-get install quota quotatool

fstab編集

[email protected]:/# vi /etc/fstab

“/etc/fstab” 12 lines, 681 characters
# /etc/fstab: static file system information.
#
# Use ‘blkid -o value -s UUID’ to print the universally unique identifier
# for a device; this may be used with UUID= as a more robust way to name
# devices that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    nodev,noexec,nosuid 0       0
# / was on /dev/vda1 during installation
UUID=c65156da-fd9f-4694-a3a3-cba8dd1db6bf /               ext4    errors=remount-ro,usrquota,grpquota 0       1
# swap was on /dev/vda5 during installation
UUID=2c8d9c41-c46a-4906-a633-cfd7be97d018 none            swap    sw              0       0

再マウント

[email protected]:/# mount -o remount /dev/vda1

wktk# mount
/dev/vda1 on / type ext4 (rw,errors=remount-ro,usrquota,grpquota)
proc on /proc type proc (rw,noexec,nosuid,nodev)
none on /sys type sysfs (rw,noexec,nosuid,nodev)
none on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
none on /dev type devtmpfs (rw,mode=0755)
none on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
none on /dev/shm type tmpfs (rw,nosuid,nodev)
none on /var/run type tmpfs (rw,nosuid,mode=0755)
none on /var/lock type tmpfs (rw,noexec,nosuid,nodev)
none on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
none on /var/lib/ureadahead/debugfs type debugfs (rw,relatime)

クオータの有効化

[email protected]:/# quotaon -p /dev/vda1
group quota on / (/dev/vda1) is on
user quota on / (/dev/vda1) is on
[email protected]:/# quota

[email protected]:/# quotaon -avug
/dev/vda1 [/]: group quotas turned on
/dev/vda1 [/]: user quotas turned on
[email protected]:/#

ファイルの所有権チェック

[email protected]:/# quotacheck -avugm
quotacheck: Your kernel probably supports journaled quota but you are not using it. Consider switching to journaled quot
a to avoid running quotacheck after an unclean shutdown.
quotacheck: WARNING – Quotafile //quota.user was probably truncated. Cannot save quota settings…
quotacheck: WARNING – Quotafile //quota.group was probably truncated. Cannot save quota settings…
quotacheck: Scanning /dev/vda1 [/] done
quotacheck: Checked 11909 directories and 76257 files
[email protected]:/#

 

クオータの状況確認

wktk# repquota -a
*** Report for user quotas on device /dev/vda1
Block grace time: 7days; Inode grace time: 7days
Block limits                File limits
User            used    soft    hard  grace    used  soft  hard  grace
———————————————————————-
root      — 1502740       0       0          78726     0     0

・・・(略)
wktk0002  —     120       0       0             14     0     0
wktk0003  —   51552       0       0           2517     0     0
wktk0004  —   47432       0       0           1168     0     0
wktk0005  —     860       0       0             82     0     0
・・・(略)
wktk#

 

クオータのDB更新

wktk# quotacheck -m -a

クオータテンプレートの適用

wktk# edquota -p tempuser wktk0003

 

 

[email protected]をdebian 5.0から6.0へアップグレード

何かと某掲示板で話題の絶えない [email protected] ですが、ベータ版のころからお付き合いして早2年。
Disk I/Oはもうご愛嬌といった感じでしょう。価格とクオリティの両立って難しいですね。

でもって、久々に暇だったので弄ってみました。

今回は Ubuntu 10.10 server のサポート切れということもあり、OSを変更してみました。
※ do-release-upgrade すればいい話なのですが、うまく動かなかったもので・・・

で、さっそくDTIのコンパネから初期化・OS変更をかけてみました。

ちなみに、[email protected]のコンパネのOS選択画面はこんな感じです。
バージョンがわからないじゃないですか・・・

とりあえず、debian (64bit)を選択。
数十分経ってSSHで繋いでみると・・・

dti# cat /etc/debian_version
5.0.9
dti#

ウホッw lenny ってあと2ヶ月ぐらいでサポート切れるじゃないですがw
このまま使うの心もとないということで、6.o squeeze にバージョンアップしてみました。
自分の忘備録もかねて手順を記します。

1. aptの参照ソース変更

エディタで sources.list を編集。
s/lenny/squeeze/g  といった感じですかね。
それと、エラーが出るので2行目をコメントアウト。

dti# vi /etc/apt/sources.list

deb http://ftp.jp.debian.org/debian/ squeeze main contrib non-free
#deb http://ftp.jp.debian.org/debian-volatile/ squeeze/volatile main contrib non-free
deb http://security.debian.org/ squeeze/updates main contrib non-free
~

2. 気合で apt-get update / upgrade する

apt-get update / upgrade 中にconfを最新版に置き換えていいかとか聞いてくるので、
支障がなさそうなconfは全部最新版に上げる。

dti# apt-get update
Get:1 http://security.debian.org squeeze/updates Release.gpg [836B]
Get:2 http://ftp.jp.debian.org squeeze Release.gpg [1672B]

(略)confを最新版に置き換えていいかとか聞かれる

dti# apt-get upgrade
Reading package lists… Done
Building dependency tree
Reading state information… Done
The following packages have been kept back:
apache2 apache2-mpm-prefork apache2.2-common apt apt-utils bash bind9 bind9utils binutils cpio cron debianutils
dhcp3-client dhcp3-common diff dpkg e2fsprogs ed expect findutils ftp gcc-4.3-base gnupg gpgv grep groff groff-base

(略)confを最新版に置き換えていいかとか聞かれる

dti#

 

3. バージョン上がったか恐る恐る確認する

6.0.xになってれば成功?かな。

dti# cat /etc/debian_version
6.0.3
dti#

ちなみにカーネルはOpenVZなので、ホストOSのバージョンに依存します・・・
つまり、上がりません。

dti# uname -a
Linux dti.mykw.jp 2.6.18-164.15.1.el5.028stab068.9 #1 SMP Tue Mar 30 18:07:38 MSD 2010 x86_64 GNU/Linux
dti#

残念!

 

4. いらない子のお掃除 & 再起動

いらない子をお掃除してディスクを節約。

dti# apt-get autoremove
Reading package lists… Done
Building dependency tree
Reading state information… Done
The following packages will be REMOVED:
libbind9-50
0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
After this operation, 81.9 kB disk space will be freed.
Do you want to continue [Y/n]? y
(Reading database … 28104 files and directories currently installed.)
Removing libbind9-50 …
dti# shutdown -r now

Broadcast message from [email protected] (pts/4) (Sun Jan 22 21:54:51 2012):
The system is going down for reboot NOW!

再起動を待つこと十分程度・・・・
なんでこんなに遅いんだろ。オーバーヘッドの少ないOpenVZなのに・・・

とりあえず、以上で作業は終了。
簡単でしたが、VMが遅すぎて1日仕事でした。
せっかくIPv6もネイティブでサポートしてるので早く改善されることを願うばかりです。

 

’09 YZF-R6のお漏らし(水漏れ)修理

購入から1年半ほど経過したYZF-R6ですが、夏を過ぎたあたりから乗るたびに甘い香りがするなと感じておりましたが
年末の大洗車を機にカウルを外してエンジン回りを注意深く観察してみました。
前に乗っていホーネット250も同じ香りがしていたのですが、その時はサーモスタットあたりのホースを止めるバンドが
強度不足で水漏れを起こしていたので対策品に変えて収束。

ん!!!!?

左サイドのホースから冷却水が漏れています。
これぐらいならバンドを締めれば治るだろうということで締めて治りました。

さらに注意深く見てみると、エキパイとエンジンの間にもホースが通ってるなぁ

ん!!!!!!?

キャーーーーーーーーーーーーーー!!!

かなり派手に流血してますね・・・
ということで、ここもバンドを締めてみるがまったく流血が収まらないのでホースのゴムがダメになってしまったのかなと推測。
行きつけのバイク屋(元職場)で部品を調達しました。逆輸入車でも普通にYAMAHAの代理店で注文ができるんですな。

 パーツNo:2CO-12577-00
価格: \700

ホース自体はそんなに高くないんですが、場所的に結構手間がかかりそうなのでイヤイヤ作業に取り掛かった。
まずは、冷却水を抜きますかね。

 

とりあえず、右側のカウルをすべて外してラジエターのキャップまでが見える状態にしておきましょう。
エンジンの下ちょうどクラッチワイヤがきているあたりにウォーターポンプがあるのでここのドレンボルトを外して
ラジエターキャップを外すと勢いよく冷却水が飛び出てきます。結構飛び跳ねるので注意。

冷却水を抜き終わってホースを外してパイプの繋ぎ目を見てみるとなんか汚い。錆びている様子。

こんな状態で新しいホース刺してもまた水が漏れるなと思い、めんどくさがりながらもパイプを外す。

汚いのでワイヤーブラシで磨いてみた。

こういう地道な作業が意外に大好きです。やり始めたら止まりません。
そしてきれいになりました。

パイプがきれいになったので繋ぎ目にグリスを軽く塗ってパパッと組んじゃいました。

そして、このままエンジンをかけると空冷エンジンになってしまうので、冷却水を注入。
WAKO’Sとかよさげな冷却水でも入れてあげようかと思ったのですが、今回は無難にYAMAHA純正をチョイス。

品名:YAMAHA ヤマルーブ ロングライフクーラント
価格:\1300

ん?抜いた時の冷却水は黄緑色だったけどこの冷却水は青いぞ!?まぁ、細かいことは気にしないで注入。
サーモスタットの蓋を開けながらエンジンを開けて軽くエア抜きをしてキャップを締める。

とりあえず、カウルを外した状態でテスト走行・16k回転まで回してみたりしたが特に冷却水が
漏れいている様子はないので治ったとみなしましょう。

あぁ。寒くないガレージがほしいな。

 

Cloud Core VPS の Unixbench/ddベンチの結果

いろいろと所縁の深いKDDI Web CommunicationsのCloud Core VPSでUnixbenc測ってみました。
CPUはOpteron 1Core/メモリは2GB/ストレージは100GB カタログスペックper価格の比は最安なんじゃないんでしょうか?
ただし、さくらのVPSと比較してしまうと以下の点が劣って見えてしまいます。

・PTRレコードを任意のホスト名で設定できない

・現状ではOSを選べない(CentOS5.x)

・リモートコンソールがない

・リソースモニタがない

逆引きを除いて、これらの機能は今後拡張する予定とのことなので
”客観的に”みるとしばらく様子を見るといった感じでしょうかね。

CloudCore VPS|KDDIウェブコミュニケーションズ
http://www.cloudcore.jp/vps/

ちなみにddベンチに関しては過去に競合各社のベンチをとっているので
比較なんかしてみるといいかも?
http://blog.mykw.jp/?p=238

dd ベンチの結果

[[email protected] yutaro]# dd if=/dev/zero of=./hoge bs=1M count=5000
5000+0 records in
5000+0 records out
5242880000 bytes (5.2 GB) copied, 36.609 seconds, 143 MB/s
[[email protected] yutaro]#

Unixbenchの結果

#    #  #    #  #  #    #          #####   ######  #    #   ####   #    #
#    #  ##   #  #   #  #           #    #  #       ##   #  #    #  #    #
#    #  # #  #  #    ##            #####   #####   # #  #  #       ######
#    #  #  # #  #    ##            #    #  #       #  # #  #       #    #
#    #  #   ##  #   #  #           #    #  #       #   ##  #    #  #    #
####   #    #  #  #    #          #####   ######  #    #   ####   #    #

Version 5.1.2                      Based on the Byte Magazine Unix Benchmark

Multi-CPU version                  Version 5 revisions by Ian Smith,
Sunnyvale, CA, USA
December 22, 2007                  johantheghost at yahoo period com

1 x Dhrystone 2 using register variables  1 2 3 4 5 6 7 8 9 10

1 x Double-Precision Whetstone  1 2 3 4 5 6 7 8 9 10

1 x Execl Throughput  1 2 3

1 x File Copy 1024 bufsize 2000 maxblocks  1 2 3

1 x File Copy 256 bufsize 500 maxblocks  1 2 3

1 x File Copy 4096 bufsize 8000 maxblocks  1 2 3

1 x Pipe Throughput  1 2 3 4 5 6 7 8 9 10

1 x Pipe-based Context Switching  1 2 3 4 5 6 7 8 9 10

1 x Process Creation  1 2 3

1 x System Call Overhead  1 2 3 4 5 6 7 8 9 10

1 x Shell Scripts (1 concurrent)  1 2 3

1 x Shell Scripts (8 concurrent)  1 2 3

========================================================================
BYTE UNIX Benchmarks (Version 5.1.2)

System: ccvps.mykw.jp: GNU/Linux
OS: GNU/Linux — 2.6.18-274.7.1.el5 — #1 SMP Thu Oct 20 16:21:01 EDT 2011
Machine: x86_64 (x86_64)
Language: en_US.utf8 (charmap=”UTF-8″, collate=”UTF-8″)
CPU 0: AMD Phenom(tm) 9550 Quad-Core Processor (4400.8 bogomips)
x86-64, MMX, AMD MMX, Physical Address Ext, SYSENTER/SYSEXIT, AMD virtualization, SYSCALL/SYSRET
01:32:11 up 4 min,  2 users,  load average: 0.01, 0.09, 0.05; runlevel 3

————————————————————————
Benchmark Run: Thu Nov 17 2011 01:32:11 – 02:00:02
1 CPU in system; running 1 parallel copy of tests

Dhrystone 2 using register variables        8842083.6 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                     1900.4 MWIPS (9.8 s, 7 samples)
Execl Throughput                               3415.6 lps   (30.0 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        657083.0 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks          205984.6 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks        826868.3 KBps  (30.0 s, 2 samples)
Pipe Throughput                             1877406.2 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                 310101.4 lps   (10.0 s, 7 samples)
Process Creation                               7311.9 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   4047.4 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                    561.2 lpm   (60.1 s, 2 samples)
System Call Overhead                        2585518.8 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0    8842083.6    757.7
Double-Precision Whetstone                       55.0       1900.4    345.5
Execl Throughput                                 43.0       3415.6    794.3
File Copy 1024 bufsize 2000 maxblocks          3960.0     657083.0   1659.3
File Copy 256 bufsize 500 maxblocks            1655.0     205984.6   1244.6
File Copy 4096 bufsize 8000 maxblocks          5800.0     826868.3   1425.6
Pipe Throughput                               12440.0    1877406.2   1509.2
Pipe-based Context Switching                   4000.0     310101.4    775.3
Process Creation                                126.0       7311.9    580.3
Shell Scripts (1 concurrent)                     42.4       4047.4    954.6
Shell Scripts (8 concurrent)                      6.0        561.2    935.3
System Call Overhead                          15000.0    2585518.8   1723.7
========
System Benchmarks Index Score                                         963.5

メモ Ubuntu 10.04 でnologinなFTP環境を作りたいとき

FTP接続はできてSSHできないユーザーを作りたいときは

/usr/sbin/nologin

をログインシェルにする。

useradd “$USERID” -m -k /etc/wktk_skel -g 1001 -p `perl -e “print(crypt(‘$PASSWD’, ’64’));”` -s /usr/sbin/nologin

これだけではFTPでログインできないので

/etc/shells

/usr/sbin/nologin を追記する。

[email protected]:/home/yutaro/scripts# cat /etc/shells
# /etc/shells: valid login shells
/bin/csh
/bin/sh
/usr/bin/es
/usr/bin/ksh
/bin/ksh
/usr/bin/rc
/usr/bin/tcsh
/bin/tcsh
/usr/bin/esh
/bin/dash
/bin/bash
/bin/rbash
/usr/bin/screen
/usr/sbin/nologin

これでFTP接続はできてSSHできないユーザー環境が出来上がり。

参考文献:https://help.ubuntu.com/10.04/serverguide/C/ftp-server.html

メモ Ubuntu 10.04 でsuPHPを使うと出るエラー

Ubuntu 10.04 でsuPHPを使うと下記のエラーが Apache のエラーログに残る。

 

[Sun Aug 07 16:50:16 2011] [error] [client 192.168.0.100] PHP Deprecated:  Comments starting with ‘#’ are deprecated in /etc/php5/cgi/conf.d/imagick.ini on line 1 in Unknown on line 0, referer: http://wktk.so/

[Sun Aug 07 16:50:02 2011] [error] [client ::1] PHP Deprecated:  Comments starting with ‘#’ are deprecated in /etc/php5/cgi/conf.d/imagick.ini on lin
e 1 in Unknown on line 0

 

原因は単純。

 

[email protected]:/etc/php5# vi /etc/php5/cgi/conf.d/imagick.ini

# configuration for php imagick module ←こいつ
extension=imagick.so

 

#でコメントアウトされていて文法エラー。

消してあげると治ります。

apt-getしたものなにの・・・

Xperia mini pro (SK17i) を買ってみた!

Xperia X10 mini proが発売されて早1年が経過しました。

Android 2.1 (Eclair) へのアップデートなどがリリースされて多少延命がされたかと思ったのはつい最近の話のような気がしましたが、
いつの間にか2.2(Froyo)そして2.3(Gingerbread)とリリースラッシュの波にハードウェアスペックもついていけなくなったかなと思い始めた今日この頃。

ソニエリは隠し玉を出してきました!

X  p  e  r  i  a         m  i   n   i          p  r  o  ドーン!!!

海外のショップ1shopmobileに掲載されたのに気づき速攻でポリちました。

軽くインプレしておきます。

■良い点

・安い(注文時2011年7月26日で$299)

・解像度が高い(HVGA)

・上下キーがついた(十字キー)

・バッテリーが大容量になった

・アプリ領域がでかくなった

・日本語のロケールが入っている(日本語表示可能)

・PoBOXが入っている(日本語入力可能)

・新ホーム画面がかなり使いやすい上、画面効果が一層カッコよくなった。

 

■悪い点

・デフォルトがCJKフォントで漢字が一部おかしい

・重い

・一回り大きくなったので、タッチパネルの端っこから対局の端っこに親指が届かない

・bmobile U300を使うとタスクバーに「通信サービスなし」と表示されてウザい

・完成度が高すぎて自分の会社で2名ほど購入した人がいる

・Xperia X10 mini proで慣れ親しんだキーボード配列と微妙に違うので入力の際にイライラする

・MicroUSBのポートカバーが使っているうちに取れちゃいそう

ぱっと思いついたのはこれぐらいですかね。

総じて言うとカナリ良い!

簡単系rootedツールが出るのを待って、フォントを入れ替えるのと、
次回アップデートでbmobile SIMとの相性が解消されれば文句はないですね。
一瞬メインで使っているauのXminiをSBにMNPして黒SIMを入手しようかと考えてしまったほどです。

おっと。最後に言っておきます。
電源を入れたのは日本ではありません(ry

 

各社VPSのDisk I/Oベンチ結果

各社VPSのDisk I/Oのベンチマーク結果メモ。

やっつけ仕事の一発勝負なので、データーの精度は低いです。

 

DTI [email protected] Entry Plan (OpenVZ)

[[email protected] ~yutaro]# dd if=/dev/zero of=./hoge bs=1M count=5000
5000+0 records in
5000+0 records out
5242880000 bytes (5.2 GB) copied, 15.619 seconds, 336 MB/s


KAGOYA CLOUD beta (OpenVZ)

[[email protected] ~]$ dd if=/dev/zero of=./hoge bs=1M count=5000
5000+0 records in
5000+0 records out
5242880000 bytes (5.2 GB) copied, 7.7601 seconds, 676 MB/s


CPI VPS Scalable Plan VP-01 (Virtuozzo)

[[email protected] ~]# dd if=/dev/zero of=./hoge bs=1M count=5000
5000+0 records in
5000+0 records out
5242880000 bytes (5.2 GB) copied, 25.3772 seconds, 207 MB/s


さくらのVPS 512 (KVM)

[[email protected] yutaro]# dd if=/dev/zero of=./hoge bs=1M count=5000
5000+0 records in
5000+0 records out
5242880000 bytes (5.2 GB) copied, 137.927 seconds, 38.0 MB/s

 

ウチの自宅サーバー (KVM Host)

[[email protected] ~]# dd if=/dev/zero of=./hoge bs=1M count=5000
5000+0 records in
5000+0 records out
5242880000 bytes (5.2 GB) copied, 90.4354 seconds, 58.0 MB/s

 

ウチの自宅サーバー (KVM Guest)

[[email protected] ~]#  dd if=/dev/zero of=./hoge bs=1M count=5000
5000+0 records in
5000+0 records out
5242880000 bytes (5.2 GB) copied, 769.413 seconds, 6.8 MB/s

 

orz

ウチのKVMゲストをどれだけさ商用サービス並みに近づけられるか。。。