lost and found ( for me ? )

KVM: Windows用 パラバーチャル ネットワーク ドライバ

Windows VM 用の paravirtual network ドライバのインストール方法

[root@arizona ~]# cat /etc/fedora-release
Fedora release 11 (Leonidas)

[root@arizona ~]# rpm -qa | grep qemu
qemu-img-0.10.6-9.fc11.x86_64
qemu-common-0.10.6-9.fc11.x86_64
qemu-kvm-0.10.6-9.fc11.x86_64
qemu-system-x86-0.10.6-9.fc11.x86_64

インストール前



- ドライバをダウンロード。

http://www.linux-kvm.com/ -> Windows paravirtual drivers -> Network ISO

[root@arizona ~]# file /var/lib/libvirt/images/NETKVM-20081229.iso
/var/lib/libvirt/images/NETKVM-20081229.iso: ISO 9660 CD-ROM filesystem data 'CDROM

- Windows XP を virtio option で起動。

-net nic,model=virtio オプションを指定。

[root@arizona ~]# qemu-kvm -m 512 -smp 1 -net nic,model=virtio -net tap,vlan=0 -boot c -drive file=/var/lib/libvirt/images/winxp-vm.img,if=ide,index=0,boot=on -drive file=/var/lib/libvirt/images/NETKVM-20081229.iso,if=ide,media=cdrom,index=2

VM起動後にインストーラが自動が走る。


マウントした、iso から、xp 用の paravirtual driver を指定する。


インストール完了。
ドライバが Qumranet ParaVirtualized Ethernet Adapter になる。


仮想マシンマネージャ(GUI) で virtio 指定できるみたい。。

Add Hardware -> Network のデバイスモデルに virtio があった。


仮想マシンマネージャを使って、 VM を paravirtual ドライバで起動したときのオプションはこんな感じ。

[root@arizona ~]# ps aux | grep kvm
root 5451 23.5 13.4 967832 541376 ? Sl 11:18 1:57 /usr/bin/qemu-kvm -S -M pc -m 512 -smp 1 -name winxp-vm -uuid 3870f9f5-0025-4a83-37de-45f8a6b6f4b5 -monitor pty -pidfile /var/run/libvirt/qemu//winxp-vm.pid -localtime -boot c -drive file=/var/lib/libvirt/images/winxp-vm.img,if=ide,index=0,boot=on -drive file=,if=ide,media=cdrom,index=2 -net nic,macaddr=54:52:00:3f:eb:58,vlan=0,model=virtio -net tap,fd=17,vlan=0 -serial pty -parallel none -usb -usbdevice tablet -vnc 127.0.0.1:0 -soundhw es1370

Fedora12: Networkmanager 無効

NetworkManager って GUI で設定で、面倒なので
従来の network スクリプトを使用する方法。

[root@alaska ~]# cat /etc/fedora-release
Fedora release 12 (Constantine)

[root@alaska ~]# chkconfig NetworkManager off
[root@alaska ~]# chkconfig network on

[root@alaska ~]# /etc/init.d/NetworkManager stop
NetworkManager デーモンを停止中: [ OK ]

[root@alaska ~]# /etc/init.d/network start
ループバックインターフェイスを呼び込み中 [ OK ]
インターフェース eth0 を活性化中: [ OK ]
[root@alaska ~]#

Done!

Fedora 12 画面の解像度がかわる。

Fedora 12 にしてから、原因が不明だけど、再起動したあとに 1024x768 だった解像度が 800x600 なるな~。
Fedora 11 のときは平気だったのに。
なんとなんく、X 関係のパッケージのアップデートをしたあとに解像度が変わるような。

とりあえず、下記を行うと解決したのでメモ。

1. /etc/inittab で runlevel を 5 から 3 に変更し、runlevel 3 で起動。
2. runlevel 3 で起動後、Xを起動すると( startx 実行)、解像度が 1024x768 になる。
3. そのあとに、また /etc/inittab の runlevel を 3 から 5 に変更し、リブートすると、runlevel 5 , 解像度 1024x768 に戻る。

system-config-display で xorg.conf を作成し、解像度を 1024x768 , 800x600 と記述しても、800x600 で起動してしまう。
結局 xorg.conf を作成しても効果がなかったので、上記実施前に xorg.conf を削除した。
うーん、なんだろう。。

Fedora 12 Kernel-based Virtual Machine ( KVM )

Fedora12にしてから、KVMを使っていなかったので、guest os に WinXP Pro をインストールしてみた。

host: Fedora12
guest: WinXP Pro

[root@arizona ~]# cat /etc/fedora-release
Fedora release 12 (Constantine)

[root@arizona ~]# cat /proc/cpuinfo | grep "model name" | uniq
model name : AMD Athlon(tm) 64 X2 Dual Core Processor 4800+

そろそろ、CPU買い換えようかな。。

[root@arizona ~]# rpm -qa | grep kvm
qemu-kvm-0.11.0-12.fc12.i686

Fedora 11 のときよりインストールが早くなった気がする。





Fedora 11 のときより、さくさくしているなー。( host の H/W の spec は同じ )

VMが保存されるディレクトリ

[root@arizona images]# pwd
/var/lib/libvirt/images

[root@arizona images]# file winxp-vm.img
winxp-vm.img: x86 boot sector, Microsoft Windows XP MBR, Serial 0xdc22dc22; partition 1: ID=0x7, active, starthead 1, startsector 63, 5233473 sectors, code offset 0xc0
[root@arizona images]#

次回はこのVMに paravirtual network drivers をインストールしてみよう。

[root@arizona ~]# ps aux | grep kvm | grep -v grep
qemu 3329 57.0 13.1 591184 541072 ? Sl 15:45 25:28 /usr/bin/qemu-kvm -S -M pc-0.11 -m 512 -smp 1 -name winxp-vm -uuid 9aab2fde-1d71-e411-de4c-4eda05e31889 -monitor unix:/var/lib/libvirt/qemu/winxp-vm.monitor,server,nowait -localtime -boot c -drive file=/var/lib/libvirt/images/winxp-vm.img,if=ide,index=0,boot=on,format=raw -drive file=/home/hattori/winxp_pro.iso,if=ide,media=cdrom,index=2 -net nic,macaddr=52:54:00:18:a6:18,vlan=0,name=nic.0 -net tap,fd=19,vlan=0,name=tap.0 -serial pty -parallel none -usb -usbdevice tablet -vnc 127.0.0.1:0 -vga cirrus -soundhw es1370

PID 3329 が開いているファイル。

[root@arizona ~]# lsof -p 3329
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
qemu-kvm 3329 qemu cwd DIR 8,3 4096 2 /
qemu-kvm 3329 qemu rtd DIR 8,3 4096 2 /
qemu-kvm 3329 qemu txt REG 8,3 2269852 6664266 /usr/bin/qemu-kvm
qemu-kvm 3329 qemu mem REG 8,3 40752 8241430 /lib/libcrypt-2.11.so
qemu-kvm 3329 qemu mem REG 8,3 56728 6664332 /usr/lib/libXi.so.6.1.0
qemu-kvm 3329 qemu mem REG 8,3 1026008 6663640 /usr/lib/libvorbisenc.so.2.0.6
qemu-kvm 3329 qemu mem REG 8,3 64080 8241442 /lib/libnss_files-2.11.so
qemu-kvm 3329 qemu mem REG 8,3 15452 6719555 /usr/lib/sasl2/libplain.so.2.0.23
qemu-kvm 3329 qemu mem REG 8,3 20872 6717829 /usr/lib/sasl2/libsasldb.so.2.0.23
qemu-kvm 3329 qemu mem REG 8,3 17596 6719804 /usr/lib/sasl2/libcrammd5.so.2.0.23
qemu-kvm 3329 qemu mem REG 8,3 1529644 8241954 /lib/libdb-4.7.so
qemu-kvm 3329 qemu mem REG 8,3 286412 8241936 /lib/libdbus-1.so.3.4.0
qemu-kvm 3329 qemu mem REG 8,3 30652 6664010 /usr/lib/libSM.so.6.0.0
qemu-kvm 3329 qemu mem REG 8,3 101380 6660910 /usr/lib/libsasl2.so.2.0.23
qemu-kvm 3329 qemu mem REG 8,3 281976 6661035 /usr/lib/libfreebl3.so
qemu-kvm 3329 qemu mem REG 8,3 431728 8208641 /usr/lib/libsndfile.so.1.0.20
qemu-kvm 3329 qemu mem REG 8,3 141780 8241942 /lib/libncurses.so.5.7
qemu-kvm 3329 qemu mem REG 8,3 964852 8241615 /lib/libasound.so.2.0.0
qemu-kvm 3329 qemu mem REG 8,3 15356 6719552 /usr/lib/sasl2/liblogin.so.2.0.23
qemu-kvm 3329 qemu mem REG 8,3 14912 6717826 /usr/lib/sasl2/libanonymous.so.2.0.23
qemu-kvm 3329 qemu mem REG 8,3 48032 6719807 /usr/lib/sasl2/libdigestmd5.so.2.0.23
qemu-kvm 3329 qemu mem REG 8,3 15756 8241929 /lib/libutil-2.11.so
qemu-kvm 3329 qemu mem REG 8,3 37080 8241953 /lib/libwrap.so.0.7.6
qemu-kvm 3329 qemu mem REG 8,3 16112 8241454 /lib/libuuid.so.1.3.0
qemu-kvm 3329 qemu mem REG 8,3 14820 6664041 /usr/lib/libpulse-simple.so.0.0.3
qemu-kvm 3329 qemu mem REG 8,3 70232 6664277 /usr/lib/libXext.so.6.4.0
qemu-kvm 3329 qemu mem REG 8,3 21944 8208631 /usr/lib/libXtst.so.6.1.0
qemu-kvm 3329 qemu mem REG 8,3 20960 8208656 /usr/lib/libasyncns.so.0.3.1
qemu-kvm 3329 qemu mem REG 8,3 179324 8241901 /lib/ld-2.11.so
qemu-kvm 3329 qemu mem REG 8,3 2402248 8241918 /lib/libc-2.11.so
qemu-kvm 3329 qemu mem REG 8,3 28364 8241924 /lib/libdl-2.11.so
qemu-kvm 3329 qemu mem REG 8,3 192880 8241919 /lib/libpthread-2.11.so
qemu-kvm 3329 qemu mem REG 8,3 54184 8241920 /lib/librt-2.11.so
qemu-kvm 3329 qemu mem REG 8,3 233056 8241930 /lib/libm-2.11.so
qemu-kvm 3329 qemu mem REG 8,3 76368 8241932 /lib/libz.so.1.2.3
qemu-kvm 3329 qemu mem REG 8,3 48996 6665959 /usr/lib/libpci.so.3.1.4
qemu-kvm 3329 qemu mem REG 8,3 252072 6663563 /usr/lib/libFLAC.so.8.2.0
qemu-kvm 3329 qemu mem REG 8,3 113292 8241926 /lib/libresolv-2.11.so
qemu-kvm 3329 qemu mem REG 8,3 118800 6663683 /usr/lib/libxcb.so.1.1.0
qemu-kvm 3329 qemu mem REG 8,3 10008 6665222 /usr/lib/libXau.so.6.0.0
qemu-kvm 3329 qemu mem REG 8,3 19464 8241935 /lib/libcap-ng.so.0.0.0
qemu-kvm 3329 qemu mem REG 8,3 290108 6664025 /usr/lib/libpulse.so.0.12.2
qemu-kvm 3329 qemu mem REG 8,3 338120 6661820 /usr/lib/libpulsecommon-0.9.21.so
qemu-kvm 3329 qemu mem REG 8,3 1274156 6663699 /usr/lib/libX11.so.6.3.0
qemu-kvm 3329 qemu mem REG 8,3 1588460 8208633 /usr/lib/libcrypto.so.1.0.0
qemu-kvm 3329 qemu mem REG 8,3 97344 6661562 /usr/lib/libICE.so.6.3.0
qemu-kvm 3329 qemu mem REG 8,3 13496 8241949 /lib/libgpg-error.so.0.4.0
qemu-kvm 3329 qemu mem REG 8,3 499184 8241950 /lib/libgcrypt.so.11.5.2
qemu-kvm 3329 qemu mem REG 8,3 99572 8241939 /lib/libtinfo.so.5.7
qemu-kvm 3329 qemu mem REG 8,3 158364 8241933 /lib/libnsl-2.11.so
qemu-kvm 3329 qemu mem REG 8,3 689616 8208638 /usr/lib/libgnutls.so.26.14.12
qemu-kvm 3329 qemu mem REG 8,3 69852 8208637 /usr/lib/libtasn1.so.3.1.6
qemu-kvm 3329 qemu mem REG 8,3 173472 8208648 /usr/lib/libvorbis.so.0.4.3
qemu-kvm 3329 qemu mem REG 8,3 23660 8208647 /usr/lib/libogg.so.0.6.0
qemu-kvm 3329 qemu mem REG 8,3 476368 8208697 /usr/lib/libSDL-1.2.so.0.11.2
qemu-kvm 3329 qemu mem REG 0,7 579 anon_inode:kvm-vcpu (stat: No such file or directory)
qemu-kvm 3329 qemu 0r CHR 1,3 0t0 2120 /dev/null
qemu-kvm 3329 qemu 1w REG 8,3 1249 9021455 /var/log/libvirt/qemu/winxp-vm.log
qemu-kvm 3329 qemu 2w REG 8,3 1249 9021455 /var/log/libvirt/qemu/winxp-vm.log
qemu-kvm 3329 qemu 3u CHR 10,232 0t0 6301 /dev/kvm
qemu-kvm 3329 qemu 4u 0000 0,7 0 579 anon_inode
qemu-kvm 3329 qemu 5r FIFO 0,6 0t0 238255 pipe
qemu-kvm 3329 qemu 6w FIFO 0,6 0t0 238255 pipe
qemu-kvm 3329 qemu 7u 0000 0,7 0 579 anon_inode
qemu-kvm 3329 qemu 8u REG 8,3 2684354560 9020480 /var/lib/libvirt/images/winxp-vm.img
qemu-kvm 3329 qemu 9u REG 8,3 611620864 10297369 /home/hattori/winxp_pro.iso
qemu-kvm 3329 qemu 10u unix 0xf3407400 0t0 238256 /var/lib/libvirt/qemu/winxp-vm.monitor
qemu-kvm 3329 qemu 11u CHR 5,2 0t0 2123 /dev/ptmx
qemu-kvm 3329 qemu 12u 0000 0,7 0 579 anon_inode
qemu-kvm 3329 qemu 13u IPv4 238262 0t0 TCP localhost:vnc-server (LISTEN)
qemu-kvm 3329 qemu 14u 0000 0,7 0 579 anon_inode
qemu-kvm 3329 qemu 15u 0000 0,7 0 579 anon_inode
qemu-kvm 3329 qemu 16u 0000 0,7 0 579 anon_inode
qemu-kvm 3329 qemu 17u unix 0xf3407e00 0t0 238264 /var/lib/libvirt/qemu/winxp-vm.monitor
qemu-kvm 3329 qemu 18u IPv4 238297 0t0 TCP localhost:vnc-server->localhost:46087 (ESTABLISHED)
qemu-kvm 3329 qemu 19u CHR 10,200 0t0 4261 /dev/net/tun
[root@arizona ~]#

