lost and found ( for me ? )

Showing posts with label Fedora11. Show all posts
Showing posts with label Fedora11. Show all posts

Fedora 11 : yum エラー fix 方法 Cannot retrieve repository metadata (repomd.xml)

Fedora 11 : yum エラー

理由はわからんが、アップデートしようとしたら、こんなエラーがでて、yum update ができなくなった。

[root@arizona ~]# yum update -y
読み込んだプラグイン:refresh-packagekit
エラー: Cannot retrieve repository metadata (repomd.xml) for repository: fedora. Please verify its path and try again

修正方法

/etc/yum.d.repo の fedora.repo , fedora-update.repo を編集
fedora.repo , fedora-update.repo 内の すべての baseurl を非コメント化する。
すべての mirrorlist をコメントアウトにする

こんな感じ。

baseurl=http://download.fedoraproject.org/pub/fedora/linux/releases/$releasever/Everything/$basearch/os/
#mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=fedora-$releasever&arch=$basearch

yum-fastestmirror をインストール

# yum install -y yum-fastestmirror

yum がなおった。( エラーがでなくなった )

確認

# yum update -y
読み込んだプラグイン:fastestmirror, refresh-packagekit
Loading mirror speeds from cached hostfile
更新処理の設定をしています
更新と設定されたパッケージがありません
[root@arizona yum.repos.d]#

[root@arizona yum.repos.d]# yum list | head -10
読み込んだプラグイン:fastestmirror, refresh-packagekit
Loading mirror speeds from cached hostfile
インストール済みパッケージ
Canna-libs.x86_64 3.7p3-27.fc11 installed
ConsoleKit.x86_64 0.3.0-8.fc11 installed
ConsoleKit-libs.x86_64 0.3.0-8.fc11 installed
ConsoleKit-x11.x86_64 0.3.0-8.fc11 installed
DeviceKit.x86_64 003-1 installed
DeviceKit-disks.x86_64 004-5.fc11 installed
DeviceKit-power.x86_64 010-0.3.20090810git.fc11 installed
[root@arizona yum.repos.d]#

X.org X11 radeonhd driver

Dell Inspiron 1526: how to install Radeon driver

こんなドライバーあったんだー。

https://admin.fedoraproject.org/pkgdb/packages/name/xorg-x11-drv-radeonhd

X.org X11 radeonhd driver for AMD GPG r5xx/r6xx Chipsets.

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

[root@alaska ~]# uname -r
2.6.29.6-217.2.16.fc11.i686.PAE

ためしにインストールしてみよう。

[root@alaska ~]# yum install -y xorg-x11-drv-radeonhd.i586

んで、xorg.conf を編集。。。と思ったら、xorg.conf がない。
んでググると、

Fedora can autoconfigure X without a xorg.conf in many cases.
If you would like to generate one, yum install system-config-display and run system-config-display --reconfig.

らしい。

んじゃ、system-config-display をインストール

[root@alaska ~]# yum install -y system-config-display.noarch
[root@alaska ~]# system-config-display --reconfig

GUIが立ち上がったるので、いったん、このまま OK をクリックして、xorg.conf を作成。

現在の設定の xorg.conf ができた。

[root@alaska ~]# ls /etc/X11/xorg.conf

GUIから、ドライバ選択できるんだ。


ドライバ変更して、OKクリックすると、元のファイルは .backup として保存される。

[root@alaska X11]# diff xorg.conf xorg.conf.backup
19c19
< Driver "radeonhd"
---
> Driver "radeon"
28a29
> Modes "640x480"
[root@alaska X11]#

reboot

おー、radeonhd ドライバで起動した。

Xが調子わるいときは、適当にドライバをかえてテストしてみるのもいいかも。
--noui を引数に指定すると、GUIじゃなく設定できるみたい。

[root@alaska ~]# system-config-display --help | grep noui
--noui don't show the gui, implicit when using --set options


エアロの get a grip 久々に聞いたら、いいなー。
すげー、もう10年以上前にリリースされたのに、古さを感じない。。

gotta love it かっこいいなー。
u gotta love it , u better own it , goin' 'round n' 'round ...

KVM vswitch 調査中

VMWare ESX の vSwitch って、SPAN , ACL とかできないんだー。
tagged VLAN とかはできるのに。。インテリジェントなL2スイッチかと
思いきや、そうでもないんだー。
それを補うために、Cisco の Nexus 1000V がリリースされたんだろうけど。。

ちなみに、KVMはどうなんだろー。

VMを2つ起動したら、vnet0 , vnet1 ってのができた。

[root@arizona ]# ifconfig | egrep -e 'vnet0|vnet1'
vnet0 Link encap:Ethernet HWaddr D6:65:CA:B8:80:D7
vnet1 Link encap:Ethernet HWaddr 9A:5F:A0:C7:94:84

vnet0 は最初に起動したVM ( CentOS )
vnet1 は次に起動したVM ( Win XP )

これが、virbr0 と接続(?)されてるから、VM間で通信ができる
ってことなのかな。

[root@arizona ]# ifconfig | grep vir
virbr0 Link encap:Ethernet HWaddr 9A:5F:A0:C7:94:84

