2012-05-15

Livedoor IRCサーバからの接続

最近になって, Livedoor のサーバから私の管理する httpd へ何度か要求がきた.
125.6.255.10 - - [**/***/****:**:**:** +0900] "CONNECT 125.6.255.10:6667 HTTP/1.0" 405 325 "-" "-"
IRCの通信を通すことができるオープンなプロキシを探しているようだ. 私の管理するサーバでは当然のことながら拒否する.

125.6.255.10irc.livedoor.ne.jp.と逆引きされる. Livedoor の発表からもわかるように, IRCサービスを提供しているサーバである.

2012-05-05

Linux による IPv6 パケットのルーティング

Linux で IPv6-in-IPv4 を設定し, ルータとして使用する方法をまとめる. ここでは, Redhat EL 6 を例にして説明する. Hurricane Electric では, /64 セグメントと /48 セグメントを割り当ててトンネリングするサービスを無料で提供している. このサービスで IPv6 アドレスを取得して, Linux マシンをルータとして使用する.

構成

ホスト Host1, Host2 があり, Host1 はインターネットに接続されており, Host1-Host2 間は LAN で接続されている. Host1 のインターネット側のデバイスは eth1, LAN 側のデバイスは eth0 と割り当てている.

トンネリングの設定

まずは, Host1 で IPv6-in-IPv4 の設定を行う. Hurricane Electric で /64 アドレスを取得すると, 丁寧に設定方法を教えてもらえる.
ifconfig sit0 up
ifconfig sit0 inet6 tunnel ::xx.xx.xx.xx
ifconfig sit1 up
ifconfig sit1 inet6 add 20xx:xxxx:xxxx:xxxx::2/64
ip route add ::/0 dev sit1
少し設定方法を変えてしまったが, これで設定が完了. ping6 で接続されているか確認する.
ping6 www.kame.net
この設定をパーマネントに反映させる方法はまだ調べていない.

アドバータイズの設定

yum install radvd
cat >/etc/radvd.conf <<EOF interface eth0 { AdvSendAdvert on; prefix 20yy:yyyy:yyyy:1::1/64 { AdvOnLink on; AdvAutonomous on; }; }; EOF ifconfig eth0 add 20yy:yyyy:yyyy:1::1/64 service radvd start
20yy:yyyy:yyyy:1::1 の部分には, /48 セグメントの中の /64 セグメントを選んで設定する.

パケットフォワーディングの設定

sudo tee /proc/sys/net/ipv6/conf/all/forwarding <<<1
ip6tables -I FORWARD 1 -p tcp -j ACCEPT -m state --state ESTABLISHED,RELATED # 確立された tcp パケットを許可
ip6tables -I FORWARD 2 -j ACCEPT -i eth0 -o sit1 -p tcp -m tcp --dport http # http ポートへの接続を許可
# ip6tables -I FORWARD 3 -j ACCEPT -i eth0 -o sit1 # LAN からインターネットへの全てのパケットを許可 (設定してもよい)
# ip6tables -I FORWARD 4 -j ACCEPT -o eth0 -i sit1 # インターネットから LAN への全てのパケットを許可 (設定するべきでない)

2012-04-24

2012-03-26

SPモードでConnectBotのSSHセッションが切断される

最近, MoperaUからSPモードに変更したところ, connectbot の接続がすぐに切断されてしまう. SPモードのNATが原因だろうと予想していたものの, 同じ現象を見つけている人がいたようです. spmode.ne.jpは、キライ! この方はMoperaUに変更してしまったようです.

私は, /etc/ssh/sshd_config に以下の行を追加しました.

ClientAliveInterval 48
この方法でもひとまず問題を回避できました.

2012-03-17

Thinkpad のハードディスクのクリック音

Thinkpad に Linux をインストールして使用していると, 1分毎にハードディスクからクリック音が聞こえる. このクリック音と共に SMART の Load_Cycle_Count が増加してゆく.
193 Load_Cycle_Count        0x0012   001   001   000    Old_age   Always       -       1365961

1分毎に聞こえるのは cron などが1分毎に動作してハードディスクへアクセスするためと思われる. ハードディスクの電力管理の設定を変更することで, クリック音を無くすことができる. このサイトに説明されている. まず, hdparm で現在の設定を確認してみると, 128が設定されていた.

$ sudo hdparm -B /dev/sda 

/dev/sda:
 APM_level = 128
これを254または255へ変更する.
$ sudo hdparm -B 254 /dev/sda 

/dev/sda:
 setting Advanced Power Management level to 0xfe (254)
 APM_level = 254


2012-01-28

RHEL6上での FreeWnn ビルドエラー

Redhat Enterprise Linux 6 では, FreeWnn のビルドに失敗する. 出力されるエラーは以下の通り.
make[3]: Entering directory `/tmp/FreeWnn-1.1.1-a021/Wnn/pubdicplus'
gcc -E -DKANSAI fzk.master-.c | egrep -v '^(# |#line |#pragma |$)' | ../..//Wnn/jutil/atof -h ../..//Wnn/jd/hinsi.data std.fzk
Bad format near line 473 "".
'/' and definition of fuzokugo is expected.
make[3]: *** [std.fzk] Error 1
EL5 では問題なくビルドできる. fzk.master-.c はいくつかのインクルードによって構成されており, GCC によって接続する仕組みになっている. 一方で, 最近の gcc -E は, 途中の空白で改行を入れるようになった. -traditional を追加すると, ビルドできるようになった.

2012-01-03

Core i7 においてタイマー割込が起こらなくなる

Scientific Linux 6.0 を使用し始めてから, ときどき動作が遅くなることがあった. CentOS 5.6 を使用していた時は問題なかったのだが. キーを押してから画面に表示されるまで 500 ms くらいかかる. ログにはとくに目立った情報が出てこない. 6.0 から 6.1 にアップデートしても, 改善されない. irqbalance を起動しないようにする (chkconfig irqbalance off) と, 頻度がやや下がる.

watch -d cat /proc/interruptsで割込を見ていた所, IR-IO-APIC-edge timer 割込が停止することが分かった. 私は Scientific Linux 6 + Core i7 960 + nVidia GTX 260 を使用していてこの現象に遭遇したのだが, Ubuntu 10.10 + Core i7 930 + nVidia GTX 460 でも起こっているようだ. なお, 私の手元の別のマシン Scientific Linux 6 + Xeon X5260 は正常に動作している.

kernel が 2.6.32-131.21.1.el6.x86_64 から 2.6.32-220.2.1.el6.x86_64 にアップデートされたので, しばらく様子をみてみよう...

追記 (2013-08-14)
最近は問題なく使用できている.