OCN ipv6

去年書いた記事ですが、サイト移動につき再掲載。

ちゃんとしたIPv6アドレスが欲しくてOCN契約しました。

前はNGN(NTT西日本)のアドレスと6to4アドレスだったわけですが、
NGNのアドレスは外に出れないし、6to4はちょっとなぁ・・・
ということで。

Windows7上でOCN ipv6接続プログラムを動かせば問題なく動作することは確認しました。

問題はおうちサーバのdebianで使えるかどうかです。

ググれば設定例はたくさん出てきますが、一応やったことを。

# apt-get install xl2tpd wide-dhcpv6-client

/etc/xl2tpd/xl2tpd.conf

[global]
auth file = /etc/ppp/chap-secrets
[lac ocnipv6]
lns = 固定プレフィックス用接続サーバ名
hostname = 認証ID
ppp debug = no
pppoptfile = /etc/ppp/peers/ocnipv6
length bit = yes
require chap = yes
require authentication = yes
redial = yes
redial timeout = 10
max redials = 6

/etc/ppp/chap-secrets

認証ID * 認証パスワード *

/etc/ppp/peers/ocnipv6

nodefaultroute
noip
+ipv6
usepeerdns
user 認証ID
mtu 1390
noipdefault
default-asyncmap
nopcomp
noaccomp
noccp
novj
nobsdcomp
nodeflate
lcp-echo-interval 30
lcp-echo-failure 2
lock
noauth
unit 6
ipparam ocnipv6

ipv6のインタフェイス名はppp6に固定にしました。
/etc/ppp/ipv6-up.d/ などで切り分けたいときにどのパラメータを見るか悩んだのですが、
結局インタフェイス名を固定した方が楽そうだということでこうしました。

/etc/ppp/ipv6-up.d/00ipv6

case "$PPP_IFACE" in
ppp6)
/sbin/route -6 add ::/0 $PPP_IFACE
/etc/init.d/wide-dhcpv6-client restart
::
esac

最初、ppp6ができても通信ができない。なぜだー!となったのですが、
dhcp6clientでアドレスを取らないとダメっぽいです。
直にeth0に2001:ほげほげを付けて動かんーと悩んでました。
サーバーなので2001:xx:xx:xx::1にアドレス固定していたのですが、
dhcpで2001:xx:xx:xx:MACアドレスのアレ を取らないとあっち側にルーティングできないっぽいです

/etc/wide-dhcpv6/dhcp6c.conf