eth0 -- virbr0 -- vnet0 ( CentOS )
-- vnet1 ( WinXP )

ってイメージ??

ちゃんとマニュアル読めって?

vnet0 & vnet1 キャプチャしてみると、スパツリが動いている。

[root@arizona ~]# tshark -i vnet0 | grep -i spanning
Running as user "root" and group "root". This could be dangerous.
Capturing on vnet0
1.396301 d6:65:ca:b8:80:d7 -> Spanning-tree-(for-bridges)_00 STP Conf. Root = 32768/0/9a:5f:a0:c7:94:84 Cost = 0 Port = 0x8001

[root@arizona ~]# tshark -i vnet1
Running as user "root" and group "root". This could be dangerous.
Capturing on vnet1
0.000000 9a:5f:a0:c7:94:84 -> Spanning-tree-(for-bridges)_00 STP Conf. Root = 32768/0/9a:5f:a0:c7:94:84 Cost = 0 Port = 0x8002

vnet0 , vnet1 って vSwitch ??
virbr0 も vSwitch ??

スパツリ動いているってことは、もし動いていなかったら、
vnet0 と vnet1 でループが発生する ??

[root@arizona ~]# ifconfig | grep -i "9a:5f"
virbr0 Link encap:Ethernet HWaddr 9A:5F:A0:C7:94:84
vnet1 Link encap:Ethernet HWaddr 9A:5F:A0:C7:94:84

virbr0 と vnet0 の MAC が一緒だ。。うーんようわからん。。

WinXP ( 126 ) -> CentOS ( 222 ) に ping 打ってるときにキャプチャすると
vnet0 , vnet1 , virbr0 の全部でパケットとれるなー。
どこでとるのが正しいんだ?? 同じネットワークに属しているから
どこでも同じなのかな。。別ネットワーク作ってためしてみよう。。。いつか。。

[root@arizona ~]# tshark -i vnet0 icmp
Running as user "root" and group "root". This could be dangerous.
Capturing on vnet0
0.000000 192.168.122.126 -> 192.168.122.222 ICMP Echo (ping) request
0.000727 192.168.122.222 -> 192.168.122.126 ICMP Echo (ping) reply
1.015775 192.168.122.126 -> 192.168.122.222 ICMP Echo (ping) request
1.016211 192.168.122.222 -> 192.168.122.126 ICMP Echo (ping) reply
^C4 packets captured
[root@arizona ~]# tshark -i vnet1 icmp
Running as user "root" and group "root". This could be dangerous.
Capturing on vnet1
0.000000 192.168.122.126 -> 192.168.122.222 ICMP Echo (ping) request
0.000403 192.168.122.222 -> 192.168.122.126 ICMP Echo (ping) reply
0.999822 192.168.122.126 -> 192.168.122.222 ICMP Echo (ping) request
1.000599 192.168.122.222 -> 192.168.122.126 ICMP Echo (ping) reply
^C4 packets captured
[root@arizona ~]# tshark -i virbr0 icmp
Running as user "root" and group "root". This could be dangerous.
Capturing on virbr0
0.000000 192.168.122.126 -> 192.168.122.222 ICMP Echo (ping) request
0.000681 192.168.122.222 -> 192.168.122.126 ICMP Echo (ping) reply
0.999804 192.168.122.126 -> 192.168.122.222 ICMP Echo (ping) request
1.000789 192.168.122.222 -> 192.168.122.126 ICMP Echo (ping) reply
^C4 packets captured
[root@arizona ~]#

もち、eth0 , lo ではicmpパケットはとれない。

[root@arizona ~]# tshark -i eth0 icmp
Running as user "root" and group "root". This could be dangerous.
Capturing on eth0
^C0 packets captured
[root@arizona ~]# tshark -i lo icmp
Running as user "root" and group "root". This could be dangerous.
Capturing on lo
^C0 packets captured
[root@arizona ~]#


Fedora 11 KVM: guest Win 2003 Server R2 ( 32 bit )

Fedora 11 KVM

Host: Fedora
Guest: Win2003 Server R2 ( 32bit )

[root@arizona ]# ln -s win2003R2_disk1.iso tmp.iso

CDが2枚なので、CDをいれかえろーっていわれたときに、シンボリックリンクを貼り替える。

[root@arizona ]# ls -l tmp.iso
lrwxrwxrwx 1 root root tmp.iso -> win2003R2_disk1.iso
[root@arizona ]#

isoは tmp.iso を指定しておく。



2003起動 ( まだ R2 じゃないよ )

んで下記の表示が出たら、ディスクを入れ替える( disk1 -> disk2 へ)

これはシンボリックリンクをはりかえればOK


はりかえ前。

[root@arizona ]# ls -l tmp.iso
lrwxrwxrwx 1 root root tmp.iso -> win2003R2_disk1.iso

いったん tmp.iso を削除する

[root@arizona ]# ln -s win2003R2_disk2.iso tmp.iso
ln: creating symbolic link `tmp.iso': ファイルが存在します
[root@arizona ]# rm tmp.iso
rm: remove シンボリックリンク `tmp.iso'? y

