どさにっきLTE 〜2013年12月下旬〜

by やまや
<< = >>

2013年12月22日(日)

黒斑山

_ 冬が来たので雪と戯れに。浅間山の外輪山である黒斑山まで。

_ 登りはじめたときは、雲は多かったものの青空も見えてたんだけどなぁ。だんだん曇ってきて残念な感じに。まあそれでも何とか浅間山は見えたからいいとするか。天気はよくなかったけど風はほとんどなくてそれほど寒さを感じることもないのはよかったか。

_ 下山後、温泉に入って、出てからふと黒斑山を見上げると、てっぺんまで晴れてるじゃないですか。タイミングわるいなーもう。

_ 今日は曇ってたので必要なかったけど、雪遊びには雪面の強烈な反射から目を守るためにサングラスが必須。以前使ってたものをなくしてしまって、しかたないから先月新しく作りなおしたんだけど、なくしたはずのサングラスがついさっき車内から発見されたよ。度つきだから高いのに。ムダな出費だった…。

_ 樹間から南アルプス方面。このころはまだ青空。

2404mの黒斑山山頂から浅間山。晴れた日にまた来よう。

モノクロな世界。カラー写真ですが。


2013年12月23日(月) 天皇誕生日

混浴露天風呂に盗撮にいった

_ 猿のだけど。

_ 地獄谷野猿公苑で温泉に入る猿を見物。想像してたよりずっと楽しいわ。そのへんの動物園みたいに柵があってけっこう離れて見物するのかなと思ってたらそうではなく、手を伸ばせば届きそうなところまで近づける。というか、人と人の間の狭いすきまも気にせず猿が走りまわってる。ここまで距離が近いとそりゃ楽しいでしょ。

_ ガイジンさんがやたら多い。日本の観光地はどこに行っても中国人韓国人がいるけど、そうではなく欧米人が圧倒的。しかもデカい一眼レフを持った人が大半。ここに写真を撮りにきたんだという確たる目的を持った人ばっかりに見える。ここもしかして海外ではひじょーに有名なスポットなんですかね。

_ その後は善光寺へ。長野市内はどこを走っていても行き先標識に善光寺方面の案内があってどんだけ善光寺押しなんだよという感じだが、行ってみたらたしかに思ってた以上に規模が大きなお寺でなかなかよい。こういうところに来ると何かと京都のお寺と比較しちゃいたくなるけど、決して負けてない。が、それでも標識での善光寺プッシュはさすがにやりすぎのレベルだと思う。

_ やっぱ冬は温泉だよなー

この2匹はいつもぴったりくっついて片時も離れようとしないもんだから大人気。

猿が好きすぎるガイジンさん。そこらじゅうにフンとか落ちてるのに…。


2013年12月26日(木)

NetBSD edns0

_ NetBSD な生活つづき。

_ そいえば、NetBSD って resolv.conf で EDNS0 を使うようにできるんだっけ、と思い出した。

_ 設定してみた。

_ 名前がひけなくなった。えー…。

_ resolv.conf の options edns0 の行を消すと、ちゃんと名前解決できる。nameserver 行で参照してるキャッシュサーバを変えてみると、あれ、edns0 有効でもちゃんと名前解決できる。どこが違うんだろと考えてみたら、サーバが BIND か Unbound かの違いのようだ。

_ debug オプションつきで名前解決してみるとこんな感じ。

> env RES_OPTIONS="debug edns0" getent hosts www.google.com
...
; EDNS: version: 0, udp=0, flags=0000
...
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 39477
udp=0 って、俺は最大 0 バイトの応答を受けられるぜ!って主張してるんですが。どういうことですか。で、Unbound はこういうクエリに SERVFAIL を返すけど、BIND は無視して 512 バイトとして扱うよ、というのが名前解決できるかできないかの違いのようだ。名前解決できている BIND でも 512 としてしか扱われないので、EDNS0 を設定した意味はまるでなし。

_ unbound はもっと融通を効かせてくれてもいいじゃないかよー、と思うけれども、間違ってるのは明らかに NetBSD の側なので文句を言うのは筋違い。NetBSD のソースを追いかけてみる。探していって OPT 疑似 RR に UDP サイズをつっこんでる部分を発見。libc/resolver/res_mkquery.c の以下の部分。

        ns_put16(anslen & 0xffff, cp);          /*%< CLASS = UDP payload size */
このコードでなんで 0 バイトなんて値が入るんだろーなー、と思ってさらにソースを追いかけていって原因が判明。DNS のパケットは最大 64KB だぜ!とバッファを確保するのはいいんだけど、そのバッファサイズをそのまま EDNS0 の最大サイズに指定してる。結果として、65536 & 0xffff = 0 で UDP サイズ 0 というクエリができてしまう、と。あほだな。ちうことで、16bit の制限範囲内に収まるようにしてやればよい。手元で修正してみたところ、unbound でもちゃんと名前をひけるようになった。
; EDNS: version: 0, udp=65535, flags=0000
65535 というのはいまいちイケてないけど。

_ その後、FreeBSD、OpenBSD、Linux(glibc) のソースも確認してみたが。いずれも同じように上限チェックするコードが入っていた (*1)。チェックしてないのは NetBSD だけ。ちうことで、 send-pr。 なお、glibc はこの部分での上限チェックだけでなく、確保したバッファサイズをそのまま上限にするのではなく、1024 としてこの関数を呼んでいるので、EDNS0 の最大サイズも 1024 バイトに抑えられる。もう少しサイズが大きくてもいいかなという気もするけど、65535 バイトまで EDNS0 おっけー、というアホなクエリを投げようとする *BSD よりも glibc の方がずっと好ましいと思う。