Fedora12 メモ

Network Manager で起動時にネットワークを有効にしている設定で、
物理リンクが down の状態だと、Fedoraが起動しないなー。
起動の途中でずっと止まったままになる。
5分くらいほったらかしにしてても起動しない。
なんでだろう。
ちなみに IPアドレスは固定設定
時間があったら調査してみよう。
なんか Fedora 、ネットワークまわりが不安定だなー。

書評: 西川里美の日経1年生! 腑におちるまでとことん経済を学ぼう



西川里美の日経1年生! 腑におちるまでとことん経済を学ぼう
祥伝社 (2009/12/14)

日経新聞を購読している人、しようと考えている人
経済に興味のある人

この本はポッドキャスト
日本経済新聞PODCAST 西川里美は日経1年生

に加筆された本である。

2009年の13の記事をピックアップし、用語の説明、背景がとても丁寧に解説されている。
また、13の記事の他に、経済用語の解説、モノやお金の仕組みについての問題、回答も記載されている。

8年以上日経新聞を購読しているが、この本を読むことで、理解していなかったこと、
何となく理解していたつもりでいた記事のおさらいができた。

ポッドキャストで本に記載されている内容を聞いたことのある人もおさらいできると思うのでおすすめの一冊です。
今後も、この企画がずっと続くことを期待しています。
まだまだ自分も日経一年生です :D

六義園 , Rikugien Gardens

What beautiful autumn leaves n' night views :D

Rikugien Gardens is located in Bunkyo-ku in Tokyo city.

It's difficult to take a night view...




Google Chrome Linux beta ver.

ベータ版がリリースされたので、Fedora 12 にインストールしてみました。

ここから、rpm をダウンロード

http://waww.google.com/chrome?platform=linux&hl=ja

Debian/Ubuntu/Fedora/openSUSE 用があるみたい。

[root@alaska ~]# cat /etc/fedora-release
Fedora release 12 (Constantine)

依存関係のエラーが。

[root@alaska ~]# rpm -ivh google-chrome-beta_current_i386.rpm
警告: google-chrome-beta_current_i386.rpm: ヘッダ V3 DSA signature: NOKEY, key ID 7fac5991
エラー: 依存性の欠如:
lsb >= 3.2 は google-chrome-beta-4.0.249.30-33928.i386 に必要とされています
[root@alaska ~]#

[root@alaska ~]# yum install redhat-lsb.i686 -y

再チャレンジ!

[root@alaska ~]# rpm -ivh google-chrome-beta_current_i386.rpm
警告: google-chrome-beta_current_i386.rpm: ヘッダ V3 DSA signature: NOKEY, key ID 7fac5991
準備中... ########################################### [100%]
1:google-chrome-beta ########################################### [100%]
[root@alaska ~]#

起動

[root@alaska ~]# which google-chrome
/usr/bin/google-chrome

[root@alaska ~]# google-chrome


さくさくしてる。正式版になったら、firefox から chrome に使おうかな。

openssl s_client コマンド。

これ使うと、いろいろな ssl ( https , smtps , pops ) など、CLI で確認できるなー。

-port を変えれば OK

smtps なら、-port 465
pop3s なら -port 995

という感じ。


下記は https 接続した結果。
下記の GET / HTTP/1.0 を手動で入力した。
Cipher suite , session id なども表示されるし結構使えそう

-reconnect セッションIDを使用

# openssl s_client -host 127.1 -port 443 -state -prexit -reconnect
CONNECTED(00000003)
SSL_connect:before/connect initialization
SSL_connect:SSLv2/v3 write client hello A
SSL_connect:SSLv3 read server hello A
depth=0 /C=JP/ST=test/L=test/O=test/OU=test/CN=www.example.com
verify error:num=18:self signed certificate
verify return:1
depth=0 /C=JP/ST=test/L=test/O=test/OU=test/CN=www.example.com
verify return:1
SSL_connect:SSLv3 read server certificate A
SSL_connect:SSLv3 read server key exchange A
SSL_connect:SSLv3 read server done A
SSL_connect:SSLv3 write client key exchange A
SSL_connect:SSLv3 write change cipher spec A
SSL_connect:SSLv3 write finished A
SSL_connect:SSLv3 flush data
SSL_connect:SSLv3 read finished A
---
Certificate chain
0 s:/C=JP/ST=test/L=test/O=test/OU=test/CN=www.example.com
i:/C=JP/ST=test/L=test/O=test/OU=test/CN=www.example.com
---
Server certificate
-----BEGIN CERTIFICATE-----
MIIDDTCCAnagAwIBAgIJAMJwWXsMGXqAMA0GCSqGSIb3DQEBBQUAMGMxCzAJBgNV
BAYTAkpQMQ0wCwYDVQQIEwR0ZXN0MQ0wCwYDVQQHEwR0ZXN0MQ0wCwYDVQQKEwR0
ZXN0MQ0wCwYDVQQLEwR0ZXN0MRgwFgYDVQQDEw93d3cuZXhhbXBsZS5jb20wHhcN
MDkxMjAyMTEyODMxWhcNMTAxMjAyMTEyODMxWjBjMQswCQYDVQQGEwJKUDENMAsG
A1UECBMEdGVzdDENMAsGA1UEBxMEdGVzdDENMAsGA1UEChMEdGVzdDENMAsGA1UE
CxMEdGVzdDEYMBYGA1UEAxMPd3d3LmV4YW1wbGUuY29tMIGfMA0GCSqGSIb3DQEB
AQUAA4GNADCBiQKBgQCxrGpZNmMmtIcg2uLE0yyotpickrJtgX/RxCIVHzeU0F3k
DT3QqvFqUFXo0RxXhZnKuyYfnZ0qnCbZ8sy60SL/+LGh1AGozsNYTlaCNz1EwkTq
TA0KwpzCn09v3p/VtXUrF9tGssuSLeQB/W1wbeIf0dCtjPn0zE01yco68wF6lQID
AQABo4HIMIHFMB0GA1UdDgQWBBRo75XE4Idmihu76PS8FN+vDs/bUzCBlQYDVR0j
BIGNMIGKgBRo75XE4Idmihu76PS8FN+vDs/bU6FnpGUwYzELMAkGA1UEBhMCSlAx
DTALBgNVBAgTBHRlc3QxDTALBgNVBAcTBHRlc3QxDTALBgNVBAoTBHRlc3QxDTAL
BgNVBAsTBHRlc3QxGDAWBgNVBAMTD3d3dy5leGFtcGxlLmNvbYIJAMJwWXsMGXqA
MAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEAMwsKRdjQktL5Kg3FYTkz
sINfprk28yX68X8TDq4Ly7pJvKbAMexSro095+ki+EZaBMP8EIW3/Tu1RHlHmnQ5
rTwSGhfWbytffbuTvqmT6qvLUOUCk5nHhvZBJbrUnGVSrpQHTLtq9kcdS04tmfDA
RQbY/iN8OaYLXyAoJt/rJkI=
-----END CERTIFICATE-----
subject=/C=JP/ST=test/L=test/O=test/OU=test/CN=www.example.com
issuer=/C=JP/ST=test/L=test/O=test/OU=test/CN=www.example.com
---
No client certificate CA names sent
---
SSL handshake has read 1349 bytes and written 316 bytes
---
New, TLSv1/SSLv3, Cipher is DHE-RSA-AES256-SHA
Server public key is 1024 bit
Compression: NONE
Expansion: NONE
SSL-Session:
Protocol : TLSv1
Cipher : DHE-RSA-AES256-SHA
Session-ID: 1888582FCDE7F3A1BF91074509A6C272854C1BDED9CDAA27A04D8F8CB7A688D9
Session-ID-ctx:
Master-Key: 096CF1F0DBC3053A523E538E67158482AFC7CA0C50EAC34B406E59FE8EE8A6484E01DC4D962D3DC1CBB66317984CF150
Key-Arg : None
Krb5 Principal: None
Start Time: 1259778602
Timeout : 300 (sec)
Verify return code: 18 (self signed certificate)
---
drop connection and then reconnect
SSL3 alert write:warning:close notify
CONNECTED(00000003)
SSL_connect:before/connect initialization
SSL_connect:SSLv3 write client hello A
SSL_connect:SSLv3 read server hello A
SSL_connect:SSLv3 read finished A
SSL_connect:SSLv3 write change cipher spec A
SSL_connect:SSLv3 write finished A
SSL_connect:SSLv3 flush data
---
Reused, TLSv1/SSLv3, Cipher is DHE-RSA-AES256-SHA
Compression: zlib compression
Expansion: zlib compression
SSL-Session:
Protocol : TLSv1
Cipher : DHE-RSA-AES256-SHA
Session-ID: 1888582FCDE7F3A1BF91074509A6C272854C1BDED9CDAA27A04D8F8CB7A688D9
Session-ID-ctx:
Master-Key: 096CF1F0DBC3053A523E538E67158482AFC7CA0C50EAC34B406E59FE8EE8A6484E01DC4D962D3DC1CBB66317984CF150
Key-Arg : None
Krb5 Principal: None
Compression: 1 (zlib compression)
Start Time: 1259778602
Timeout : 300 (sec)
Verify return code: 18 (self signed certificate)
---
drop connection and then reconnect
SSL3 alert write:warning:close notify
CONNECTED(00000003)
SSL_connect:before/connect initialization
SSL_connect:SSLv3 write client hello A
SSL_connect:SSLv3 read server hello A
SSL_connect:SSLv3 read finished A
SSL_connect:SSLv3 write change cipher spec A
SSL_connect:SSLv3 write finished A
SSL_connect:SSLv3 flush data
---
Reused, TLSv1/SSLv3, Cipher is DHE-RSA-AES256-SHA
Compression: zlib compression
Expansion: zlib compression
SSL-Session:
Protocol : TLSv1
Cipher : DHE-RSA-AES256-SHA
Session-ID: 1888582FCDE7F3A1BF91074509A6C272854C1BDED9CDAA27A04D8F8CB7A688D9
Session-ID-ctx:
Master-Key: 096CF1F0DBC3053A523E538E67158482AFC7CA0C50EAC34B406E59FE8EE8A6484E01DC4D962D3DC1CBB66317984CF150
Key-Arg : None
Krb5 Principal: None
Compression: 1 (zlib compression)
Start Time: 1259778602
Timeout : 300 (sec)
Verify return code: 18 (self signed certificate)
---
drop connection and then reconnect
SSL3 alert write:warning:close notify
CONNECTED(00000003)
SSL_connect:before/connect initialization
SSL_connect:SSLv3 write client hello A
SSL_connect:SSLv3 read server hello A
SSL_connect:SSLv3 read finished A
SSL_connect:SSLv3 write change cipher spec A
SSL_connect:SSLv3 write finished A
SSL_connect:SSLv3 flush data
---
Reused, TLSv1/SSLv3, Cipher is DHE-RSA-AES256-SHA
Compression: zlib compression
Expansion: zlib compression
SSL-Session:
Protocol : TLSv1
Cipher : DHE-RSA-AES256-SHA
Session-ID: 1888582FCDE7F3A1BF91074509A6C272854C1BDED9CDAA27A04D8F8CB7A688D9
Session-ID-ctx:
Master-Key: 096CF1F0DBC3053A523E538E67158482AFC7CA0C50EAC34B406E59FE8EE8A6484E01DC4D962D3DC1CBB66317984CF150
Key-Arg : None
Krb5 Principal: None
Compression: 1 (zlib compression)
Start Time: 1259778602
Timeout : 300 (sec)
Verify return code: 18 (self signed certificate)
---
drop connection and then reconnect
SSL3 alert write:warning:close notify
CONNECTED(00000003)
SSL_connect:before/connect initialization
SSL_connect:SSLv3 write client hello A
SSL_connect:SSLv3 read server hello A
SSL_connect:SSLv3 read finished A
SSL_connect:SSLv3 write change cipher spec A
SSL_connect:SSLv3 write finished A
SSL_connect:SSLv3 flush data
---
Reused, TLSv1/SSLv3, Cipher is DHE-RSA-AES256-SHA
Compression: zlib compression
Expansion: zlib compression
SSL-Session:
Protocol : TLSv1
Cipher : DHE-RSA-AES256-SHA
Session-ID: 1888582FCDE7F3A1BF91074509A6C272854C1BDED9CDAA27A04D8F8CB7A688D9
Session-ID-ctx:
Master-Key: 096CF1F0DBC3053A523E538E67158482AFC7CA0C50EAC34B406E59FE8EE8A6484E01DC4D962D3DC1CBB66317984CF150
Key-Arg : None
Krb5 Principal: None
Compression: 1 (zlib compression)
Start Time: 1259778602
Timeout : 300 (sec)
Verify return code: 18 (self signed certificate)
---
drop connection and then reconnect
SSL3 alert write:warning:close notify
CONNECTED(00000003)
SSL_connect:before/connect initialization
SSL_connect:SSLv3 write client hello A
SSL_connect:SSLv3 read server hello A
SSL_connect:SSLv3 read finished A
SSL_connect:SSLv3 write change cipher spec A
SSL_connect:SSLv3 write finished A
SSL_connect:SSLv3 flush data
---
Reused, TLSv1/SSLv3, Cipher is DHE-RSA-AES256-SHA
Compression: zlib compression
Expansion: zlib compression
SSL-Session:
Protocol : TLSv1
Cipher : DHE-RSA-AES256-SHA
Session-ID: 1888582FCDE7F3A1BF91074509A6C272854C1BDED9CDAA27A04D8F8CB7A688D9
Session-ID-ctx:
Master-Key: 096CF1F0DBC3053A523E538E67158482AFC7CA0C50EAC34B406E59FE8EE8A6484E01DC4D962D3DC1CBB66317984CF150
Key-Arg : None
Krb5 Principal: None
Compression: 1 (zlib compression)
Start Time: 1259778602
Timeout : 300 (sec)
Verify return code: 18 (self signed certificate)
---
GET / HTTP/1.0

