IRCが切断されまくる件についての続編。
ルータ−モデム間のLANケーブルと電話線を全て交換したが解決しないので、次の一手としてルータを変更してみることにした。
ルータはFreeBSDで運用していたが、無線APとして使っているバッファローのWZR-HP-G300NHにルータ機能が付いているので、これを有効にして切り替える。
原因が他にあった場合は元に戻せるよう、ネットワークにはあまり手を加えたくない。
というわけで、DHCPやDNS(unboundで運用中)はそのままに、デフォルトゲートウェイのみをWZR-HP-G300NHに移行する。


まず、WZR以下略のルータ機能を復活させる。切り替えスイッチ一つで有効・無効にできる(WANポートの信号の有無を見て自動的に切り替えるAUTOもあり)が、有効にしたところLAN側のIPアドレスが自動的にデフォルトの192.168.1.1になってしまった。我が家のネットワークとはセグメントが違うので、いきなりここでつまずく。ちなみにルータ機能を有効にするとLAN側IPアドレスをDHCPで取得することはできない。何なのこの仕様。
PCのIPアドレスを一時的に変更して対処し、とりあえず外には出れるようにした。
次にFreeBSD側の設定変更。rc.confの以下の項目を全部NOに書き換える。

# ゲートウェイ
gateway_enable="NO"
# mpd(pppドライバ)
mpd_enable="NO"
# ipfilter
ipfilter_enable="NO"
# NAT
ipnat_enable="NO"
# linux igd(uPnPデーモン)
linuxigd_enable="NO"

さらにdefaultrouterをWZR略のアドレスに変更して、面倒なので再起動…すると応答がなくなった。あれぇ。
起動はしているようだったので、普段繋げてないキーボードを繋いで確認。
ifconfigしてみると、UPになってはいるもののLAN内のどこにも到達できない。
自分自身のアドレスにも到達不可。なんとlocalhostにすら到達しない!
小一時間ほどパニクったが、答えは簡単だった。ipfilterをkernelに組み込んでしまっていたので、ipfilter_enable=”NO”だとスタンドアロンになってしまうのであった。kernel moduleにしとけって話ですよね。
後で戻す可能性もあるし、いちいちkernelの再構築をすることもないのでipfilterを有効にして再起動。以後は特に問題なし。

さて、さっそくwiresharkでパケットを確認。TCPの再送は続いている…
夜半にはめでたくIRCが切断。おめでとうルータ君、君の疑いは晴れた。
これで外に繋がっているルートはモデムを除いて全て交換したので、NTTに電話するしかなくなった。
以下次号。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>