_ ついでに、unbound.conf で harden-short-bufsize = yes と設定すると、unbound でも bind と同じように小さすぎる EDNS0 クエリを 512 として扱ってくれて、名前解決に失敗したりはしなくなる。設定で挙動を変えられるって、こういうおかしなリゾルバが存在するのははじめから想定の範囲内だったんですかね。


(*1): ただし、OpenBSD は最近リゾルバのコードを全面的に置き替えたようで、現在のものは EDNS0 非対応。置き替える以前のリゾルバの該当バグの修正は これ。10年以上前だよ…。

無題

_ そんなわけで、*BSD と glibc のリゾルバまわりの挙動をつっこんで調べてたんだけど、いろいろ発見があった。

_ FreeBSD で man resolv.conf しても edns0 のオプションのことには触れてないんだけど、設定してやればちゃんと動くとか、 このプレゼン資料の33ページで options rotate は *BSD では使えないと書いちゃったけど、man に記述がないだけで FreeBSD、NetBSD でも実は使えるとか。NetBSD は -current で記述が増えたが FreeBSD はまだ。man がイケてないなー、と感じるのは linux のことが多いんだけど、リゾルバに関しては *BSD の方がダメ。

_ それから、FreeBSD の getent(1) と systat(1) は、名前解決するときになぜか UDP ではなく TCP を使うとか。これは sethostent(3) の副作用で man にもちゃんと書いてあることなんだけど、同じように sethostent() を使っている NetBSD や glibc では TCP にならずにふつーに UDP でクエリを投げてたりなんかする。ただし、man に書いてあるのに TCP にならないのはおかしい、というわけではない。man は TCP が使われるかもしれない(may)程度の記述なので。


2013年12月27日(金)

無題

_ iphone5 が接触不良で充電されたりされなくなったりするようになったので、端子をほじほじしてみた。…出るわ出るわ、なんだこの綿ぼこり。通電するところにこんな燃えやすい埃が詰まるのって、かなり危険じゃないかなぁ。それほど大きな電流は流れないと思うけど、ほかに比べて詰まりやすそうな形状だし。


2013年12月28日(土)

無題

_ きのうの夜からひたすら走りつづけて、いま瀬戸内海の大三島。広島の方に行くつもりではあったんだけど、ここに来る気はまったくなかった。が、地図見てたらたまたま目に入ってしまったので何となく。予定なんてどうせあってないようなものだし。四国までもうあとちょっとだけど(ていうか、大三島はすでに愛媛だけど)、いちおうここまでにして引き返すつもり。たぶん。きっと。

_ しまなみ海道の多々羅大橋


2013年12月29日(日)

無題

_ 寝坊した。冬だけど、布団がぬくぬくで安眠しすぎてしまう。日が短いから早朝から行動したいのに。

_ つーことで、のんびりと出発。しまなみ海道沿いの大三島、生口島をぐるっとめぐる。道端はどこもかしこもみかんが鈴なり。まわりは海なのに漁業はあまり盛んじゃないようで、かといって平地もそんなにあるわけじゃないから、全力でみかんな感じ。今回は車だけど、自転車の聖地しまなみ海道沿いだけあって走りやすそうな整備もされてる。また時間をかけてゆっくり来たいね。

_ 尾道。坂の街。というか、猫の街。来るのは2回目なので、街の眺めはほっといて猫探しに没頭してみる。まあ、猫アレルギーなんで、人懐っこくてもさわれないんだが。

_ 大三島からの来島海峡大橋

尾道の猫たち。野良のくせにどいつもこいつも無防備すぎる。



2013年12月30日(月)

無題

_ 呉。海自の潜水艦を見物した後、大和ミュージアムで旧海軍のあれやこれやを。艦船ってかっちょええなーと思いながらも、それぞれの船の歴史を見るとどこそこで撃沈とかそういうのばっかりで、現実は悲劇だわな、やっぱり。

_ 宮島に渡って厳島神社を見ようかと思ったんだけど、かなり待たないと駐車場が空かなそうな感じだったのであきらめる。まあ一度来たことあるし。つーことで、途中錦帯橋を見物したりしながらひたすら西に走って関門トンネルをくぐって北九州まで。門司の街をぶらぶら歩くつもりだったんだけど、雨が強くなってきたのであきらめる。

_ 大和ミュージアムの戦艦大和 1/10 スケールモデル

繁華街に潜水艦がある街、呉。

関門海峡大橋。北九州側から。


2013年12月31日(火)

無題

_ 門司のあたりをふらふらしてみる。カメラのバッテリーを充電器に装着して車に放置してきたので、カメラはあっても荷物にしかならない。アホ。

_ 本州に舞い戻る。秋吉台。来たことあるんだけどね。なかなかよかったので二度目。が、今回はそれほど。曇ってたのと、今回うろついてたあたりは石灰岩の露出がそれほどなくて、ほとんどただの原っぱだったのがよくなかったか。秋芳洞はあいかわらず楽しい。

_ 萩。城下町は石垣はよく保存されていてるんだけど、それ以外は、うーん。観光ガイドも何も持たずに歩いてたのでたまたまそういうところだったのかもしれないけど、それを差し引いてもがっかりな感じ。そんな全国的に有名になるようなところなのかなぁ。

_ 島根に向かってひたすら走る。元旦は出雲大社に初詣に行こうかと思ってるんで、その近くまで。といっても、当日は車で行くのは無謀そうなんで公共交通機関を使おうかと。が、えーと、土地鑑がないので調べてはいるんだけどようわからん。まあ、行けばなんとかなるだろう。たぶん。

_ つーことで、今年もおしまい。みなさまお世話になりました。また来年。

_ 秋吉台

秋芳洞


<< = >>
やまや