HTTP/1.1 200 OK
Date: Wed, 02 Dec 2009 18:30:08 GMT
Server: Apache/2.2.3 (CentOS)
Last-Modified: Tue, 01 Dec 2009 18:20:06 GMT
ETag: "2a82d-6-ceb3c180"
Accept-Ranges: bytes
Content-Length: 6
Connection: close
Content-Type: text/html; charset=UTF-8
X-Pad: avoid browser bug

hello
SSL3 alert read:warning:close notify
closed
SSL3 alert write:warning:close notify
---
Certificate chain
0 s:/C=JP/ST=test/L=test/O=test/OU=test/CN=www.example.com
i:/C=JP/ST=test/L=test/O=test/OU=test/CN=www.example.com
---
Server certificate
-----BEGIN CERTIFICATE-----
MIIDDTCCAnagAwIBAgIJAMJwWXsMGXqAMA0GCSqGSIb3DQEBBQUAMGMxCzAJBgNV
BAYTAkpQMQ0wCwYDVQQIEwR0ZXN0MQ0wCwYDVQQHEwR0ZXN0MQ0wCwYDVQQKEwR0
ZXN0MQ0wCwYDVQQLEwR0ZXN0MRgwFgYDVQQDEw93d3cuZXhhbXBsZS5jb20wHhcN
MDkxMjAyMTEyODMxWhcNMTAxMjAyMTEyODMxWjBjMQswCQYDVQQGEwJKUDENMAsG
A1UECBMEdGVzdDENMAsGA1UEBxMEdGVzdDENMAsGA1UEChMEdGVzdDENMAsGA1UE
CxMEdGVzdDEYMBYGA1UEAxMPd3d3LmV4YW1wbGUuY29tMIGfMA0GCSqGSIb3DQEB
AQUAA4GNADCBiQKBgQCxrGpZNmMmtIcg2uLE0yyotpickrJtgX/RxCIVHzeU0F3k
DT3QqvFqUFXo0RxXhZnKuyYfnZ0qnCbZ8sy60SL/+LGh1AGozsNYTlaCNz1EwkTq
TA0KwpzCn09v3p/VtXUrF9tGssuSLeQB/W1wbeIf0dCtjPn0zE01yco68wF6lQID
AQABo4HIMIHFMB0GA1UdDgQWBBRo75XE4Idmihu76PS8FN+vDs/bUzCBlQYDVR0j
BIGNMIGKgBRo75XE4Idmihu76PS8FN+vDs/bU6FnpGUwYzELMAkGA1UEBhMCSlAx
DTALBgNVBAgTBHRlc3QxDTALBgNVBAcTBHRlc3QxDTALBgNVBAoTBHRlc3QxDTAL
BgNVBAsTBHRlc3QxGDAWBgNVBAMTD3d3dy5leGFtcGxlLmNvbYIJAMJwWXsMGXqA
MAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEAMwsKRdjQktL5Kg3FYTkz
sINfprk28yX68X8TDq4Ly7pJvKbAMexSro095+ki+EZaBMP8EIW3/Tu1RHlHmnQ5
rTwSGhfWbytffbuTvqmT6qvLUOUCk5nHhvZBJbrUnGVSrpQHTLtq9kcdS04tmfDA
RQbY/iN8OaYLXyAoJt/rJkI=
-----END CERTIFICATE-----
subject=/C=JP/ST=test/L=test/O=test/OU=test/CN=www.example.com
issuer=/C=JP/ST=test/L=test/O=test/OU=test/CN=www.example.com
---
No client certificate CA names sent
---
SSL handshake has read 489 bytes and written 379 bytes
---
Reused, TLSv1/SSLv3, Cipher is DHE-RSA-AES256-SHA
Server public key is 1024 bit
Compression: zlib compression
Expansion: zlib compression
SSL-Session:
Protocol : TLSv1
Cipher : DHE-RSA-AES256-SHA
Session-ID: 1888582FCDE7F3A1BF91074509A6C272854C1BDED9CDAA27A04D8F8CB7A688D9
Session-ID-ctx:
Master-Key: 096CF1F0DBC3053A523E538E67158482AFC7CA0C50EAC34B406E59FE8EE8A6484E01DC4D962D3DC1CBB66317984CF150
Key-Arg : None
Krb5 Principal: None
Compression: 1 (zlib compression)
Start Time: 1259778602
Timeout : 300 (sec)
Verify return code: 18 (self signed certificate)
---
#

DNS stress tools: how to install Nominum dnsperf/resperf in Ubuntu 9.10

root@ubuntu:~# cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=9.10
DISTRIB_CODENAME=karmic
DISTRIB_DESCRIPTION="Ubuntu 9.10"

- dnsperf/resperf が必要とするパッケージのインストール

# もしかしらたら不要なパッケージもあるかもしれないけど、これでうまくいった

root@ubuntu:~# apt-get install libbind-dev build-essential libssl-dev
root@ubuntu:~# apt-get install dnsutils bind9
root@ubuntu:~# apt-get install libcap-dev tshark

- シンボリックリンクの作成

root@ubuntu:~# cd /usr/lib/
root@ubuntu:/usr/lib# ln -s libgssapi_krb5.so.2.2 libgssapi_krb5.so
root@ubuntu:/usr/lib# ln -s libxml2.so.2.7.5 libxml2.so

- dnsperf/resperf のコンパイル

root@ubuntu:~# pwd
/root

root@ubuntu:~# wget ftp://ftp.nominum.com/pub/nominum/dnsperf/1.0.1.0/dnsperf-src-1.0.1.0-1.tar.gz
root@ubuntu:~# tar xzvf dnsperf-src-1.0.1.0-1.tar.gz
root@ubuntu:~# cd dnsperf-src-1.0.1.0-1
root@ubuntu:~/dnsperf-src-1.0.1.0-1# ./configure
root@ubuntu:~/dnsperf-src-1.0.1.0-1# make

root@ubuntu:~/dnsperf-src-1.0.1.0-1# make install
mkdir -p /usr/local/bin
mkdir -p /usr/local/man/man1
/usr/bin/install -c dnsperf /usr/local/bin
/usr/bin/install -c resperf /usr/local/bin
/usr/bin/install -c resperf-report /usr/local/bin
/usr/bin/install -c -m 644 dnsperf.1 /usr/local/man/man1
/usr/bin/install -c -m 644 resperf.1 /usr/local/man/man1
root@ubuntu:~/dnsperf-src-1.0.1.0-1#

root@ubuntu:~# which dnsperf
/usr/local/bin/dnsperf
root@ubuntu:~# which resperf
/usr/local/bin/resperf
root@ubuntu:~#

Done!

-----------------

実際に出たエラー、コマンドログも残しとこう。。

root@ubuntu:~# cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=9.10
DISTRIB_CODENAME=karmic
DISTRIB_DESCRIPTION="Ubuntu 9.10"

root@ubuntu:~# apt-get install libbind-dev build-essential libssl-dev
root@ubuntu:~# apt-get install dnsutils bind9
root@ubuntu:~# wget ftp://ftp.nominum.com/pub/nominum/dnsperf/1.0.1.0/dnsperf-src-1.0.1.0-1.tar.gz

root@ubuntu:~# tar xzvf dnsperf-src-1.0.1.0-1.tar.gz
root@ubuntu:~# cd dnsperf-src-1.0.1.0-1
root@ubuntu:~/dnsperf-src-1.0.1.0-1# ./configure

root@ubuntu:~/dnsperf-src-1.0.1.0-1# make
gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -

DHAVE_LIBNSL=1 dnsperf.o common.o -lnsl -L/usr/lib -lbind9 -ldns -L/usr/lib -lgssapi_krb5 -lcrypto -lisccfg -lisc -lcap -

lpthread -lxml2 -lm -o dnsperf
/usr/bin/ld: cannot find -lgssapi_krb5
collect2: ld returned 1 exit status
make: *** [dnsperf] エラー 1
root@ubuntu:~/dnsperf-src-1.0.1.0-1#

root@ubuntu:~/dnsperf-src-1.0.1.0-1# find / -name \*gssapi_krb5\*
/usr/lib/libgssapi_krb5.so.2.2
/usr/lib/libgssapi_krb5.so.2
root@ubuntu:~/dnsperf-src-1.0.1.0-1#

root@ubuntu:~/dnsperf-src-1.0.1.0-1# cd /usr/lib/
root@ubuntu:/usr/lib# ln -s libgssapi_krb5.so.2.2 libgssapi_krb5.so

root@ubuntu:~/dnsperf-src-1.0.1.0-1# make
gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -

DHAVE_LIBNSL=1 dnsperf.o common.o -lnsl -L/usr/lib -lbind9 -ldns -L/usr/lib -lgssapi_krb5 -lcrypto -lisccfg -lisc -lcap -

lpthread -lxml2 -lm -o dnsperf
/usr/bin/ld: cannot find -lcap
collect2: ld returned 1 exit status
make: *** [dnsperf] エラー 1
root@ubuntu:~/dnsperf-src-1.0.1.0-1#

root@ubuntu:~/dnsperf-src-1.0.1.0-1# apt-get install libcap-dev tshark

root@ubuntu:~/dnsperf-src-1.0.1.0-1# make
gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -

DHAVE_LIBNSL=1 dnsperf.o common.o -lnsl -L/usr/lib -lbind9 -ldns -L/usr/lib -lgssapi_krb5 -lcrypto -lisccfg -lisc -lcap -

lpthread -lxml2 -lm -o dnsperf
/usr/bin/ld: cannot find -lxml2
collect2: ld returned 1 exit status
make: *** [dnsperf] エラー 1

root@ubuntu:~/dnsperf-src-1.0.1.0-1# apt-get install apt-file
root@ubuntu:~/dnsperf-src-1.0.1.0-1# apt-file update