interface ppp6 {
    send ia-pd 0;
{
id-assoc pd 0 {
    prefix-interface eth0 {
        sla-id 1;
        sla-len 0;
    };
};

/etc/default/dhcp6c-client

INTERFACES="ppp6"

で、あとは xl2tp-control connect ocnipv6 で接続して動くようです。

こっちはいいんですが、非固定側が面倒・・・
また次回にでも。

DAIO 作業

大王サーバがコケました。

作業内容。

環境設定

daioの電源を入れてみる。
とりあえず起動できたのでこれでルータいじることに。
ninjaに切り替えたらモニタがうまく表示されない。
とりあえずdaioからログインしてkon2をインストール、実行して即終了で表示だけは治った。
漢字コードの問題で日本語表示は最終的に断念した。
おかげで報告メールも全部携帯。めんどくせー

そしてキーボードが英語配列のまま。記号がめんどくせー
でも結局このまま使った。
記号よりCtrlの位置が慣れなくて困ったちゃんであった。

ルータ

ルータへのログインができなくなっていたのでその再設定。
password reenterという機能があるらしいが、結局使わなかった。
普通に起動しているときにINITを10秒押し続けるとパスワードなしでログインできるというもの。

今回はシリアルで接続してデフォルトパスワードでログインという手段を使った。
シリアルで接続しているときに限り”w,lXlma”でログインできるというもの。

これで名無しユーザのパスワードをいつものやつ、管理者のパスワードを例のやつにする。
#administrator password encrypt
#user password encrypt

しかしログインできない。sshがどうもダメっぽいのでtelnetにする。
#telnetd service on

telnetするといきなりパスワード聞かれるのでいつものやつでログイン
>administrator
Password:

で管理者になってあとはふがほげ。
telnetだとuserログインとかうまくいくからパスワード間違いとかじゃないはずなんだけどなぁ
sshd host key generate
すればよかったのかなぁと後の祭。

大王サーバ

実は最初にシリアルつなごうとしてつながっているUPS抜いたらshutdownかかったw
そして再起動に一度失敗。
なんとなくメモリ不良っぽいカーネルエラーが出てたような気がする。
spamassasinがsegfault出しまくってた感じがあったがきっとただのトリガーだろう(適当

ちなみにシリアルターミナルは懐かしのminicomを入れました。
モデム用なので起動するとATZが入るのがご愛嬌。
あとで思い出したけど
screen /dev/ttyS0
で良かったんだった。

HDD移殖

daio機のHDDを引っこ抜く。
最初外し方がわからなくて必要ないところまでネジを開ける <- あるある
結局レバーひとつでケースごと外れてあとはネジ回しで外すだけ。

どうせ次回来た時には忘れてるだろうから速攻で忘れておこうと誓った(謎

ninja機で使用していないhddを引っこ抜く。
構造一緒だったのでこっちは簡単に外れた。忘れないで良かった(謎2
使っていない方は接続していないとのことだったが、両方しっかり接続してあったのでどっちがどっちかわかんなかったのでBIOSから起動デバイス調べて検討を付ける。

さっきのdaioHDDと元ninjaHDDを入れ替え。

xen

anikiのコンフィグファイルを元にdaioの起動設定をする。
そういえばdom0のメモリ設定がやってないなーと思って設定してみた。実際には勝手に調節してくれるのかな?

/etc/default/grubに
GRUB_CMDLINE_XEN_DEFAULT=”dom0_mem=192M”
を追加
update-grubで更新、再起動。

最初xen非対応カーネルを動かして失敗。
mount /dev/sdb1 /mnt
chroot /mnt
apt-get install linux-image-2.6.32-5-xen-686
でxenカーネル突っ込む。

daioコンフィグはこんな感じ

#bootloader="/usr/lib/xen/default/bin/pygrub"
#extra="/boot/grub/grub.cfg"
kernel  = '/boot/vmlinuz-2.6.32-5-xen-686'
ramdisk = '/boot/initrd.img-2.6.32-5-xen-686'
memory = 1950
name = "daio"
vcpus = 2
vif = [ 'ip=グローバルなIP,bridge=eth2',
        'ip=ローカルなIP,bridge=eth1' ]
root        = '/dev/xvda1 ro'
disk        = [ 'phy:/dev/sdb,xvda,w' ]
extra = ""

最初知らなかったのでローカルIP付けないままでした。
pygrubはなんかうまく行かなかったのでやめました。
/boot/grub/device.mapとかの問題だったかも。

ちなみにdiskにxvdbとかxvdcとかくっつけまくって/varとか/usrをSSDにするとかできるかも。
自宅ではlvmだけど。
どっちがいいのかねぇ

inittab

起動するとwatchdogで止まったように見える。
なんでだろと思ったらgettyが動いていないオチだった。
/etc/inittabに
h0:2345:respawn:/sbin/getty 38400 hvc0
を追加

ネットワーク関係は/etc/network/interfacesをばっさりカット。
bridgeとか色々設定してあったようだが全部スルーして自動設定に。

そういえばxen起動ファイルでvifにMACアドレス設定していなかったけど、これだと毎回MAC変わるので固定した方がいいかも。
IPv6アドレスも再起動のたびに変わっちゃうことになる。使ってないけど。

途中でxen consoleが固まったようになって変な反応になった。
どうもxm consoleは排他制御をしていないようで、入出力がごっちゃになるようだ。
一度動いてしまえばネットワーク越しにsshでばばそ何だけど、ネットワークの設定をしている最中に割り込まれたらしく変に作業が中断したりした。
仮想ターミナル[Alt+Fn]で複数動かして自分でハマったりしたw

daioの移殖作業は書いてみると意外とこれだけだったんだなー
実際には結構試行錯誤で手間取った感じあったんだが。

daio機のテスト

問題の新マザーの欠陥探し。
memtest動かすためにanikiの使っていないhddをつなげる。
起動も簡単。そのまま動いた。
が。
apt-get install memtest86
しようと思ったらネットワークがないw
eth0もeth1もない。どーなってるんだとdmesg見たら
eth7とeth8にリネームされてた。2-6はどこへ・・・

eth7とeth8どっちがどっちかわかんなかったので必殺ipv6-allrouters
ping6 -I eth7 ff02::2
ping6 -I eth8 ff02::2
これでルータのipv6リンクローカルアドレスが出るので
anikiで同じことをしてどっちがローカルでグローバルかを確認。
もうちょっとスマートな方法あったかもしれないけどこういう手もあるということで。
192.168.x.xでローカル側に適当にアドレス振ってapt-getでばばそ

メモリテスト

apt-get install memtest86 memtest86+
とりあえず両方入れておく。

再起動してmemtest開始。
この時anikiの作業と並行してやっていたのだが、ちょっと目を離すとdebianが立ち上がってくる。
default書き換えた方が早かったかもとか思いつつ。

memtest86+は実際には動きませんでした。なんかタイトルあたりがブリンクしてたけどBIOSがやってるやつぽくてNum押しても反応しなかったのでハングしていると判断。
memtest86に切り替える。
5%で死亡。エラーとかじゃなくてピタっと止まる。
メモリを2つにしてみる。
5%で死亡。
スロット変えても死亡。

メモリを1つにしてみる。
ちょっと進むようになったけど今度はリセットがかかるようになった。
スロット4か所入れ替えても、メモリ取り替えても同じ。
マザー死亡確認©王大人
ワンターレンの言うことなのできっと復活すると信じて(謎

「大王マザー!生きていたのか!」「あなたは生き別れの(以下略)」「大須で2人一緒だったよ」
大改造シュトロハイム復活でもいいけどw

といったオチがついたところでおしまい。