disk2 にシンボリックリンクをはる

[root@arizona ]# ln -s win2003R2_disk2.iso tmp.iso
[root@arizona ]# ls -l tmp.iso
lrwxrwxrwx 1 root root tmp.iso -> win2003R2_disk2.iso
[root@arizona ]#

OK はクリックせずに、いったんキャンセル。
シンボリックリンクのファイル ( tmp.iso ) をいったん削除して、はりかえて OK すると、
エラーになる。
そんなのないぞーって。
たぶん、起動時に tmp.iso は disk1 を参照していて、その状態を
保っているから、VM起動中に tmp.iso を disk2にはりかえてもダメなのかなー。
たぶん、おそらく、maybe , i think , i guess ...

その後、マイコンピュータ -> Disk クリックして、 R2 へアップグレード。

CD-ROMドライブがあるのなら、iso じゃなくて、メディア入れ替えてもいいんだけど。。



R2になった。わーい。


page & plant の walking into clarksdale いいなー。
また、アルバムだしてくれないかなー。
んー、でも plant がソロでがんばってるし、もう Zep やりたくなさそうだし。
plant のソロも好きだけど~。

I knew you, I touched you :)
When the world was young :D

Cheers!

Fedora 11 KVM : Host Fedora 11 , Guest WinXP Pro

Fedora 11 KVM ( Kernel-based Virtual Machine )

Host OS: Fedora 11 ( 32 bit )
Guest OS: Win XP Pro ( 32bit )

[root@arizona ~]# uname -r
2.6.29.6-217.2.3.fc11.i686.PAE

Fedora 11 64bit版にしようかなー、と迷い中の今日この頃。

AMDの場合、/proc/cpuinfo の flags に svm があれば、VTに対応していることになる。
表示されない場合は、BIOS で Virtualization が有効になっているか , CPU がVT対応か、確認してね~。

cpuinfo

[root@arizona ~]# cat /proc/cpuinfo
processor : 0
vendor_id : AuthenticAMD
cpu family : 15
model : 107
model name : AMD Athlon(tm) 64 X2 Dual Core Processor 4800+
stepping : 1
cpu MHz : 1000.060
cache size : 512 KB
physical id : 0
siblings : 2
core id : 0
cpu cores : 2
apicid : 0
initial apicid : 0
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy 3dnowprefetch
bogomips : 2000.12
clflush size : 64
power management: ts fid vid ttp tm stc 100mhzsteps

processor : 1
vendor_id : AuthenticAMD
cpu family : 15
model : 107
model name : AMD Athlon(tm) 64 X2 Dual Core Processor 4800+
stepping : 1
cpu MHz : 1000.060
cache size : 512 KB
physical id : 0
siblings : 2
core id : 1
cpu cores : 2
apicid : 1
initial apicid : 1
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy 3dnowprefetch
bogomips : 1999.58
clflush size : 64
power management: ts fid vid ttp tm stc 100mhzsteps

[root@arizona ~]#


仮想化環境のインストール

[root@arizona ~]# yum -y groupinstall "Virtualization"

win xp の iso は下記にある。
もちろん、CD-ROM ドライブを指定してインストールしてもOK

[root@arizona ~]# file /root/winxppro.iso
/root/winxppro.iso: ISO 9660 CD-ROM filesystem data 'X1APVOL_JA ' (bootable)

仮想マシンマネージャの起動 ( アプリケーション -> システムツール -> 仮想マシンマネージャ )

仮想マシンを作成

壁紙かっこいいでしょ? ( backyard babies :D )




インストール中



again .. 壁紙 backyard babies .. ドレゲン(ギター)さいこー。


インストールが完了するまでしばし待つ。。30分くらいかな。。

こんな感じー

Monitoring DNS traffic via munin

OS: Fedora 11

unbound はソースからインストール
unbound 1.3.0

munin はyum でインストール

munin-node が daemon。

# yum install -y munin-node.noarch munin.noarch

munin の設定ファイル。

/etc/munin

munin-node.conf munin.conf

プラグイン

# ls /etc/munin/plugins/
cpu forks iostat netstat processes swap
df if_err_eth0 irqstats ntp_offset sendmail_mailqueue vmstat
df_inode if_eth0 load open_files sendmail_mailstats
entropy interrupts memory open_inodes sendmail_mailtraffic

これらはシンボリックリンクがはってある。

# ls -l /etc/munin/plugins/cpu
lrwxrwxrwx 1 root root 28 2009-06-28 00:52 /etc/munin/plugins/cpu -> /usr/share/munin/plugins/cpu

unbound の下記ページを参照。

http://www.unbound.net/documentation/howto_statistics.html

Statistics with Munin

unboundのプラグインはuboundのソースに含まれている。( contrib ディレクトリ下 )

# cp unbound_munin_ /usr/local/etc/unbound/

シンボリックリンクをはる。

# ln -s /usr/local/etc/unbound/unbound_munin_ /etc/munin/plugins/unbound_munin_hits

unbound.conf の編集

statistics-interval: 0
statistics-cumulative: no

muninの設定

追加