root@ubuntu:/usr/lib# ln -s libxml2.so.2.7.5 libxml2.so

root@ubuntu:~/dnsperf-src-1.0.1.0-1# make
gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -

DHAVE_LIBNSL=1 dnsperf.o common.o -lnsl -L/usr/lib -lbind9 -ldns -L/usr/lib -lgssapi_krb5 -lcrypto -lisccfg -lisc -lcap -

lpthread -lxml2 -lm -o dnsperf
gcc -I/usr/include -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -DPACKAGE_NAME=\"\" -

DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DHAVE_LIBNSL=1 -c resperf.c
gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -

DHAVE_LIBNSL=1 resperf.o common.o -lnsl -L/usr/lib -lbind9 -ldns -L/usr/lib -lgssapi_krb5 -lcrypto -lisccfg -lisc -lcap -

lpthread -lxml2 -lm -o resperf

root@ubuntu:~/dnsperf-src-1.0.1.0-1# make install
mkdir -p /usr/local/bin
mkdir -p /usr/local/man/man1
/usr/bin/install -c dnsperf /usr/local/bin
/usr/bin/install -c resperf /usr/local/bin
/usr/bin/install -c resperf-report /usr/local/bin
/usr/bin/install -c -m 644 dnsperf.1 /usr/local/man/man1
/usr/bin/install -c -m 644 resperf.1 /usr/local/man/man1
root@ubuntu:~/dnsperf-src-1.0.1.0-1#

DNSSEC

おー、gov 、org などなど、DNSSEC 対応になってますね。

ほぼ全ての Auth , Cache が DNSSEC 対応になるのがいつかは、 ? だけど、
リゾルバが DO ビット付きで、Cacheに問い合わせるようになるのは、、、
うーん、いつなんだろう。

[root@alaska ~]# unbound -v
[1259689259] unbound[10542:0] notice: Start of unbound 1.3.4.

[root@alaska ~]#dig @127.1 +dnssec gov. ns

; <<>> DiG 9.6.1-P2-RedHat-9.6.1-13.P2.fc12 <<>> @127.1 +dnssec gov. ns
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 41183
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 8, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags: do; udp: 4096
;; QUESTION SECTION:
;gov. IN NS

;; ANSWER SECTION:
gov. 259193 IN NS E.USADOTGOV.NET.
gov. 259193 IN NS F.USADOTGOV.NET.
gov. 259193 IN NS C.USADOTGOV.NET.
gov. 259193 IN NS A.USADOTGOV.NET.
gov. 259193 IN NS B.USADOTGOV.NET.
gov. 259193 IN NS D.USADOTGOV.NET.
gov. 259193 IN NS G.USADOTGOV.NET.
gov. 259193 IN RRSIG NS 7 1 259200 20091206121702 20091201121702 51998 gov. n3b2uqD1MtElJ6x68nh/Tz1QtXdMCfXDPrnKUQZRzWkGL84AH52HpYXP NoqCd1Nx1wuJaa4GI42yfA/+Xl8ybX9NZg00i4Pti5fh+waXLmuvpoSp U+sAOLhaCSMcJczQHktruUHREmG6GrrvpJtfPCRkOghthEvpcnthrwYq l34=

[root@alaska ~]# dig @127.1 +dnssec A.USADOTGOV.NET

; <<>> DiG 9.6.1-P2-RedHat-9.6.1-13.P2.fc12 <<>> @127.1 +dnssec A.USADOTGOV.NET
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 8251
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 7, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags: do; udp: 4096
;; QUESTION SECTION:
;A.USADOTGOV.NET. IN A

;; ANSWER SECTION:
A.USADOTGOV.NET. 86365 IN A 74.208.172.129
A.USADOTGOV.NET. 86365 IN RRSIG A 7 3 86400 20100127111434 20091029111434 24722 usadotgov.net. kHveFca27gywFlZrhIuosrZsfoXgas0nW5oRWRnhVE1K9wbLdyp6O4nC 83PH/HmaWL2kddmADQty7Udc0zXceyAmjbtn5s0CWV6LTcRTSz2pPbMn dbxpvYdL7WE5NMfR0f4beGpq8l2LOli6b8RLaYvYIZs33LS+0CfOI2Ml Bq52+6LI1pKybZ0BM6iCjpZ2XNWY0j3GDJA4bqGnS3sB8RnPNdDPozoZ acTxMNU+ZxkEe6+sr9FAK/ZG5YohXEn2f9QRS2euMJmuLMx3VqH5s0mJ HrdO84o5owLcj6Zfbcgqeqm3LAN40SDeYNEpDxJFAhByfvg4/4bzCN6l 2qH4fQ==

;; AUTHORITY SECTION:
USADOTGOV.NET. 86364 IN NS dnssec7.datamtn.com.
USADOTGOV.NET. 86364 IN NS dnssec11.datamtn.com.
USADOTGOV.NET. 86364 IN NS dnssec9.datamtn.com.
USADOTGOV.NET. 86364 IN NS dnssec10.datamtn.com.
USADOTGOV.NET. 86364 IN NS dnssec14.datamtn.com.
USADOTGOV.NET. 86364 IN NS dnssec12.datamtn.com.
USADOTGOV.NET. 86364 IN RRSIG NS 7 2 86400 20100127111434 20091029111434 24722 usadotgov.net. FPtdFWEJwpFye9O4xxRndOA+tEQctzExoPG3YEG0bqfke3Mh+wgNfnqQ EriFPwt1xe8uoanhk+KiEn/3BDlQsoiXG70NZzQYzuynK0Wc9uOycxYc Sm+67Ku0LnYcbauvaMt1eK/Zt+7qgaQLgoQ/EMKkCVVFidW57VLfiURu gMpWWT6arHPiidbU8HFK0/sWl44ahzM5TxlLcyMNliJ35ADtPW/Bz3IQ wDelG8NRwTbumMKfuWamPSXodJCk9Rkabl7HYn2adwP5QyH2P2sderPY r/iZ23HrVs4w0GSwUCmFtxzIpBM5c31P3aYU/oWilGg38Qttq4Fri24h mVBQlQ==

[root@alaska ~]# dig @127.1 org +dnssec

; <<>> DiG 9.6.1-P2-RedHat-9.6.1-13.P2.fc12 <<>> @127.1 org +dnssec
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 32428
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 0, AUTHORITY: 4, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags: do; udp: 4096
;; QUESTION SECTION:
;org. IN A

;; AUTHORITY SECTION:
org. 900 IN SOA a0.org.afilias-nst.info. noc.afilias-nst.info. 2008921137 1800 900 604800 86400
org. 900 IN RRSIG SOA 7 1 900 20091215173927 20091201163927 5273 org. I+iRalo3GGeGgBGnGNxLlPgcekSFsuQYeoWwuvcJTbKK0ZKJWMr7RGK3 U3KkGN8gejyaAIuvGyF+iLUsbW4jrGOuWiHSKtHB9CTfGrxjXzD2wFIE DtbTh0GAq1MEtpLYSqKwUvmalEJC8i3MomZURDW8ee5MsPeJ3yOYA+ZD NaY=
h9p7u7tr2u91d0v0ljs9l1gidnp90u3h.org. 86400 IN NSEC3 1 1 1 D399EAAB H9RDA3IB0G7GL8OQI5I5CMOC8RBIGOAG NS SOA RRSIG DNSKEY NSEC3PARAM
h9p7u7tr2u91d0v0ljs9l1gidnp90u3h.org. 86400 IN RRSIG NSEC3 7 2 86400 20091215173927 20091201163927 5273 org. M3GCP1Sx5S7nfDQRxjL71JdrL0DQC+YOBvtehQkBk6xGQ63zmULmVfJW Mchek8XVBq3nfBbscYAtVAPdTbIn3V3SYKKXFFlS6sATt3a67I3gUPVv 6YvM4ANUIsZgFAwY/TqTe4tcrYBVkXm3JrMpvQx0FPIlS2ErTWxqzZHP RjA=

[root@alaska ~]# dig @127.1 +dnssec unbound.net ns

; <<>> DiG 9.6.1-P2-RedHat-9.6.1-13.P2.fc12 <<>> @127.1 +dnssec unbound.net ns
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 49614
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags: do; udp: 4096
;; QUESTION SECTION:
;unbound.net. IN NS

;; ANSWER SECTION:
unbound.net. 6800 IN NS nom-ns1.nominet.org.uk.
unbound.net. 6800 IN NS ns.secret-wg.org.
unbound.net. 6800 IN NS open.nlnetlabs.nl.
unbound.net. 6800 IN RRSIG NS 5 2 7200 20091231005006 20091201005006 8114 unbound.net. NL1fdcHRz8Ile1tL/wfC/6jj7E/n16p8K3j4g/HfpthyzebiG4M1z/od N3aiyTQHhs0TMDfIIcd4nCEg/oi6NC3Wv6CPhQb4yI2lUSAcfAo68f3x +5u1FRoXybtxucQWUomCwJdqCnK384Q2utcM5WGrdGuFF0eywShxMYMI 4PEKkNYD/l8b/zKYT9SvxtSxd5SDswmaS3Y3Q/k5v0E7vyWvM5rL6Bg1 cyJemdPgd8KiLdLC1XQREkWulTL6gxBhwrmjHm1zLJftpELQs2G2C7m/ GrWBpE6xKvIUsyZRBXrPR2bBijg2TLSi+UTAzegXdnyiuf+xPQdqVICw nDwuEg==

VirtualBox ネットワーク設定

モードは4つ。

- NAT

VM から internet へのアクセスはホストのIPにNATされる。
ホスト - VM 間の通信はできない

- ブリッジアダプタ ( これは VMWare Server と同じ )

ホストがもっているNICのIPと同じセグメント

- 内部ネットワーク

???

- ホストオンリーアダプタ

ホスト - VM 間の通信。ホストから、VMに ssh 接続する際などに使う。


試しに、NAT , 内部ネットワーク , ホストオンリーアダプタを作成。

NAT


ホストオンリーアダプタ


内部ネットワーク


サマリ


上記のネットワーク設定をした、VM を 2つ起動

VM上の IP 情報。

eth0: NAT

[root@centos5-vm1 ~]# ifconfig eth0 | grep "inet addr"
inet addr:10.0.2.15 Bcast:10.0.2.255 Mask:255.255.255.0

eth1: ホストオンリーアダプタ

[root@centos5-vm1 ~]# ifconfig eth1 | grep "inet addr"
inet addr:192.168.56.101 Bcast:192.168.56.255 Mask:255.255.255.0

eth2: 内部ネットワーク ( IP もらえていない )

[root@centos5-vm1 ~]# ifconfig eth2 | grep "inet addr"

eth0 , eth1 , eth2 全て、DHCP で IP をもらう設定になっているが、内部ネットワークだけ
IPをもらえていない。

# cat /etc/sysconfig/network-scripts/ifcfg-eth* | grep -i dhcp
BOOTPROTO=dhcp <- ifcfg-eth0
DHCP_HOSTNAME=centos5-vm1.localdomain
BOOTPROTO=dhcp <- ifcfg-eth1
BOOTPROTO=dhcp <- ifcfg-eth2

ホストと VM 間での通信は eth1 ( ホストオンリーアダプタ ) を使用する。

ホスト

# ifconfig vboxnet0 | grep -i "inet addr"
inet addr:192.168.56.1 Bcast:192.168.56.255 Mask:255.255.255.0

VM

[root@centos5-vm1 ~]# ifconfig eth1 | grep "inet addr"
inet addr:192.168.56.101 Bcast:192.168.56.255 Mask:255.255.255.0

VM1 と VM2 の NAT ( eth0 ) は同じIPがついてる。。

VM1

[root@centos5-vm1 ~]# ifconfig eth0 | grep -i "inet addr"
inet addr:10.0.2.15 Bcast:10.0.2.255 Mask:255.255.255.0

VM2

[root@centos5-vm2 ~]# ifconfig eth0 | grep "inet addr"
inet addr:10.0.2.15 Bcast:10.0.2.255 Mask:255.255.255.0

VM1 - VM2 で通信したいときは、eth1 ( ホストオンリーアダプタ ) で通信できる。

[root@centos5-vm1 ~]# ifconfig eth1 | grep -i "inet addr"
inet addr:192.168.56.101 Bcast:192.168.56.255 Mask:255.255.255.0

[root@centos5-vm2 ~]# ifconfig eth1 | grep "inet addr"
inet addr:192.168.56.102 Bcast:192.168.56.255 Mask:255.255.255.0

VM1から VM2 へ ssh 。

[root@centos5-vm1 ~]# ssh 192.168.56.102
root@192.168.56.102's password:
[root@centos5-vm2 ~]#

内部ネットワークいらないな。。とりあえず、NAT , ホストオンリーアダプタ があれば、
VM は外部に通信できるし、ホスト - VM , VM - VM の通信も可能。

VM のルーティングテーブル

