IPv6の設定 (FreeBSD)

投稿日: Leave a comment

今朝、tobyにログインしてifconfigしたらem0にIPv6の一時アドレスがついていないことに気づいて、いろいろ調べた。

/etc/network.subrを見るとnetwork6_interface_setup()の定義のところで、

       if [ ${rtsol_available} = yes -a -n "${rtsol_interfaces}" ]; then
                # Act as endhost - automatically configured.
                # You can configure only single interface, as
                # specification assumes that autoconfigured host has
                # single interface only.
                sysctl net.inet6.ip6.accept_rtadv=1
                set ${rtsol_interfaces}
                ifconfig $1 up
                if ! checkyesno rtsold_enable; then
                        rtsol ${rtsol_flags} $1
                fi
        fi

とあるので、rtsol_available=yesになるインターフェースじゃないとaccept_rtadv=1にならないらしい。では、どうしたらrtsol_available=yesになるのかさかのぼってみてみると、rtsol_availableを触るのは3か所。

1か所目

        case ${ipv6_gateway_enable} in
        [Yy][Ee][Ss])
                rtsol_available=no
                ;;
        *)
                rtsol_available=yes
                ;;
        esac

ここは、ipv6_gateway_enable=noにしているので、rtsol_available=yesになっているはず。

2か所目

                prefix=`get_if_var $i ipv6_prefix_IF`
                if [ -n "${prefix}" ]; then
                        rtsol_available=no
                        rtsol_interface=no
                        laddr=`network6_getladdr $i`
                        hostid=`expr "${laddr}" : 'fe80::\(.*\)%\(.*\)'`

ここは実行してみたけど、prefixは空文字列になっていて、test -n はFalseになって、rtsol_available=yesは維持。

3か所目

               ipv6_ifconfig=`get_if_var $i ipv6_ifconfig_IF`
                if [ -n "${ipv6_ifconfig}" ]; then
                        rtsol_available=no
                        rtsol_interface=no
                        ifconfig $i inet6 ${ipv6_ifconfig} alias
                fi

ここはアドレスがついてしまっている。なので test -nがTrueになって、rtsol_available=noになってしまっている模様。

ん?と思って、rc.confを見たら、サーバ待ち受けようにipv6アドレスを付ける設定のaliasを消してしまって、メインのアドレスとして設定する状態になってしまっていたようで、これが怪しそうなので、aliasになるように変更してリブートしてみた。

するとちゃんと一時アドレスがついて、デフォルトルートもちゃんとつくようになった。めでたしめでたし。

というか、rc.confの ipv6_ifconfig_em0 と ipv6_ifconfig_em0_alias0 の違いがやっとわかった。

 

P-06CとIIJmioのSIMを入手

投稿日: Leave a comment

SPモードメールを使うのが嫌になったのと、いざという時に電池切れでおサイフケータイとして不安を感じ始めてしまったので、勢いでP-06CIIJmioのSIMを買ってみた。

P-02Dの月々サポートを切るのが嫌だったのと、MicroSIMを維持したかったので、機種変更ではなく新規で購入。購入といっても0円。というか、0円だったから衝動的に買ったようなもの。その代わり、月々の基本料が約千円かかるのでランニングコストは0ではない。お店の人も状況をよくわかっているのか、手続きが終わって引き渡す時に「電源切っておきましょうね」といってすかさず電源OFFしてくれた。

んで、SIMの方はIIJmioのミニマムスタート128プランの方。写真の送受信があるのでできれば帯域が広い方がいいけど、外でそんなに必要になることもないので、128kスタートのやつ。
こんなCDみたいなパッケージだけど、中にdocomoの純正SIMと全く同じものが入っていた。

とりあえず、P-06CにP-02DのMicroSIMを挿すにあたってSIMアダプタが必要なので並行してネットで調達し、i-mode契約も追加。そういえば、i-mode契約の追加はMy docomoとかだとだめで、151に電話しなきゃだめだったけど、特に何も言われることなく5分後くらいには使えるようになりまーす、とのこと。

あと、パケホーダイの変更。月の変わり目でしか種別変更できないので、8月末までフラット、9月からダブル2に変更。ダブル2なので月々サポートは維持可能。

それと、新規契約した回線はそのSIMでちょっとだけ端末を立ち上げてMy docomoのIDを発行して電源OFF。あとはネットで不要なオプションやらをすべて解約。パケホーダイシンプルとi-modeも切っちゃてもいいんだけどとりあえず残しておいた。(あまり意味なし)

ここまでが、先週のこと。

SIMアダプタがいろいろトラブりながも先週末に届いたので、電話帳やらおサイフケータイやらを移行。おサイフケータイはドコモショップのiCお引越しでやろうと思っていたけど、いつの間にか対応しているサービスが激減していて、いちいち足を運ぶ価値なしと判断して、ひとつずつちまちまとサーバに預けて呼び戻す作業を繰り返した。

で、昨日、IIJmioのSIMが届いたので、さっそくP-02Dに挿してAPNを設定。問題なく接続できるし、アンテナピクトもちゃんと表示できる。IIJmioのウェブメールサーバへのアクセスは速度制限なしでつながっているのか、spモードのときよりサクサク動いている感あり。そんなにアクセスすることはないけど。

そして今日一日使ってみて、セルスタンバイ 圏外100%問題がちゃんと起きることも確認。データ専用SIMだとPSでしかアタッチできず、CS側のアタッチ失敗=圏外と判定してしまうらしく、アタッチリトライを繰り返すのか、激しく電池が消耗する。

というのはうわさで聞いていたけど、確かに激しい。で、対策で画面スリープでフライトモードに入れるツールもあるけど、それじゃあまりに芸がないので、別のツールを探してみて、AMCTというツールを発見。Aireplane Mode Control Timerというので、フライトモードに入れて何秒後に起きてデータ通信接続をして、また何秒して通信してなかったらフライトモードに入れる的なシーケンス処理をしてくれるもので、タイマーの設定値は自由に変えられるので、チューニングすればいい感じに使えそうなのだけど、逆に自由度が高すぎて最適設定に持っていくのにわりと試行錯誤が入りそうな感じ。

結局、携帯+Palmの構成で使っていた状態に近づいてきた感があるが、やっぱり1台にまとまるといいなとも思う。