# cat /etc/munin/plugin-conf.d/munin-node
[unbound*]
user root

ファイルを作成

# cat /etc/munin/plugin-conf.d/unbound
[unbound*]
user root
env.statefile /var/lib/munin/plugin-state/unbound-state
env.unbound_conf /usr/local/etc/unbound/unbound.conf
env.unbound_control /usr/local/sbin/unbound-control
env.spoof_warn 1000
env.spoof_crit 100000

# unbound-control reload
ok

munin-node を起動

# /etc/init.d/munin-node start
Starting Munin Node: [ OK ]

http:://127.1:4949でアクセスできる。

# less /etc/munin/munin-node.conf

# Which address to bind to;
host *
# host 127.0.0.1

# And which port
port 4949

# netstat -an | grep 4949
tcp 0 0 0.0.0.0:4949 0.0.0.0:* LISTEN
ブラウザでアクセスしてもグラフが表示されない。。

# Unknown command. Try list, nodes, config, fetch, version or quit
# Unknown command. Try list, nodes, config, fetch, version or quit
# Unknown command. Try list, nodes, config, fetch, version or quit
muninのログにunbound.conf のパーミッションdenyのログがでてるなー。

/var/log/munin/munin-node.log

[1245340683] unbound-control[3504:0] error: Could not open /etc/unbound/unbound.conf: Permission denied

telnet してみると応答がある。
munin-node がオープンするポートは telnet 待ち受けポートであって、httpではない
気がしてきた。

# telnet 127.1 4949
Trying 127.0.0.1...
Connected to 127.1.
Escape character is '^]'.
# munin node at arizona.localdomain
help
# Unknown command. Try list, nodes, config, fetch, version or quit
list
open_inodes sendmail_mailtraffic if_err_eth0 entropy irqstats sendmail_mailstats if_eth0 processes unbound_munin_hits df netstat interrupts swap load ntp_offset sendmail_mailqueue cpu df_inode open_files forks iostat memory vmstat
Connection closed by foreign host.
#

nboundのグラフができとらんなー。

# pwd
/var/www/html/munin/localhost
# ls *unbound*

unboundのpluginファイルがいけないのかなー。

localhost-unbound_munin_hits.html
/etc/munin/plugins/unbound_munin_hits: line 163: /var/lib/munin/plugin-state: Is a directory
Plugin "unbound_munin_hits" exited with status 256. --error retrieving data from unbound server


これが原因か。。

# less -N /etc/munin/plugins/unbound_munin_hits

25 # env.statefile /usr/local/var/munin/plugin-state/unbound-state

編集。ディレクトリをmuninとあわせる。

# vi /etc/munin/plugins/unbound_munin_hits

[unbound*]
user root
# env.statefile /usr/local/var/munin/plugin-state/unbound-state
env.statefile /var/lib/munin/plugin-state/unbound-state
env.unbound_conf /usr/local/etc/unbound/unbound.conf
env.unbound_control /usr/local/sbin/unbound-control
env.spoof_warn 1000
env.spoof_crit 100000


# touch /var/lib/munin/plugin-state/unbound-state

munin再起動

# /etc/init.d/munin-node restart

まだエラーが出る。

/etc/munin/plugins/unbound_munin_hits: line 164: /var/lib/munin/plugin-state: Is a directory

これが原因か。。state= のやつ。

# egrep plugin-state /etc/munin/plugins/unbound_munin_hits
# env.statefile /usr/local/var/munin/plugin-state/unbound-state
# env.statefile /usr/local/var/munin/plugin-state/unbound-state
env.statefile /var/lib/munin/plugin-state/unbound-state
state=${statefile:-/usr/local/var/munin/plugin-state/unbound-state}

修正。

# egrep plugin-state /etc/munin/plugins/unbound_munin_hits
# env.statefile /usr/local/var/munin/plugin-state/unbound-state
# env.statefile /usr/local/var/munin/plugin-state/unbound-state
env.statefile /var/lib/munin/plugin-state/unbound-state
#state=${statefile:-/usr/local/var/munin/plugin-state/unbound-state}
state=${statefile:-/var/lib/munin/plugin-state/unbound-state}

再起動

こいつかー。

# /etc/init.d/munin-node restart
# cat /etc/munin/plugin-conf.d/unbound
[unbound*]
user root
#env.statefile /var/lib/munin/plugin-state/ ← これ
#env.statefile /var/lib/munin/plugin-state/unbound-state ←修正
env.unbound_conf /usr/local/etc/unbound/unbound.conf
env.unbound_control /usr/local/sbin/unbound-control
env.spoof_warn 1000
env.spoof_crit 100000

# /etc/init.d/munin-node restart

うまくいったっぽい。

# egrep unbound /var/log/munin/munin-node.log
#

ファイルができたー。

# pwd
/var/www/html/munin/localhost

# ls *unbound*
localhost-unbound_munin_hits-day.png localhost-unbound_munin_hits-year.png
localhost-unbound_munin_hits-month.png localhost-unbound_munin_hits.html
localhost-unbound_munin_hits-week.png

情報は cron で定期的に収集している。

# cat /etc/cron.d/munin