[root@centos5-vm1 ~]# netstat -rn
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
10.0.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 <- NAT
192.168.56.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1 <- ホストオンリーアダプタ
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth1 <- ホストオンリーアダプタ
0.0.0.0 10.0.2.2 0.0.0.0 UG 0 0 0 eth0  <- NAT

内部ネットワークは VM 間でとじたネットワークなのかな。。ためしていないけど。

VirtualBox VM クローンの作成

# pwd
/root/.VirtualBox/HardDisks

# ls
centos5-vm.vdi

cp コマンドでコピーすると、VMの UUID が同じになってしまい起動できない。

# VBoxManage clonevdi centos5-vm.vdi centos5-vm2.vdi


# VBoxManage showhdinfo centos5-vm.vdi | grep -i uuid
UUID: 298f217a-ac8b-4787-9b4e-15b9fdc27675
In use by VMs: centos5-vm (UUID: 62078276-065d-4a8f-ba2a-e58efa6eb212)

# VBoxManage showhdinfo centos5-vm2.vdi | grep -i uuid
UUID: b06187fd-072d-4bd7-bd0b-cb14a711475a
In use by VMs: cenos5-vm2 (UUID: 715bb2a5-0d66-46d3-b851-5fa377a8acbe)


VirtualBox -> 新規作成で、コピーした vdi を選択する。



完了。

how to install Virtualbox n' fly VM

# cat /etc/redhat-release
CentOS release 5.4 (Final)

# uname -r
2.6.18-164.6.1.el5

- Yumのレポジトリを作成

# cat /etc/yum.repos.d/virtualbox.repo
[virtualbox]
name=RHEL/CentOS-$releasever / $basearch - VirtualBox
baseurl=http://download.virtualbox.org/virtualbox/rpm/rhel/$releasever/$basearch
enabled=1
gpgcheck=1
gpgkey=http://download.virtualbox.org/virtualbox/debian/sun_vbox.asc

インストール

# yum install -y VirtualBox.i386

# rpm -ql `rpm -qa | grep -i virtual` | head -10
/etc/rc.d/init.d/vboxdrv
/etc/vbox
/lib/modules
/usr/bin
/usr/bin/VBox
/usr/bin/VBoxHeadless
/usr/bin/VBoxManage
/usr/bin/VBoxSDL
/usr/bin/VBoxTunctl
/usr/bin/VBoxVRDP

# chkconfig --list | grep -i vbox
vboxdrv 0:off 1:off 2:on 3:on 4:on 5:on 6:off

アプリケーション -> システムツール -> Sun VirtualBox






さくさくしている。。



VM上のウィンドウからのリリースが、右Ctrl キー。

VirtualBox -> ファイル -> 環境設定 -> 入力 で変更できる。




複数スナップショットがとれるので、VMWare Server 2.0 よりいいかも。
VMWare Server は 1 VM につき、1スナップショット。



# ps aux | grep -i virtual | grep -v grep
root 3271 0.0 0.0 10716 2660 ? S 17:19 0:00 /usr/lib/virtualbox/VBoxXPCOMIPCD
root 3280 0.1 0.1 18132 6164 ? Sl 17:19 0:03 /usr/lib/virtualbox/VBoxSVC --automate
root 3436 65.3 7.0 359176 287252 ? Sl 18:01 4:49 /usr/lib/virtualbox/VirtualBox --comment centos5-vm --startvm 62078276-065d-4a8f-ba2a-e58efa6eb212
root 3461 0.2 0.6 65744 28244 ? Sl 18:04 0:00 /usr/lib/virtualbox/VirtualBox

VMイメージ

# lsof -p 3436 | grep vdi
VirtualBo 3436 root 53u REG 3,1 1961902592 3928732 /root/.VirtualBox/HardDisks/centos5-vm.vdi

# pwd
/root/.VirtualBox/HardDisks
[root@server1 HardDisks]# ls -lh
合計 1.9G
-rw------- 1 root root 1.9G centos5-vm.vdi

- スナップショット

# pwd
/root/.VirtualBox/Machines/centos5-vm/Snapshots

# ls
{4ac3cfd1-1687-478a-a5e6-b0b77729a27c}.vdi {ba779436-d968-486e-92d7-fbce840ddb76}.vdi
{769ea1b8-3bf6-4cce-961a-b6f5bc998c4d}.vdi

- 設定ファイル ( VMWare でいう、vmx ファイル ? )

/root/.VirtualBox/Machines/centos5-vm/centos5-vm.xml

windows : torrent クライアント

μ torrent 結構いいかも。

iso をダウンロードするときに使用しています。
複数コネクション張るので、メインページでhttpでダウンロードするより,はるかに早い。


how to fly Windows Media Player via WINE

[root@arizona ~]# cat /etc/fedora-release
Fedora release 11 (Leonidas)

[root@arizona ~]# uname -r
2.6.30.9-96.fc11.x86_64

やっぱ、32bitにしようかなー、と迷い中。
あと、ubuntu も魅力的だな。。

[root@arizona ~]# yum install -y wine.x86_64

wine-doors をダウンロード

http://wddb.wine-doors.org/downloads

[root@arizona hattori]# rpm -ivh wine-doors-0.1.3-1.noarch.rpm
エラー: 依存性の欠如:
cabextract は wine-doors-0.1.3-1.noarch に必要とされています
glade2 は wine-doors-0.1.3-1.noarch に必要とされています
gnome-python2-rsvg は wine-doors-0.1.3-1.noarch に必要とされています
orange は wine-doors-0.1.3-1.noarch に必要とされています

必要なパッケージを yum でインストール

[root@arizona hattori]# yum install -y cabextract glade2 gnome-python2-rsvg orange

[root@arizona hattori]# rpm -ivh wine-doors-0.1.3-1.noarch.rpm

[root@arizona hattori]# wine-doors

GUIが起動する


いろいろなアプリをインストールできる。


適当にアプリをインストール


windows media player を起動。

一応再生できた。

[root@arizona Windows Media Player]# pwd

/root/.wine/drive_c/Program Files/Windows Media Player
[root@arizona Windows Media Player]# wine mplayer2.exe

How to install Nagios n' monitor remote hosts

参考URL

http://nagios.sourceforge.net/docs/3_0/quickstart-fedora.html

# cat /etc/redhat-release
CentOS release 5.4 (Final)

# uname -r
2.6.18-164.6.1.el5

# yum install -y httpd php gcc glibc glibc-common gd gd-devel

[ Nagios 用のアカウントを作成 ]

# useradd nagios
# passwd nagios

# usermod -a -G nagcmd nagios
# usermod -a -G nagcmd apache

# egrep nagcmd /etc/group
nagcmd:x:1001:nagios,apache

[ Nagios , plug-in をダウンロード ]

# wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.1.2.tar.gz
# wget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.14.tar.gz

[ インストール ]

# tar xzvf nagios-3.1.2.tar.gz
# cd nagios-3.1.2
# ./configure --with-command-group=nagcmd
# make all
1031 make install
1032 make install-init
1033 make install-config
1034 make install-commandmode

[ コンフィグの修正 ]

# pwd
/usr/local/nagios/etc/objects

下記メールアドレスにアラートが飛ぶ。適宜変更。

# egrep mail contacts.cfg
email nagios@localhost ; <<***** CHANGE THIS TO YOUR EMAIL ADDRESS ******


[ web interface コンフィグのインストール ]

apache の conf.d 下に nagios.conf をインストール

# make install-webconf
/usr/bin/install -c -m 644 sample-config/httpd.conf /etc/httpd/conf.d/nagios.conf

ログインアカウントの作成

# htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
New password:nagiosadmin
Re-type new password:nagiosadmin
Adding password for user nagiosadmin
#

-c Create the passwdfile. If passwdfile already exists, it is rewrit-
ten and truncated. This option cannot be combined with the -n
option.

httpd プロセスを起動

# service httpd start

[ plug-in のインストール ]

# tar xzvf nagios-plugins-1.4.14.tar.gz
# cd nagios-plugins-1.4.14
# ./configure --with-nagios-user=nagios --with-nagios-group=nagios
# make; make install

[ Nagios の起動 ]

# chkconfig --add nagios
# chkconfig nagios on

# chkconfig --list | grep nagios
nagios 0:off 1:off 2:on 3:on 4:on 5:on 6:off

コンフィグのチェック。

# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
Total Warnings: 0
Total Errors: 0
Things look okay - No serious problems were detected during the pre-flight check

# /etc/init.d/nagios start
Starting nagios: done.

[ SElinux の設定 ]

切り分けが面倒なので、無効。

# egrep -i disable /etc/selinux/config
# disabled - SELinux is fully disabled.
SELINUX=disabled

[ ブラウザからログイン ]

http://127.1/nagios

ユーザ名、パスワードを聞かれるので、先の htpasswd で作成したユーザ,パスワードでログイン。



[ リモートホスト ( Linux ) の監視 ]

参考URL

http://nagios.sourceforge.net/docs/3_0/monitoring-publicservices.html

- 監視ホストの定義

リモートホストの定義ファイル名を /usr/local/nagios/etc/nagios.cfg ファイルに記述

nagios.cfg

# Definitions for monitoring the remote (Linux) host
cfg_file=/usr/local/nagios/etc/objects/remote_linux.cfg

# touch nagios.nagios remote_linux.cfg
# chown nagios.nagios remote_linux.cfg

# cat remote_linux.cfg
define host{
use linux-server ; Name of host template to use
host_name remotehost
alias Some remote host ; a longer name associated with the host
address 192.168.100.2
hostgroups linux-servers ; The name of the hostgroup
}

define service{
use generic-service ; Inherit default values from a template
host_name remotehost
service_description HTTP
check_command check_http
}
#

コンフィグのチェック

# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
Total Warnings: 0
Total Errors: 0

nagiosをリロード

# /etc/init.d/nagios reload
Running configuration check...done.
Reloading nagios configuration...done

追加した remotehost が表示された。


CentOS 5.4 Xen 64bit para-virtualization VM のインストール

host: CentOS 5.4 64bit
guest: CentOS 5.4 64bit para-virtualization

- host: kernel info

[root@arizona ~]# cat /etc/redhat-release
CentOS release 5.4 (Final)

[root@arizona ~]# uname -r
2.6.18-164.6.1.el5xen

仮想マシンマネージャを使用して、CentOS5 64bit のVM ( para-virtualization ) を作成

- httpd の準備

para-virtualization は host の CD-ROM からインストールできない。
HTTP , FTP , NFS 経由でインストールする必要がある。

ホストOS上で httpd を起動、iso をマウントしたディレクトリを指定する。

iso を /var/www/html/iso_images にマウント

[root@arizona ~]# mount -o loop CentOS5.iso /var/www/html/iso_images/

こんな感じ。

[root@arizona ~]# ls /var/www/html/iso_images/
CentOS RELEASE-NOTES-en_US RELEASE-NOTES-pt_BR
EULA RELEASE-NOTES-en_US.html RELEASE-NOTES-pt_BR.html
GPL RELEASE-NOTES-es RELEASE-NOTES-ro
NOTES RELEASE-NOTES-es.html RELEASE-NOTES-ro.html

httpdの起動

[root@arizona ~]# /etc/init.d/httpd start


- VMのインストール

アプリ -> 仮想マシンマネージャ




インストール先のURL に http://eth0のIP/iso_images を指定。



インストール完了!


Done!

How to upgrade to a new Fedora

Fedora 12 has been released.

というわけで、Fedora 11 から Fedora 12 へアップグレード

今までインストールメディアからインストールしていたけど、preupgrade コマンドで
アップグレードしてみたのでメモ。

[root@alaska ~]# cat /etc/redhat-release
Fedora release 11 (Leonidas)

/etc/fedora-release を書き換えている場合はデフォルトへ戻すこと。

# cat /etc/fedora-release
Fedora release 11 (Leonidas)

アップグレードツールをインストール

[root@alaska ~]# yum install preupgrade -y

GUI が起動する。CLI はないみたい。

[root@alaska ~]# preupgrade



アップグレード中...




reboot now をクリック。



リブートすると、upgradeのプロセスがしばらく走って、その後起動する。

起動すると、Fedora 12 に。アップグレード完了

[root@alaska ~]# cat /etc/redhat-release
Fedora release 12 (Constantine)

get things done!

rsyslogd: Fedora11 外部から log をうける方法

デフォルトで外部から受け付けない設定になっている。
log は udp/tcp 514 番ポートでリッスンする。

[root@arizona ~]# cat /etc/redhat-release
Fedora release 11 (Leonidas)

syslog over TLS なんてのもあるんだー。

[root@arizona ~]# egrep syslog /etc/services
syslog 514/udp
syslog-conn 601/tcp # Reliable Syslog Service
syslog-conn 601/udp # Reliable Syslog Service
syslog-tls 6514/tcp # Syslog over TLS

で、外部からリッスンする方法は

- rsyslogd

[root@arizona ~]# less /etc/rsyslog.conf
# Provides UDP syslog reception
$ModLoad imudp.so
$UDPServerRun 514

# Provides TCP syslog reception
$ModLoad imtcp.so
$InputTCPServerRun 514

