IPv6問題解決

ここんとこIPv6問題(Google等の一部のIPv6対応サイトにIPv6でつなごうとしてタイムアウトするまでの時間が無駄にかかる、もしくはタイムアウトしてエラーになる)に悩まされていました。どうもいくつかの偶然が重なって起きてたっぽいです。

  • ウチのプロバイダIIJmioはIPv6対応に積極的でDNSがIPv6対応済みのため、IPv6対応サイトに関してIPv6(AAAA)レコードも返してくる(IPv4で問い合わせた場合でも)
  • 最近のOperaはOS設定無視してIPv6優先でアクセスしようとする(→結果タイムアウトする)
  • ウチのルーターMN8300はIPv6トンネリングに対応している
  • 今までWindowsマシンではIPv6スタックをわざわざオフしてたけど、Windows7のリモートメディア共有機能を使う為にオンにした
  • (これは関係ないかもですが)NTTのBフレは地域網内専用のIPv6アドレスを振る(インターネットとは通信できない)

という条件がかさなって現象が発生していました。昨日書いたサーバー機のyum updateが遅い件もそうですね。あっちはIPv6を無効にしても困らないのでそうしましたが、Windows7機に関してはリモートメディア共有を使いたいのでIPv6自体を無効にしてしまうワケにはいきません。

で、改めて色々ググってわかったことには、DNSへの問い合わせがIPv4かv6かってことと、返ってくるレコードがv4/v6どっちかってことは全く独立であるということです。

今まではなんも考えずにLAN内のマシンはDNSサーバーとしてルーター(MN8300)を指定していました。MN8300はPPPoEで割り当てられたIIJのDNSサーバーを使うので、結果として、IPv6アドレスを含む返答が返ってきていました。

dns_iij

この結果として、Operaやyumのような一部ソフトはまずIPv6での接続をしにいってしまいトラブルになっていました。余所のDNSを勝手に使うのはマナー違反だし、じゃぁこれを回避するにはLAN内にIPv6を無効にしたDNSキャッシュサーバーを別途立てるしかないかなぁ、とため息をつきかけてふと気付きました。そういえば先日Googleが公開DNSを提供しだしたじゃんか!と。てことでDNS設定を8.8.8.8/8.8.4.4とGoogleのものに変更(さすがGoogle、こんなアドレスまで良番とってますな)。

dns_google

おぉ、IPv4だけだ。むしろGoogleの方が積極的にIPv6に対応してそうなイメージですが。実際この設定をしたマシンからならOperaも普通にGoogleが開けるようになりました。

ので、LAN内のDHCPサーバーが知らせるDNSサーバーアドレスをGoogleのものにして対応完了。Windows7導入して一ヶ月半くらいぶりに快適なネット環境が戻って来ました。

Linuxで妙にネットワークが重い時の覚え書き

CentOS5マシンで久しぶりにyum updateしたら、パッケージのダウンロードがやたら遅いことが発覚。fastestmirrorの設定を見直しても変わらず。そもそもウチはIIJmioなので、ftp.iij.ad.jpミラーで遅いワケがない。でもほんの数十KB程度のパッケージでも2,3分かかる始末。

で、結局何が悪かったかというと、IPv6でした。DNSのフォールバックに時間食ってたみたい。こちらのブログを参考にさせてもらって無効にしたところ見違えるようなスピードでパッケージが落ちてきました。

XenのDom-0機だったので基本通信しないので今まで気付かずに使ってたんですね(^^;)。

サーバー機のCPU換装メモ

先日までリビング録画マシンに使っていたAthlon X2 4850eが余ったので、サーバー機(ML115 G1)に転用してみました。もともとAthron 64/3500+(2.2GHz, 62W)がついていたのを、X2 BE2400(2.3GHzx2, 45W)に換装して使っていて、今回、2.5GHzx2, 45Wと微妙なクロックアップ。