#
# cron-jobs for munin
#

MAILTO=root

*/5 * * * * munin test -x /usr/bin/munin-cron && /usr/bin/munin-cron
14 10 * * * munin test -x /usr/share/munin/munin-limits && /usr/share/munin/munin-limits --force --contact nagios --contact old-nagios

unboundの情報も収集できてるみたい。

# head -10 /var/lib/munin/plugin-state/unbound-state
thread0.num.queries=4701
thread0.num.cachehits=3032
thread0.num.cachemiss=1669
thread0.num.recursivereplies=1538
thread0.requestlist.avg=62.441
thread0.requestlist.max=119
thread0.requestlist.overwritten=0
thread0.requestlist.exceeded=0
thread0.requestlist.current.all=112

muninのhtmlのログに warning がでてるなー。

# egrep -i unbound /var/log/munin/munin-html.log
Jun 28 01:20:23 - Warning: Unknown option "error" in "localhost;localhost:unbound_munin_hits.error".
Jun 28 01:20:23 - processing service: unbound_munin_hits

とりあえず画像ファイルのサイズが増えてるのでいいや。

# ls -lh *unbound*
-rw-r--r-- 1 munin munin 22K 2009-06-28 02:10 localhost-unbound_munin_hits-day.png
-rw-r--r-- 1 munin munin 21K 2009-06-28 02:00 localhost-unbound_munin_hits-month.png
-rw-r--r-- 1 munin munin 21K 2009-06-28 02:00 localhost-unbound_munin_hits-week.png
-rw-r--r-- 1 munin munin 21K 2009-06-28 02:00 localhost-unbound_munin_hits-year.png
-rw-r--r-- 1 munin munin 5.6K 2009-06-28 02:10 localhost-unbound_munin_hits.html

長いみちのりだー。凡ミスだらけだっただけど。。

ファイルを直にみるのではなく、80番ポートでみたい場合は httpd を起動。

# /etc/init.d/httpd start
httpd を起動中: [ OK ]

統計グラフを増やそう。

973 ln -s /usr/local/etc/unbound/unbound_munin_ /etc/munin/plugins/unbound_munin_queue
974 ln -s /usr/local/etc/unbound/unbound_munin_ /etc/munin/plugins/unbound_munin_memory
975 ln -s /usr/local/etc/unbound/unbound_munin_ /etc/munin/plugins/unbound_munin_by_type
976 ln -s /usr/local/etc/unbound/unbound_munin_ /etc/munin/plugins/unbound_munin_by_class
977 ln -s /usr/local/etc/unbound/unbound_munin_ /etc/munin/plugins/unbound_munin_by_opcode
978 ln -s /usr/local/etc/unbound/unbound_munin_ /etc/munin/plugins/unbound_munin_by_rcode
979 ln -s /usr/local/etc/unbound/unbound_munin_ /etc/munin/plugins/unbound_munin_by_flags
980 ln -s /usr/local/etc/unbound/unbound_munin_ /etc/munin/plugins/unbound_munin_by_histgram

グラフが増えた。ナイス。

# ls *unbound*.html
localhost-unbound_munin_by_class.html localhost-unbound_munin_by_type.html
localhost-unbound_munin_by_flags.html localhost-unbound_munin_hits.html
localhost-unbound_munin_by_opcode.html localhost-unbound_munin_memory.html
localhost-unbound_munin_by_rcode.html localhost-unbound_munin_queue.html

出来上がったグラフはこんな感じ。



unbound + munin すごいぞ。。キャッシュヒット率、qps , スプーフィングパケット などなどグラフでかんしできる。
BINDよりunboundの統計情報めっちゃ充実してるので、表示できるグラフも豊富だー。

unbound以外でもpluginがあればいろいろ監視できるので、muninすばらしい。
MRTG や cacti より楽だ。








get things done!

Unbound 1.3.0 has been released on June 11th 2009

ということで、ソースからインストールしてみました。
OS: Fedora 11

5ヶ月ぶりくらいのリリースだ。

主な追加機能:

1. Windows 32bit版のリリース ( source )
2. 権威サーバに問い合わせ中のクエリを表示できる
3. 権威サーバに問い合わせ中のクエリを破棄できる

かな。

インストールは簡単。

731 tar xzvf unbound-latest.tar.gz
732 cd unbound-1.3.0/
734 ./configure
735 make
736 make install
737 date
738 history

リモートコントロールできるように、unbound.conf の修正 and unbound-control-setup
を実行。( BIND の rndc コマンドみたいなもの )

- unbound.conf

control-enable: yes

# unbound-control-setup
setup in directory /usr/local/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
#


さて起動

# unbound-control start

起動しとらん。

# unbound-control status
[1245941094] unbound-control[22024:0] debug: address 127.0.0.1 port 953
[1245941094] unbound-control[22024:0] error: connect: Connection refused
unbound is stopped

ログを確認。

パーミッションがいけなさそう。