[root@arizona ~]# /etc/init.d/rsyslog restart

[root@arizona ~]# lsof -i:514
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
rsyslogd 6146 root 3u IPv4 28433 0t0 UDP *:syslog
rsyslogd 6146 root 4u IPv6 28434 0t0 UDP *:syslog
rsyslogd 6146 root 5u IPv4 28437 0t0 TCP *:shell (LISTEN)
rsyslogd 6146 root 6u IPv6 28438 0t0 TCP *:shell (LISTEN)

[root@arizona ~]# netstat -an | grep 514
tcp 0 0 0.0.0.0:514 0.0.0.0:* LISTEN
tcp 0 0 :::514 :::* LISTEN
udp 0 0 0.0.0.0:514 0.0.0.0:*
udp 0 0 :::514 :::*
unix 3 [ ] STREAM CONNECTED 14514
[root@arizona ~]#

ちなみに、 syslogd の場合は、/etc/sysconfig/syslog ファイルの SYSLOGD_OPIONS に -r を追加し、syslogd を再起動 ( /etc/init.d/syslogd restart)

書評: ざっくりわかるファイナンス



ざっくりわかるファイナンス
石野雄一
光文社新書 2007/4/20

対象:

財務諸表はざっくり読めるけど、ファイナンスって何?
会計とファイナンスって何が違うの?

と思っている人

書評:

会計とファイナンスの違いを理解するために、会計入門書を読んだあとことがあるといいかも。
タイトルのとおり、ざっくりファイナンスってこんな感じというのが理解できる。

ファイナンスで、企業の将来価値を予測してみる場合、
このような考えで、このような計算(CAPM,WACCなど)を用いその企業の将来を
予想するといった説明が平易な文で書かれている。

難しい計算式はないので、入門者の自分にとっては、ファイナンスとは
どんなことをするのか理解するのに助かった。

また著者は日産自動車でキャッシュマネジメントをしていたこともあり、その時の
ことも、少しだが説明がある。

専門書ではないが、ファイナンスのさわりを知るには最適な本である。

DNSSEC trust-anchors ( www.ripe.net )

www.ripe.net の trust-anchors (DNSSEC)をためしてみたのでメモ。

下記URL(NLnet Labs)にDNSSEC , DLV の仕組み、実装方法 ( キャッシュ , Auth ),
トラブルシューティングのドキュメントがあり、充実している。

DNSSEC How To
http://www.nlnetlabs.nl/publications/dnssec_howto/index.html

# named -v
BIND 9.5.2

https://www.ripe.net/projects/disi/keys/ から
ripe-ncc-dnssec-keys-new.txt ( BINDフォーマット形式 )をダウンロード

# cat /etc/named.conf ripe-ncc-dnssec-keys-new.txt > aaa
# mv aaa /etc/named.conf

- named.conf