ただ、ML115は倍率が整数倍しか効かないようで、BE2400では定格が11.5倍のところ11倍動作で2.2GHz動作でした。今回の4850eも同様で2.4GHzと表示されます。またモデルが「Unknown CPU」となるのも同じ(まぁ2007年からBIOS更新されてないので当たり前ですね)。

ちなみにUnkown認識だとLinuxではCool’n Quietは昨日しないみたいですね。どのみちXenカーネルの場合、3.3以降でしかpowernow-k8が機能しないのでCentOS(最新5.4でもXen3.0.3)のウチでは意味ないんですが。

RSSの形式変更

前エントリの「Steins;Gate」みたいなネタバレ記事を書いていて、冒頭のみRSSに表示して、続きは「続きを読む」でパーマリンクというのがいいんじゃないかと考えました。

単純に、サイトのアクセス率を上げて収益狙いでいく意味も含め、単にMTEntryBodyのかわりにMTEntryExcerptタグにして冒頭xx文字のみRSSに掲載するのが一般的ですが、今のところそこまでガッツいてないし、RSSリーダーで読んでる人の利便性を優先。

上記記事のように明示的に「以下興味ある人だけ!」って境界をひいた場合以外は従来通り、というコンセプトで。

Windows Live Writerでは記事中に境界線を入れると、前半(「本文」)はMTEntryBody、後半(「続き」)はMTEntryMoreタグで扱えるようになります。つまり、RSSやAtom内でのタグでは今まで通りMTEntryBodyメインで、その後にMTifでMETnetryMoreが空でない場合のみ「続きを読む」リンクを表示してやればヨサゲ。

ってことで実装してみました。お使いのRSSリーダー上で不具合などありましたらご一報ください。

心づもりとしては、

  • 大半の記事は今まで通り全文表示
  • ひとつ前のStains;Gateのエントリは、「以下ネタバレ」止まりで、続きはリンクをクリック

になってればOKです。ちなみにトップページは勝手にそうなってくれたようです。

Xen上のWHSにPVドライバ導入

ヨドバシのPC書籍コーナーで、「Xen徹底入門」の第二版を発見。完全仮想化(HVM)なWindows OS用のPVドライバの解説も載っていたので、ウチの仮想Windows Home Serverマシンにもそろそろ入れてみるかと購入。いままでの存在は知っていたんですが、まだ不安定という話を聞いていたので見送っていたのですが、本書で取り上げるようになってきてるならそこそこ使えるようになってきたのかなと。また本書の説明では、boot.iniにエントリを追加していつでも無効設定でOS起動できるようでしたし。

DLサイトには記載バージョンよりも新しくなっており、とりあえず0.10.0.83を使用しました。boot.iniを書き換え、ドライバのmsiファイルを実行してインストール。再起動を求められるので再起動すると、とりあえずBSODに。で、一旦PVドライバ無効にして起動し、デバイスマネージャーを見ると「!」が4つのデバイスについていたので、それぞれについて「Reinstall Driver」を実行して再度、再起動。次はちゃんと起動したものの、クライアント側からは見えない。調べてみると、従来の仮想NICが無効になっており、PVドライバーによる新しいNICにDHCPによる別のIPアドレスが振られた状態でした。そこで、PVなNICに元からの固定IPアドレスを振り直すことで、無事クライアントからも認識。

共有フォルダをVistaマシンにネットワークドライブとして割り当て、CrystalDiskMark 2.1で計測した数値を貼っておきます。

(単位:MB/s) 従来 PVドライバ
Sequential Read 4.806 59.970
Sequential Write 6.480 51.225
Random Read 512KB 4.528 61.792
Random Write 512KB 6.704 49.628
Random Read 4KB 2.900 9.594
Random Write 4K 1.531 6.435

 

歴然の差ですね。ただ、Windows Home Server Console表示などのレスポンスはあまり変化が見られません。安定性も含め、バックアップの速度などに改善が見られるかしばらく検証していきたいと思います。