arizona unbound: [22022:0] error: Error for server-cert-file: /usr/local/etc/unbound/unbound_server.pem
arizona unbound: [22022:0] error: Error in SSL_CTX use_certificate_file crypto error:0200100D:system library:fopen:Permission denied
arizona unbound: [22022:0] error: and additionally crypto error:20074002:BIO routines:FILE_CTRL:system lib
arizona unbound: [22022:0] error: and additionally crypto error:140AD002:SSL routines:SSL_CTX_use_certificate_file:system lib
arizona unbound: [22022:0] fatal error: Could not initialize main thread

# ls -l /usr/local/etc/unbound/unbound_server.pem
-rw-r----- 1 root root /usr/local/etc/unbound/unbound_server.pem

ユーザ unbound , グループ unbound で起動するから所有者をかえればいいのかな。

unbound ユーザ/グループは存在する

# egrep unbound /etc/passwd /etc/group
/etc/passwd:unbound:x:489:482:Unbound DNS resolver:/etc/unbound:/sbin/nologin
/etc/group:unbound:x:482:


server.key , server.pem の所有者を変更

# chown unbound.unbound /usr/local/etc/unbound/unbound_server.pem
# chown unbound.unbound /usr/local/etc/unbound/unbound_server.key

再度起動。

# unbound-control start

Okay.

# unbound-control status
version: 1.3.0
verbosity: 1
threads: 1
modules: 2 [ validator iterator ]
uptime: 3 seconds
unbound (pid 22051) is running...

2. 権威サーバに問い合わせ中のクエリを表示できる

とは?

man unbound-control をみるとこんな説明が。

dump_requestlist
Show what is worked on. Prints all queries that the server is
currently working on. Prints the time that users have been
waiting. For internal requests, no time is printed. And then
prints out the module status.

コマンドを実行しても何も表示されない。

説明を見ると処理中のクエリの表示だから、
なにかクエリを流していないとダメなのかな。。

# unbound-control dump_requestlist
thread #0
# type cl name seconds module status

負荷ツールをインストール。

# yum install -y dnsperf.i586

dnsperf って Nominum社が開発したみたい。
Nominumって商用DNSサーバを開発しているところみたい。
高パフォーマンス、セキュアらしい。みたい。

キャッシュサーバのパフォーマンス測定方法の資料とか、
マニュアルがあるなー。なかなかしっかりしてるっぽい。
あとで(いつ?)で読むとして。

# rpm -ql dnsperf
/usr/bin/dnsperf
/usr/bin/queryparse
/usr/bin/resperf
/usr/bin/resperf-report

/usr/share/doc/dnsperf-1.0.1.0/doc/caching-dns-performance.pdf
/usr/share/doc/dnsperf-1.0.1.0/doc/dnsperf.pdf
/usr/share/doc/dnsperf-1.0.1.0/doc/resperf.pdf
/usr/share/doc/dnsperf-1.0.1.0/queryfile-example-100thousand.bz2

サンプルクエリのリストがあるぞ。

# less /usr/share/doc/dnsperf-1.0.1.0/queryfile-example-100thousand.bz2 | head -5
messenger.yahoo.com. A
beta.sip.yahoo.com. A
stun.voice.yahoo.com. A
relay.voice.yahoo.com. A
storybook.com. A

このクエリリストでかる~く負荷を流しているときに、
unbound-control dump_requestlist してみよう。。

クエリリスト、10万行もある。。すごいなー。

# wc -l queryfile-example-100thousand
100000 queryfile-example-100thousand

では、負荷をかけてみましょう。

# dnsperf -s 127.1 -d queryfile-example-100thousand

おっ、表示された。
時間もでてきた。

時間が表示されるのと、そうでないのがある。
表示されないのは、internal requests らしい。

internal requests って何だ??

時間が表示されないクエリを grep で調べると、クエリリスト内に存在しない。

名前解決するために、ネームサーバとか内部的に名前解決する必要のあるクエリが
internal requestsっぽい。

# egrep -i "ns.penteres.it" queryfile-example-100thousand
#

# unbound-control dump_requestlist
thread #0
# type cl name seconds module status
0 A IN ns.penteres.it. - iterator wait for 62.48.42.65
1 A IN dns.interbusiness.it. - iterator wait for 217.169.119.68
2 A IN ns1.sdt.net. - iterator wait for 194.88.168.12
3 A IN ns1.mbit.ro. - iterator wait for 86.104.232.4
4 A IN ns1.x-battle.com. - iterator wait for 74.94.117.221

12 A IN netadm2-ext.gtrep.gatech.edu. - iterator wait for 128.193.4.20
13 A IN 109.41.128.66.PPPoE.dynamic.telesat.net.co. 74.640424 iterator wait for 190.97.204.93
14 A IN atlas.sk. 74.395150 iterator wait for 62.168.117.131
15 A IN media.fimnetwork.com. 74.920760 iterator wait for 63.215.73.21

負荷を止めた直後の dump。

# unbound-control dump_requestlist
thread #0
# type cl name seconds module status
0 A IN ns.bdc.ntta.com. - iterator wait for 206.14.130.66
1 A IN ns.anfro.ro. - iterator wait for 89.35.178.10
9 A IN voltar2.im.gte.com. - iterator wait for 205.153.203.2
10 A IN cybersec.cs.uwp.edu. - iterator wait for 131.210.42.3
11 A IN lame26564.lame-delegation.org. - iterator wait for 205.177.28.149
12 PTR IN 1.102.253.62.in-addr.arpa. 183.060530 iterator wait for 62.253.102.77

