カテゴリー
misc

AirMac Extreme ベースステーション

家のルーターはありとあらゆるサーバーを兼任する microATX な NetBSD/i386 に任せていたのですが、今の家に引っ越してから廃熱の問題が深刻になり、いい加減なんとかしたいなー、と思っていました。

ホントであればちっこい互換機にしたかったんだけど、 PCI が二本刺さるちっこい互換機なんかはなく、かと言って一般的なルーターで納得いくのもないので、 SSD が買える金額になったらそれに乗せかえるかなー、ぐらいのつもりでいたのですが。

ふと気づけば AirMac Extreme が(気休めだろうけど) 全ポート GbE になっていたとゆーので、奥様の承認を得た上でポチったのです(笑)

早速旧ルーターである NetBSD と入れ替えると棚はすっきり。設定は専用クライアントから行う必要があるんだけど、クセがあるソフトですな。

ほぼ快適に過ごせていたのだけれど、どーも外から NetBSD で動いてる apache にアクセスすると 確実に 10 秒ぐらい待たされる感じ。

入れ替えたとたんに問題が起きてるんだから AirMac Extreme の問題に違いない、と決定してぐぐってみてもそれらしい事例は見当たらない。じゃあ apache の問題なのかしら、と思ってログレベルを上げたけど、 apache としても問題ないような感じ。じゃあ NetBSD と AirMac Extreme の相性なのかなぁ、なんて思いながら、ふと思い立って外から scp を仕掛けてみるとやっぱり遅い。外からの ssh は全然問題ないのになー、と思いつつ調べてみると外から 1KiB のファイルを取得する分にはラグなく取れるんだけど、 2KiB のファイルだと 10 秒ぐらい待たされるつーことが判明。

境目はどこだー、といろいろ実験してみたところ 1402 byte までのファイルは普通で、 1403 byte 以上のファイルは待たされるということが判明。

どっかで見たような数字だなぁ、と思ったらフレッツの場合 mtu は 1500 ではなく 1454 にしましょう、とかそんなだった(上 2 桁しかあってないね)

でも原因がわかんないから試しにやってみるかー、と NetBSD の mtu を弄ってみる

ifconfig wm0 mtu 1454

で、外からアクセスしたら速くなってる!! 疑ってごめんよ Extreme …。

うし、これで解決ーと思ったら、今度は内側の Mac mini から NetBSD で動いてる netatalk への接続がおかしい。これまた netatalk を疑っていろいろ弄ってみたりしたんだけど、全然問題はなく、もしかして、と MacOS 上で

ifconfig en0 mtu 1454

とやったら正常に接続できるように…。ウチのマシン全てにこれを設定するのダルいので dhcpd で mtu の設定も配れないかしら、と調べてみたら

option all-subnets-local flag;

  This option specifies whether or not the client may assume  that  all
  subnets  of  the  IP network to which the client is connected use the
  same MTU as the subnet  of  that  network  to  which  the  client  is
  directly connected.  A value of true indicates that all subnets share
  the same MTU.  A value of false means that the client  should  assume
  that  some subnets of the directly connected network may have smaller
  MTUs.

とか

option interface-mtu uint16;

  This option specifies the MTU to use on this interface.   The minimum
  legal value for the MTU is 68.

なんて記述を見つけたので設定して、 dhcpd 再起動で IP アドレス取得し直し。

…無駄な努力だったようです。

Mac mini(Tiger) の有線 LAN はコントロールパネルの中のEthernet の詳細設定で mtu を弄れるのでまぁいいんですが、 MacBook(Leopard) の無線 LAN はそんな設定をする箇所が見当たらないので ifconfig を使うしかなく、 Windows に至ってはレジストリを書いて再起動しないと mtu の設定が生きないというアレな感じの作りになっているので dhcp で mtu の値を配布するのは難しいのかもねー。

「AirMac Extreme ベースステーション」への2件の返信

dhcpdのOptionにはそんな項目もあったのですね…知らなかった。

うちもMaxMTU制限の為に、FreeBSD5.3くらいのipf+ipnatでMTU弄ったような気がします。
それでも問題なっしんぐです。

コメントを残す