trusted-keys {

"0.4.1.0.0.2.ip6.arpa." 257 3 5
"AwEAAaZOYKV/YG3O59Xh957bNGLLDNn1OzWK
SFefZJFyWRlOHdcb5d0NTYvmau7Q7liPiVv7
l5cnKDuwbmRwpd7EU2gZA9vQekKdu7yPJngy

- 動作確認

データが認証されたら、 ad ビットがたつ。

# dig @127.1 ripencc.org SOA +dnssec +multiline

; <<>> DiG 9.5.2 <<>> @127.1 ripencc.org SOA +dnssec +multiline
; (1 server found)
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 46887
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 2, AUTHORITY: 3, ADDITIONAL: 3

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags: do; udp: 4096
;; QUESTION SECTION:
;ripencc.org. IN SOA

;; ANSWER SECTION:
ripencc.org. 3600 IN SOA ns-pri.ripe.net. ops.ripe.net. (
2009111300 ; serial
43200 ; refresh (12 hours)
7200 ; retry (2 hours)
1209600 ; expire (2 weeks)
7200 ; minimum (2 hours)
)
ripencc.org. 3600 IN RRSIG SOA 5 2 172800 20091213060004 (
20091113060004 62463 ripencc.org.
B2jj/XjbOJ428QJnC7jz6fZsC1x4nB+hCKNijVZ8489y
o3yzpb5u642kUGd3+UxZn1VNLO3d0xpe07uS8zBjgeEm
2osrMeEuzPr2vILqXbDCM1NAvH5Ru6FwVdVKXDatzVbs
GJabHNqQj1NAxbqZ9Qg+9vPWVQwhAY/G0B7CZSqRqhjb
bTn+olFoqOqBRiOYDZHw4YqF )

- BINDのログで確認

named.conf に追加

logging {
channel dnssec_log { // a DNSSEC log channel
file "log/dnssec" size 20m;
print-time yes; // timestamp the entries
print-category yes; // add category name to entries
print-severity yes; // add severity level to entries
severity debug 3; // print debug message <= 3 t

};

category dnssec { dnssec_log; };

};

# rndc reload
server reload successful

# rndc flush
# dig @127.1 ripencc.org SOA +dnssec +multiline

verify rdataset (keyid=10201): success 。
key id は Auth で 署名したゾーンの最後の数字。 ( 例: Kexample.jp.+001+12345 )

# cat /var/named/data/log/dnssec
validating @0x937f448: ripencc.org SOA: starting
validating @0x937f448: ripencc.org SOA: attempting positive response validation
validating @0x92b2148: ripencc.org DNSKEY: starting
validating @0x92b2148: ripencc.org DNSKEY: attempting positive response validation
validating @0x92b2148: ripencc.org DNSKEY: verify rdataset (keyid=10201): success
validating @0x92b2148: ripencc.org DNSKEY: signed by trusted key; marking as secure
validator @0x92b2148: dns_validator_destroy
validating @0x937f448: ripencc.org SOA: in fetch_callback_validator
validating @0x937f448: ripencc.org SOA: keyset with trust 7
validating @0x937f448: ripencc.org SOA: resuming validate
validating @0x937f448: ripencc.org SOA: verify rdataset (keyid=62463): success
validating @0x937f448: ripencc.org SOA: marking as secure
validator @0x937f448: dns_validator_destroy


named.conf

"ripencc.org." 257 3 5
"AwEAAb56pKUvi3gk9SHVnhQ/HbjK7n1AHFny
UZcjX4+5OcoE9ir2keA6+gQHuumoUkXlK7f7
ReRLfwpjFm3X7tWw/QgZWR6+109leJt1Xbab
pdRkG9ukB7Ij4FzzXnNB8KodRV9sfRTasZL3
JC3tOesw2bv4ILKWSkcNYTg1yZJjckZoBxE/
VNYbvV0/yOCjYIcgmvgOYrMDkFXyiqsn8Uc1
NqdoW5LUYj4QpK8MM/2qi/cfE2j8iXakWI/k
e7MkKwi3C94KE1bA3VD3eNPc8OXHl+ZXJUui
VK3OAVspbxov9XQt/JnNdBoWgCK0QQobEwUG
5D16e3qovuBwmlcfbVI1j0s=";
// Key ID= 10201 (to be deprecated!)


named のキャッシュダンプ。

86394 NS sunic.sunet.se.
86394 NS ns-pri.ripe.net.
; secure
172795 RRSIG NS 5 2 172800 20091213060004 (
20091113060004 62463 ripencc.org.
D8hM/sgx2HtwuGQy+vyMAzDJdkbk9TblI3tp
GEje/vhTTrRfbn24jl5A7xNmWX2MpbJJAuwl
GTM9ku8YDmWyt216oGjJ1BCyATgi4kBBmRXL
gyJXkMKeTUZhhTCsDqrh71jUMgo422L1cCwt
0OvINJzRx/dDojYZZf3L5QEDZp6Q+r1J16sm
ABAAMyXQARO//qE6SEBz )
; secure
3595 DNSKEY 256 3 5 (
AwEAAbl07L8Fgdz/QT2TaC8g9w/yZjdYfcSw
KWdGLEGjkBk2vv6H818sBwUjgorxtCdUhLoB
QilO+/pMHGZU/dHSGOqZy/vF1YLcSioi6mLJ
l7L/9tFoRZogn9GZBNmwqSHgqx3cPSR2bfXT
3leoqGf101NUsHJDoUJIqGzx7dYFgZtCycZ6
NJVQpvVGuVi1HTlnJtRBSPNWVw== )

ためしに、named.conf の 上記、鍵を変更。

変更前

"ripencc.org." 257 3 5
"AwEAAb56pKUvi3gk9SHVnhQ/HbjK7n1AHFny

変更後 ( 最初の 3文字 AwE -> BAD に変更 )

"ripencc.org." 257 3 5
"BADAAb56pKUvi3gk9SHVnhQ/HbjK7n1AHFny


SERVFAIL になった。

# dig @127.1 ripencc.org SOA +dnssec +multiline

; <<>> DiG 9.5.2 <<>> @127.1 ripencc.org SOA +dnssec +multiline
; (1 server found)
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 15070
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags: do; udp: 4096
;; QUESTION SECTION:
;ripencc.org. IN SOA


ログも ripencc.org SOA: fetch_callback_validator: got failure となる。

# cat /var/named/data/log/dnssec
validating @0x9e46160: ripencc.org SOA: starting
validating @0x9e46160: ripencc.org SOA: attempting positive response validation
validating @0x9e46968: ripencc.org DNSKEY: starting
validating @0x9e46968: ripencc.org DNSKEY: attempting positive response validation
validating @0x9e46968: ripencc.org DNSKEY: unable to find a DNSKEY which verifies the DNSKEY RRset and also matches one of specified trusted-keys for 'ripencc.org'
validator @0x9e46968: dns_validator_destroy
validating @0x9e46968: ripencc.org DNSKEY: starting
validating @0x9e46968: ripencc.org DNSKEY: attempting positive response validation
validating @0x9e46968: ripencc.org DNSKEY: unable to find a DNSKEY which verifies the DNSKEY RRset and also matches one of specified trusted-keys for 'ripencc.org'
validator @0x9e46968: dns_validator_destroy
validating @0x9e46160: ripencc.org SOA: in fetch_callback_validator
validating @0x9e46160: ripencc.org SOA: fetch_callback_validator: got failure
validator @0x9e46160: dns_validator_destroy
validating @0x9e46160: ripencc.org SOA: starting
validating @0x9e46160: ripencc.org SOA: attempting positive response validation
validating @0x9e46968: ripencc.org DNSKEY: starting
validating @0x9e46968: ripencc.org DNSKEY: attempting positive response validation
validating @0x9e46968: ripencc.org DNSKEY: unable to find a DNSKEY which verifies the DNSKEY RRset and also matches one of specified trusted-keys for 'ripencc.org'
validator @0x9e46968: dns_validator_destroy
validating @0x9e46968: ripencc.org DNSKEY: starting
validating @0x9e46968: ripencc.org DNSKEY: attempting positive response validation
validating @0x9e46968: ripencc.org DNSKEY: unable to find a DNSKEY which verifies the DNSKEY RRset and also matches one of specified trusted-keys for 'ripencc.org'
validator @0x9e46968: dns_validator_destroy
validating @0x9e46160: ripencc.org SOA: in fetch_callback_validator
validating @0x9e46160: ripencc.org SOA: fetch_callback_validator: got failure
validator @0x9e46160: dns_validator_destroy

Apache: launch SSL site w/ self-signed certificate

# httpd -v
Server version: Apache/2.2.3
Server built: Sep 3 2009 17:38:51

self-signed なので、CAを構築しなくてもOK

- 秘密鍵の作成

rsa形式 , des3 アルゴリズム , 強度は1024bit

# openssl genrsa -des3 -out server.key 1024
Generating RSA private key, 1024 bit long modulus
.................................++++++
.++++++
e is 65537 (0x10001)
Enter pass phrase for server.key:hello <- 秘密鍵のパスフレーズ
Verifying - Enter pass phrase for server.key:hello

- 秘密キーのパスフレーズを外す方法

# openssl rsa -in server.key -out server_no_pass.key
Enter pass phrase for server.key:hello


# cat server.key
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: DES-EDE3-CBC,0AF87B2E0386C79B

Mk9orvGj6TqKrGoTPvzEMaxe27agT6eJGT7jQAyNRUhGoLdNpE2dOvrICBNMTuTF
qeIJ3AF/RoTn30y990DC1LnGVAAwAaB/H1BgMug7+PV/2x+nMZuzYjKAewkL1ehf
z7X3PVNhdy2MeQFklnx1FL16ItpL5FXeMZcpujhnQN4hlGd9cHyLEzOOppDWC5gw
j1FYotnZte0u3diljd3kcHhGWtG+B10zZvV3A/PLcIViHn4Y2rNKGGO4/UdHDNZk
yyuD4E0KHaQp7AvxKjsC4FqDDv5U9OidptlAEftaAEmh1nf5MCPfMUSrmHM+W3IO
5b0HoyJpksI8Egg2R0YCpbliqX9vivOJ3txvvSjtNnjkYlNWXjWqrUzUhLDE2JLV
EEHmhasyww73suspL9M/RqsUw1rgPdhJ7SIg24D8oqCs2cCIUVUsp0jKY2/nQuwA
j3rwqFUIqSPyly/ONkV3cNgyEgdQ1Rf0ElWPLJnlEQivR0Sb3L/u2giyt9+mXdo1
V4EUTBskrixZyUZR4GFYd3w6ybl8KF8Qdt34Y4o4gibAVW58xwCY1AXianfvW0ei
EMzZ+R2rtBT9IMqtmc766w+MT0MvhvoLUum7CN2QSYDuwMxedSeo0StvEn9/cGpW
8XuvmkKHqRJSLCr/8IM8pM7DfVDoynbc9vzGEXCaKOIFCiaBmHIO9yjWs+lf0z72
qCNnpB2w+mwzc+Uc6mM8aVr821P103qeuAqWjTx2frY9N1XYl8tHdo7Y3hx2aIVC
TpPDeBFynjVxeYUlAyiHMgR7IVyQrfdyBaTi7qFKXSI9vscipA0LnQ==
-----END RSA PRIVATE KEY-----

openssl コマンドで server.key を確認できる。

# openssl rsa -text -in server.key

- 自己証明書 ( self-signed certificate ) の作成

# openssl req -new -x509 -days 3650 -key server.key -out server.crt
Enter pass phrase for server.key:hello ( <- server.key のパスフレーズ )
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [GB]:JP
State or Province Name (full name) [Berkshire]:Test
Locality Name (eg, city) [Newbury]:Test
Organization Name (eg, company) [My Company Ltd]:Test
Organizational Unit Name (eg, section) []:Test
Common Name (eg, your name or your server's hostname) []:www.example.com
Email Address []:

# cat server.crt
-----BEGIN CERTIFICATE-----
MIIDDTCCAnagAwIBAgIJAP674zk/fJ3JMA0GCSqGSIb3DQEBBQUAMGMxCzAJBgNV
BAYTAkpQMQ0wCwYDVQQIEwRUZXN0MQ0wCwYDVQQHEwRUZXN0MQ0wCwYDVQQKEwRU
ZXN0MQ0wCwYDVQQLEwRUZXN0MRgwFgYDVQQDEw93d3cuZXhhbXBsZS5jb20wHhcN
MDkxMTExMDIyOTMwWhcNMTkxMTA5MDIyOTMwWjBjMQswCQYDVQQGEwJKUDENMAsG
A1UECBMEVGVzdDENMAsGA1UEBxMEVGVzdDENMAsGA1UEChMEVGVzdDENMAsGA1UE
CxMEVGVzdDEYMBYGA1UEAxMPd3d3LmV4YW1wbGUuY29tMIGfMA0GCSqGSIb3DQEB
AQUAA4GNADCBiQKBgQDvg1xovoqoDE37QeSJbIroxcwJxQwkguKEYBy/NEByACuI
Max2VoKFER43cKG6Ve5uk+ISk6Qk0hh6zNkuIhI2IDd1OwcQaksc95KcnxRnpPr3
OOuWiiyyaA9nj1mEMIZJOx+w5CbY/8jdKg3Q0aOq62wwd6DRrdyCP9pYztYFqwID
AQABo4HIMIHFMB0GA1UdDgQWBBRQOcdNBq1wdE/5jytCIiBL5H69HDCBlQYDVR0j
BIGNMIGKgBRQOcdNBq1wdE/5jytCIiBL5H69HKFnpGUwYzELMAkGA1UEBhMCSlAx
DTALBgNVBAgTBFRlc3QxDTALBgNVBAcTBFRlc3QxDTALBgNVBAoTBFRlc3QxDTAL
BgNVBAsTBFRlc3QxGDAWBgNVBAMTD3d3dy5leGFtcGxlLmNvbYIJAP674zk/fJ3J
MAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEAqwsDNcBx4XxuPnYLegAD
oTSxLo4ZKf2PecFzKcrK4Mz9xmEKkDtPJCc1cjYEHP3x3ja6TSUCgt+zl9P1Ohcx
NKmAVmfI0iCV4ghtsRZUQdjHFvPRka6V4kwwDmTJq8kxyDZibZWqBB0kOQdJTiJh
AuGXpENNtr/0h0/mra54PLU=
-----END CERTIFICATE-----


# openssl x509 -text -in server.crt
Certificate:
Data:
Version: 3 (0x2)
Serial Number:
fe:bb:e3:39:3f:7c:9d:c9
Signature Algorithm: sha1WithRSAEncryption
Issuer: C=JP, ST=Test, L=Test, O=Test, OU=Test, CN=www.example.com
Validity
Not Before: Nov 11 02:29:30 2009 GMT
Not After : Nov 9 02:29:30 2019 GMT
Subject: C=JP, ST=Test, L=Test, O=Test, OU=Test, CN=www.example.com
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
RSA Public Key: (1024 bit)
Modulus (1024 bit):
00:ef:83:5c:68:be:8a:a8:0c:4d:fb:41:e4:89:6c:
8a:e8:c5:cc:09:c5:0c:24:82:e2:84:60:1c:bf:34:
40:72:00:2b:88:31:ac:76:56:82:85:11:1e:37:70:
a1:ba:55:ee:6e:93:e2:12:93:a4:24:d2:18:7a:cc:
d9:2e:22:12:36:20:37:75:3b:07:10:6a:4b:1c:f7:
92:9c:9f:14:67:a4:fa:f7:38:eb:96:8a:2c:b2:68:
0f:67:8f:59:84:30:86:49:3b:1f:b0:e4:26:d8:ff:
c8:dd:2a:0d:d0:d1:a3:aa:eb:6c:30:77:a0:d1:ad:
dc:82:3f:da:58:ce:d6:05:ab
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Subject Key Identifier:
50:39:C7:4D:06:AD:70:74:4F:F9:8F:2B:42:22:20:4B:E4:7E:BD:1C
X509v3 Authority Key Identifier:
keyid:50:39:C7:4D:06:AD:70:74:4F:F9:8F:2B:42:22:20:4B:E4:7E:BD:1C
DirName:/C=JP/ST=Test/L=Test/O=Test/OU=Test/CN=www.example.com
serial:FE:BB:E3:39:3F:7C:9D:C9

X509v3 Basic Constraints:
CA:TRUE
Signature Algorithm: sha1WithRSAEncryption
ab:0b:03:35:c0:71:e1:7c:6e:3e:76:0b:7a:00:03:a1:34:b1:
2e:8e:19:29:fd:8f:79:c1:73:29:ca:ca:e0:cc:fd:c6:61:0a:
90:3b:4f:24:27:35:72:36:04:1c:fd:f1:de:36:ba:4d:25:02:
82:df:b3:97:d3:f5:3a:17:31:34:a9:80:56:67:c8:d2:20:95:
e2:08:6d:b1:16:54:41:d8:c7:16:f3:d1:91:ae:95:e2:4c:30:
0e:64:c9:ab:c9:31:c8:36:62:6d:95:aa:04:1d:24:39:07:49:
4e:22:61:02:e1:97:a4:43:4d:b6:bf:f4:87:4f:e6:ad:ae:78:
3c:b5
-----BEGIN CERTIFICATE-----
MIIDDTCCAnagAwIBAgIJAP674zk/fJ3JMA0GCSqGSIb3DQEBBQUAMGMxCzAJBgNV
BAYTAkpQMQ0wCwYDVQQIEwRUZXN0MQ0wCwYDVQQHEwRUZXN0MQ0wCwYDVQQKEwRU
ZXN0MQ0wCwYDVQQLEwRUZXN0MRgwFgYDVQQDEw93d3cuZXhhbXBsZS5jb20wHhcN
MDkxMTExMDIyOTMwWhcNMTkxMTA5MDIyOTMwWjBjMQswCQYDVQQGEwJKUDENMAsG
A1UECBMEVGVzdDENMAsGA1UEBxMEVGVzdDENMAsGA1UEChMEVGVzdDENMAsGA1UE
CxMEVGVzdDEYMBYGA1UEAxMPd3d3LmV4YW1wbGUuY29tMIGfMA0GCSqGSIb3DQEB
AQUAA4GNADCBiQKBgQDvg1xovoqoDE37QeSJbIroxcwJxQwkguKEYBy/NEByACuI
Max2VoKFER43cKG6Ve5uk+ISk6Qk0hh6zNkuIhI2IDd1OwcQaksc95KcnxRnpPr3
OOuWiiyyaA9nj1mEMIZJOx+w5CbY/8jdKg3Q0aOq62wwd6DRrdyCP9pYztYFqwID
AQABo4HIMIHFMB0GA1UdDgQWBBRQOcdNBq1wdE/5jytCIiBL5H69HDCBlQYDVR0j
BIGNMIGKgBRQOcdNBq1wdE/5jytCIiBL5H69HKFnpGUwYzELMAkGA1UEBhMCSlAx
DTALBgNVBAgTBFRlc3QxDTALBgNVBAcTBFRlc3QxDTALBgNVBAoTBFRlc3QxDTAL
BgNVBAsTBFRlc3QxGDAWBgNVBAMTD3d3dy5leGFtcGxlLmNvbYIJAP674zk/fJ3J
MAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEAqwsDNcBx4XxuPnYLegAD
oTSxLo4ZKf2PecFzKcrK4Mz9xmEKkDtPJCc1cjYEHP3x3ja6TSUCgt+zl9P1Ohcx
NKmAVmfI0iCV4ghtsRZUQdjHFvPRka6V4kwwDmTJq8kxyDZibZWqBB0kOQdJTiJh
AuGXpENNtr/0h0/mra54PLU=
-----END CERTIFICATE-----


- httpd の設定

# egrep -i "^sslcert" /etc/httpd/conf.d/ssl.conf
SSLCertificateFile /root/server.crt
SSLCertificateKeyFile /root/server.key

# /etc/init.d/httpd start
httpd を起動中: Apache/2.2.3 mod_ssl/2.2.3 (Pass Phrase Dialog)
Some of your private key files are encrypted for security reasons.
In order to read them you have to provide the pass phrases.

Server server1.localdomain:443 (RSA)
Enter pass phrase:hello <- 秘密鍵のパスフレーズ

OK: Pass Phrase Dialog successful.
[ OK ]
#

Apache: IP-based Virtual Host

# httpd -v | head -1
Server version: Apache/2.2.3

192.168.100.1 , 192.168.100.3

- httpd.conf for IP-based Virtual Host

-- start --

# Listen 80

#
# ServerName www1.example.com
# DocumentRoot /var/www/html/www1
#



#
# ServerName www3.example.com
# DocumentRoot /var/www/html/www3
#


-- end --

ServerAdmin , ErrorLog , TransferLog ディレクティブを省略すると
デフォルト値が適用される。

# mkdir /var/www/html/www1
# mkdir /var/www/html/www3

# echo "www1" > /var/www/html/www1/index.html
# echo "www3" > /var/www/html/www3/index.html

# /etc/init.d/httpd start

- telnet で確認

# telnet 192.168.100.1 80
Trying 192.168.100.1...
Connected to 192.168.100.1 (192.168.100.1).
Escape character is '^]'.
GET / HTTP/1.0

HTTP/1.1 200 OK
Server: Apache/2.2.3 (CentOS)
ETag: "64e6c5-5-9bd2c780"
Accept-Ranges: bytes
Content-Length: 5
Connection: close
Content-Type: text/html; charset=UTF-8

www1 <- OK
Connection closed by foreign host.
#

# telnet 192.168.100.3 80
Trying 192.168.100.3...
Connected to 192.168.100.3 (192.168.100.3).
Escape character is '^]'.
GET / HTTP/1.0

HTTP/1.1 200 OK
Server: Apache/2.2.3 (CentOS)
ETag: "64e6c6-5-9c3d9740"
Accept-Ranges: bytes
Content-Length: 5
Connection: close
Content-Type: text/html; charset=UTF-8

www3 <- OK
Connection closed by foreign host.
#

get things done.

Wireshark 特定のポートを任意のプロトコルとしてデコードする方法

GUI -> Analyze -> Decode as で指定

tshark でも可能。

例:

8080 を SSL としてデコードする

# tshark -V -r aa.pcap -d tcp.port==8080,ssl

こんな使い方も可能。

# tshark -V -r aa.pcap tcp.port==14235 -d tcp.port==8080,ssl

Yum

Yumのレポジトリを編集しようとバックアップとったときのこと。

最後の拡張子が repo だと読み込んじゃうんだ。
言われてみればそうだけど気づかなかった。
いつもバックアップとるとき最初に org をつける癖が。。
前もなんかではまったことが。。
今度から最後に org をつけよう。。

最後に .org をつけると、それは読み込まない。

# cp CentOS-Base.repo CentOS-Base.repo.org

# yum update
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* addons: ftp.iij.ad.jp
* base: ftp.iij.ad.jp
* extras: ftp.iij.ad.jp
* updates: ftp.iij.ad.jp
Setting up Update Process
No Packages marked for Update
# cp CentOS-Base.repo org.CentOS-Base.repo

最後に repo があると読み込む。

# yum update
Loaded plugins: fastestmirror
Repository base is listed more than once in the configuration
Repository updates is listed more than once in the configuration
Repository addons is listed more than once in the configuration
Repository extras is listed more than once in the configuration
Repository centosplus is listed more than once in the configuration
Repository contrib is listed more than once in the configuration
Loading mirror speeds from cached hostfile
* addons: ftp.iij.ad.jp
* base: ftp.iij.ad.jp
* extras: ftp.iij.ad.jp
* updates: ftp.iij.ad.jp
Setting up Update Process
No Packages marked for Update
#

Red Hat Enterprise Virtualization for Servers

ついにハイパーバイザー型がリリースされたみたいですね。
セキュリティには SELinux なんですな。。SELinux いつも disabled にしてるから
勉強しようかなー。SELinux って U.S. government が開発したんだ。
って、ストリーミングで言っていたような。

http://www.redhat.com/virtualization/rhev/server/

上記ページのストリーミングで、GUIがどんな感じかわかった。なかなかいい感じ。
VMWare , Xen , Win2008 R2 Core , RHEV-H ( で略あってる?) と、うーんおもしろそうだー。

CentOS版でないかなー。待ち遠しい。

雑学?

新聞メモ。

健康保険や厚生年金の保険料の金額を決める際の算定基準に、
給与の一部として支給された自社製品や、通勤手当(定期代、現物支給の定期券)は該当する。
結婚祝い金は該当しない。

これは知っていたけど、なぜ、通勤手当が該当するかについて:

通勤は労働の一環であるため、労働の対価として考えられるから、というコメント。

該当 or 該当しない、 は労働の対価であるか否かが基準となる。

ICANN: 2009/11/16からドメイン名にアルファベット以外の文字の使用申請を受付開始

だって。

ICANN Bringing the Languages of the World to the Global Internet


国をあらわすドメイン部にアルファベット以外の使用申請を受付開始するらしい。
日本だとどれくらい申請あるんだろう。
現在の、26文字( A - Z ) から、100,000 文字までになるかも。

"The coming introduction of non-Latin characters represents the biggest technical change to the Internet since it was created four decades ago," said ICANN chairman Peter Dengate Thrush. "Right now Internet address endings are limited to Latin characters – A to Z. But the Fast Track Process is the first step in bringing the 100,000 characters of the languages of the world online for domain names."

DNSSEC

DNSSEC対応ゾーン作成方法 for testing

# named -v
BIND 9.5.2

# cat /var/named/example.com.zone
$TTL 864000
@ IN SOA localhost. root.localhost. (
2009102901 ; serial
28800 ; refresh 8hr
14400 ; retry 4hr
604800 ; expire 1w
86400 ; default_ttl 24hr
)

IN NS ns1.example.com.
IN NS ns2.example.com.
ns1 IN A 192.168.100.2
ns2 IN A 192.168.100.3
www IN A 10.0.0.1


- example.com 用の公開鍵、秘密鍵のペアを作成する
  ゾーンに対して署名をおこなうための鍵(ZONE Key)

# dnssec-keygen -a RSA -b 512 -n ZONE example.com.
The use of RSA (RSAMD5) is not recommended.
If you still wish to use RSA (RSAMD5) please specify "-a RSAMD5"

RSAは推奨されていないみたい。

# dnssec-keygen -a RSAMD5 -b 512 -n ZONE example.com.
Kexample.com.+001+40602

*.key 公開鍵
*.private 秘密鍵

# ls K*
Kexample.com.+001+40602.key Kexample.com.+001+40602.private

# cat Kexample.com.+001+40602.key
example.com. IN DNSKEY 256 3 1 AwEAAd7Onu+Su/6T+iK8gGBOCJn2zPTAu3I4tZmYJLqxbb7/vnlesuvS JqdJ/9uECOp5hscc0HoDSLjOqiz58VaemoE=

# cat Kexample.com.+001+40602.private
Private-key-format: v1.2
Algorithm: 1 (RSA)
Modulus: 3s6e75K7/pP6IryAYE4ImfbM9MC7cji1mZgkurFtvv++eV6y69Imp0n/24QI6nmGxxzQegNIuM6qLPnxVp6agQ==
PublicExponent: AQAB
PrivateExponent: ukN500aUKyuCPW/g0qHpxuzwQtys17xY9OKgMgMKgFS1WtWChvtlu/snGLoflXPBbSJtW/pTDwbjoGaZgvMZUQ==
Prime1: 9s6xHpaghO21zkjczSFyNkRz29F2VZh+qtGYFalCnIM=
Prime2: 5xsWG4RSVham7PFjZ78k//OMs/9n0RXDGSJUTHvwhas=
Exponent1: zm3cqSf1RJmKKeq5e31RCODCQwZ0Qm2U7Iz39o4mn78=
Exponent2: C1AAHQi1HxGsyhxmyUVKAl1hnc36vvlZu3k6tyO5+lE=
Coefficient: xIovLgpjHUWdjP+4bQX96MtOYBfr5+mbnKGmZmuhg/0=

-ゾーンへの署名

公開鍵の内容をKEYレコードとしてゾーンファイルに追加する。

# cat example.com.zone Kexample.com.+001+40602.key > aaa
# mv aaa example.com.zone

# cat example.com.zone
$TTL 864000
@ IN SOA localhost. root.localhost. (
2009102901 ; serial
28800 ; refresh 8hr
14400 ; retry 4hr
604800 ; expire 1w
86400 ; default_ttl 24hr
)

IN NS ns1.example.com.
IN NS ns2.example.com.
ns1 IN A 192.168.100.2
ns2 IN A 192.168.100.3
www IN A 10.0.0.1
example.com. IN DNSKEY 256 3 1 AwEAAd7Onu+Su/6T+iK8gGBOCJn2zPTAu3I4tZmYJLqxbb7/vnlesuvS JqdJ/9uECOp5hscc0HoDSLjOqiz58VaemoE=

ゾーンに署名を行う。

# dnssec-signzone -o example.com. example.com.zone
example.com.zone.signed

署名されたゾーンファイルが生成される。

# head -20 example.com.zone.signed
; dnssec_signzone version 9.5.2
example.com. 864000 IN SOA localhost. root.localhost. (
2009102901 ; serial
28800 ; refresh (8 hours)
14400 ; retry (4 hours)
604800 ; expire (1 week)
86400 ; minimum (1 day)
)
864000 RRSIG SOA 1 2 864000 20091128072549 (
20091029072549 40602 example.com.
nfMMQDVSNNkjlYy+zX9tC1FlhUrQG/u2JK1r
W8jaTrzE2qZ+4TWSbgtvbBflifUAxGoz/DB8
qj7g1BJLq0juJQ== )
864000 NS ns1.example.com.
864000 NS ns2.example.com.
864000 RRSIG NS 1 2 864000 20091128072549 (
20091029072549 40602 example.com.
gCUzVdSl2pw2EPwEGuz+KgkjJ3L2U6TW7MM1
lHBOKOW/YPExvFiC2PIrTeKADekvka8FHZNR

- named.conf の設定

trusted-keys ステートメントを追加

trusted-keys {
example.com. 256 3 1 "AwEAAd7Onu+Su/6T+iK8gGBOCJn2zPTAu3I4tZmYJLqxbb7/vnlesuvS JqdJ/9uECOp5hscc0HoDSLjOqiz58VaemoE=";
};

zone "example.com" {
type master;
# file "example.com.zone";
file "example.com.zone.signed";
};

[動作確認]

named を再起動

レスポンスサイズ大きくなるな~。

DNSSECあり: MSG SIZE rcvd: 556
DNSSECなし: MSG SIZE rcvd: 117


-DNSSECなし

# dig @127.1 www.example.com. +norec

; <<>> DiG 9.5.2 <<>> @127.1 www.example.com. +norec
; (1 server found)
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 27153
;; flags: qr aa ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2

;; QUESTION SECTION:
;www.example.com. IN A

;; ANSWER SECTION:
www.example.com. 864000 IN A 10.0.0.1

;; AUTHORITY SECTION:
example.com. 864000 IN NS ns1.example.com.
example.com. 864000 IN NS ns2.example.com.

;; ADDITIONAL SECTION:
ns1.example.com. 864000 IN A 192.168.100.2
ns2.example.com. 864000 IN A 192.168.100.3
;; MSG SIZE rcvd: 117
#

- DNSSEC あり ( DOビット オン )

# dig @127.1 +dnssec www.example.com +norec

; <<>> DiG 9.5.2 <<>> @127.1 +dnssec www.example.com +norec
; (1 server found)
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 41894
;; flags: qr aa ra; QUERY: 1, ANSWER: 2, AUTHORITY: 3, ADDITIONAL: 5

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags: do; udp: 4096
;; QUESTION SECTION:
;www.example.com. IN A

;; ANSWER SECTION:
www.example.com. 864000 IN A 10.0.0.1
www.example.com. 864000 IN RRSIG A 1 3 864000 20091128072549 20091029072549 40602 example.com. Ab43G3mYzy4//dBVJ/kA71y8Jjc1F67EtqHPG9EV67D6+069I14W0OKQ fMF4fgPfmdJuvtODVYzq37hzemUerw==

;; AUTHORITY SECTION:
example.com. 864000 IN NS ns1.example.com.
example.com. 864000 IN NS ns2.example.com.
example.com. 864000 IN RRSIG NS 1 2 864000 20091128072549 20091029072549 40602 example.com. gCUzVdSl2pw2EPwEGuz+KgkjJ3L2U6TW7MM1lHBOKOW/YPExvFiC2PIr TeKADekvka8FHZNR+B7DQBDxhHgW3g==

;; ADDITIONAL SECTION:
ns1.example.com. 864000 IN A 192.168.100.2
ns2.example.com. 864000 IN A 192.168.100.3
ns1.example.com. 864000 IN RRSIG A 1 3 864000 20091128072549 20091029072549 40602 example.com. V1M2yTaSbRXODBqtecgS3DyOadHlx9elOvR1oJmE81Goew84RVHB3eSr PgSOOGCtFGDL6VOUHW9ZgcqVNY61rA==
ns2.example.com. 864000 IN RRSIG A 1 3 864000 20091128072549 20091029072549 40602 example.com. OHHnlwgoM7OG/HnLvjuTSlz0IEdeeAvc5NAJ6vT1hn1jrkh5vtKkC+FY EG2KILflP1ndQqXFQH1I/h1KaRPcRA==
;; MSG SIZE rcvd: 556
#

DNSSEC有効だと、NXDOMAINでもかなりのサイズになる。。
全部DNSSECになったら、帯域えらいふえるなー。
NXDOMAINアタックとかで、帯域つぶせる。。。??

NXDOMAIN DNSSECあり: MSG SIZE rcvd: 493
NXDOMAIN DNSSECなし: MSG SIZE rcvd: 82

# dig +dnssec @127.1 nx.example.com. +norec

; <<>> DiG 9.5.2 <<>> +dnssec @127.1 nx.example.com. +norec
; (1 server found)
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 36343
;; flags: qr aa ra; QUERY: 1, ANSWER: 0, AUTHORITY: 6, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags: do; udp: 4096
;; QUESTION SECTION:
;nx.example.com. IN A

;; AUTHORITY SECTION:
example.com. 86400 IN SOA localhost. root.localhost. 2009102901 28800 14400 604800 86400
example.com. 86400 IN RRSIG SOA 1 2 864000 20091128072549 20091029072549 40602 example.com. nfMMQDVSNNkjlYy+zX9tC1FlhUrQG/u2JK1rW8jaTrzE2qZ+4TWSbgtv bBflifUAxGoz/DB8qj7g1BJLq0juJQ==
example.com. 86400 IN NSEC ns1.example.com. NS SOA RRSIG NSEC DNSKEY
example.com. 86400 IN RRSIG NSEC 1 2 86400 20091128072549 20091029072549 40602 example.com. 070Ug+0iJeDN+CoSlz4/jnHDppEIYYquJxn1MLEsiZXO+0rDFDsrhynF 1+cc68ynhVefeZQPDAIG1l8dKouLXw==
ns2.example.com. 86400 IN NSEC www.example.com. A RRSIG NSEC
ns2.example.com. 86400 IN RRSIG NSEC 1 3 86400 20091128072549 20091029072549 40602 example.com. FiRA+jxD9gZj7bNhkNEg3+nMXWKr6bfB4cSt2y33T38KTt7kj+V31mO0 bRSGYVSAZpu66RgZesjIVFS0s0LPwA==

;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; MSG SIZE rcvd: 493


# dig @127.1 nx.example.com. +norec

; <<>> DiG 9.5.2 <<>> @127.1 nx.example.com. +norec
; (1 server found)
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 46370
;; flags: qr aa ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0

;; QUESTION SECTION:
;nx.example.com. IN A

;; AUTHORITY SECTION:
example.com. 86400 IN SOA localhost. root.localhost. 2009102901 28800 14400 604800 86400

;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; MSG SIZE rcvd: 82