負荷止めて、1分後でも表示されるなー。
内部的に回答まってる?

# unbound-control dump_requestlist | head -5
thread #0
# type cl name seconds module status
0 A IN ns.bdc.ntta.com. - iterator wait for 206.14.130.66
1 A IN ns.anfro.ro. - iterator wait for 89.35.178.10
2 A IN ns1.cellnetwork.no. - iterator wait for 85.19.184.11

やっぱり、応答ないのかなー。

# dig @127.1 ns.bdc.ntta.com.

; <<>> DiG 9.6.1rc1-RedHat-9.6.1-0.4.rc1.fc11 <<>> @127.1 ns.bdc.ntta.com.
; (1 server found)
;; global options: +cmd
;; connection timed out; no servers could be reached

お、timed out だ。dump_requestlist から、
応答しない可能性の高いクエリが確認できそう。

wait for の他に、 wants ってコメントもあるぞ。

# unbound-control dump_requestlist
thread #0
# type cl name seconds module status
0 A IN lame26564.lame-delegation.org. - iterator wait for 63.217.31.66
1 PTR IN 1.199.17.12.in-addr.arpa. 657.920996 iterator wants A IN lame26564.lame-delegation.org.
2 PTR IN 100.17.170.159.in-addr.arpa. 494.986305 iterator wait for 195.14.18.43

lame-delegation.org って、なんだ。やっぱ lame ?

あ、やっと消えた。

# unbound-control
dump_requestlist
thread #0
# type cl name seconds module status
#

何はともあれ、名前解決に時間がかかっているクエリ、できないクエリが
このコマンドで確認できそうだ。ナイス!!

すごいぞ、unbound ! 。BIND より統計情報が充実している。
パフォーマンスもいい(らしい)

オライリーあたりから、unbound本でればいいのに。

勝手に章を作ると、

1. unbound とは
2. インストール、起動
3. unbound.conf
4. unbound-control [start|stop|stats|dump_cache] などなど
5. セキュアなキャッシュサーバ ( validator , DNSSEC , use-caps-for-id etc )
6. munin or cacti でDNSトラフィックをモニター
7. パフォーマンス
8. misc

とかって感じ? 。あとログについて。

BIND本は確かバッタだから、unbound は、なんだろー。
unboundはキャッシュ専用なので、BIND本より薄くなりそうだ。。
BIND本、メタボ気味だし。。sendmail本より、はるかにやせてるけど。

unboundの詳しいマニュアルが提供されることを期待!

Linux top コマンド Cpu(s) から コアごとに表示

最近だとマルチコアがあたりまえ(?)になってきましたねー。

各コアごとのリソースをみたい場合は、top コマンド中に 1 を入力。
保存は W 。.toprc に保存される

Cpu(s): 14.1%us, 3.2%sy, 0.0%ni, 81.9%id, 0.7%wa, 0.1%hi, 0.0%si, 0.0%st
Mem: 4122380k total, 553380k used, 3569000k free, 20968k buffers
Swap: 8191992k total, 0k used, 8191992k free, 229960k cached

1 を押すと、Cpu(s) が Cpu0 , Cpu1 となる。

Cpu0 : 12.2%us, 2.6%sy, 0.0%ni, 85.1%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu1 : 11.8%us, 2.9%sy, 0.0%ni, 85.4%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 4122380k total, 554728k used, 3567652k free, 21020k buffers
Swap: 8191992k total, 0k used, 8191992k free, 230860k cached

W で保存

Cpu0 : 25.1%us, 3.6%sy, 0.0%ni, 71.3%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu1 : 21.0%us, 7.3%sy, 0.0%ni, 71.7%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 4122380k total, 555836k used, 3566544k free, 21076k buffers
Swap: 8191992k total, 0k used, 8191992k free, 230856k cached
Wrote configuration to '/root/.toprc'  ← これ

SELinux 無効方法 Fedora 11

なにかとめんどいので、無効だー。

# cat /etc/sysconfig/selinux
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - SELinux is fully disabled.
SELINUX=disabled ← disabled にする
# SELINUXTYPE= type of policy in use. Possible values are:
# targeted - Only targeted network daemons are protected.
# strict - Full SELinux protection.
SELINUXTYPE=targeted

んでリブート。

# dmesg | grep -i selinux
SELinux: Initializing.
SELinux: Starting in permissive mode
SELinux: Registering netfilter hooks
SELinux: Disabled at runtime.
SELinux: Unregistering netfilter hooks


done!

Apache SSL

Apache SSL 使用方法

OS: Fedora 11

必要なパッケージ

httpd , mod_ssl , openssl

# yum install -y httpd.i586
# yum install -y mod_ssl.i586
# yum install -y openssl.i686

# httpd -v
Server version: Apache/2.2.11 (Unix)
Server built: Mar 17 2009 09:15:10



証明書、鍵を openssl で作成、、と思いきや、
テスト用の証明書、鍵がインストールされている。
opensslコマンドで証明書、鍵の作成をしなくてよさそう。
うーん楽ちんだ。

# egrep -v "^#" /etc/httpd/conf.d/ssl.conf | egrep -v "^$"
LoadModule ssl_module modules/mod_ssl.so
Listen 443
SSLPassPhraseDialog builtin
SSLSessionCache shmcb:/var/cache/mod_ssl/scache(512000)
SSLSessionCacheTimeout 300
SSLMutex default
SSLRandomSeed startup file:/dev/urandom 256
SSLRandomSeed connect builtin
SSLCryptoDevice builtin

ErrorLog logs/ssl_error_log
TransferLog logs/ssl_access_log
LogLevel warn
SSLEngine on
SSLProtocol all -SSLv2
SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW
SSLCertificateFile /etc/pki/tls/certs/localhost.crt ←証明書 SSLCertificateKeyFile /etc/pki/tls/private/localhost.key ←秘密キー

SSLOptions +StdEnvVars


SSLOptions +StdEnvVars

SetEnvIf User-Agent ".*MSIE.*" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
CustomLog logs/ssl_request_log \
"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"


# ls /etc/pki/tls/certs/*.crt
/etc/pki/tls/certs/ca-bundle.crt /etc/pki/tls/certs/localhost.crt

# ls /etc/pki/tls/private/*.key
/etc/pki/tls/private/localhost.key

ためしに起動。

あれ、apachectl startssl がない。。

# apachectl startssl
Usage: /usr/sbin/httpd [-D name] [-d directory] [-f file]
[-C "directive"] [-c "directive"]
[-k start|restart|graceful|graceful-stop|stop]
[-v] [-V] [-h] [-l] [-L] [-t] [-S]


じゃあ、apachectl start で。

# apachectl start

Fedora 11 の httpd.conf は conf.d 下の設定ファイルを読み込んでくれる
みたい。( i.e. /etc/httpd/conf.d/ssl.conf を読み込んでくれる )

# egrep -i include /etc/httpd/conf/httpd.conf | grep "conf.d"
Include conf.d/*.conf

ポートをリッスンしているかチェック。
# lsof -i:443 | head -2
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
httpd 3140 root 6u IPv6 35807 0t0 TCP *:https (LISTEN)

# lsof -i:80 | head -2
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
httpd 3140 root 4u IPv6 35803 0t0 TCP *:http (LISTEN)

では、ブラウザでアクセス。
get things done!

Fedora 11 , Dell Inspiron 1526

Dell Inspiron 1526 に Fedora 11 をインストールしたので、メモ。

Fedora 10 のときは、音がインストール後出なかったが(設定ファイルを修正する
必要があった)、11 では特に設定ファイルを修正しなくても、ちゃんと音が出る。
ナイス、DJ Tiesto , Elements of Life !!!

Unbound , Fedora 11

OS: Fedora11

なんとなく、ISPのキャッシュサーバではなく自前のキャッシュサーバ
を使いたくなるので、unbound をインストール。

インストール

# yum install -y unbound.i586

起動

# /etc/init.d/unbound start

unbound-control コマンド ( rndc の unbound 版みたいなもの )
を使用するには、unbound-control-setup コマンドを実行し、unbound_control.key
を作成する必要があるけど、Fedora11のパッケージだと、初起動のときにキー
を作ってくれるみたい。

unbound.conf 抜粋

# Remote control config section.
remote-control:
# Enable remote control with unbound-control(8) here.
# set up the keys and certificates with unbound-control-setup.
# Note: required for unbound-munin package
control-enable: yes

初起動時のメッセージ

# /etc/init.d/unbound start
unbound の制御キーと証明証を生成中:
unbound を起動中: [ OK ]
#

起動スクリプトを確認したら、確かに unbound_control.key が存在しているか
チェックしてる。

if [ ! -f /etc/unbound/unbound_control.key ]

# less -N /etc/init.d/unbound
39 start() {
40 [ -x $exec ] || exit 5
41 [ -f $config ] || exit 6
42 # /var/run could (and should) be tmpfs
43 [ -d $piddir ] || mkdir $piddir
44
45 if [ ! -f /etc/unbound/unbound_control.key ]
46 then
47 echo -n $"Generating unbound control key and certificate: "
48 /usr/sbin/unbound-control-setup -d /etc/unbound/ > /dev/null 2> /dev/null

unbound-control コマンド OK !

# unbound-control status
version: 1.2.1
verbosity: 1
threads: 1
modules: 2 [ validator iterator ]
uptime: 7 seconds
unbound (pid 4664) is running...

名前解決も OK !

# dig @127.1 www.google.co.jp

Fedora 11 has been released !

ということで、恒例の衣替え。
Fedora 10 から Fedora 11 へ。

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

起動後、Palimpsest Disk Utility にアラートメッセージがあったので、
何じゃ?と思って確認したら、セクターと温度で Failing となっていた。
こんなツールもあるんですね~。
Fedora 10 のときは見なかったなー。インストールしてなかっただけかな。

ディスクが58度と。結構、熱もってますね~