SMB over SSH

SSH のポート転送を用いて Samba にアクセスする

 ちょっと自宅のSambaサーバーの調子が悪かったのでググっていたら、偶然、SMB over SSHなる技術(というかテクニック)を発見しました。読んで字のごとく、Windowsのファイル共有プロトコルとSSHのポートフォワーディングで転送して、WAN越しで使ってしまおうというものです。

 帰省中にファイル共有、特にメディアサーバーの動画を視聴したいということがしばしばなんですが、

  • PacketiXはなぜかブツブツ切れる(実家から使った場合のみ?)
  • OpenVPNだと遅い
  • PPTPはCentOSにしてからつながらなくなった

という状態。なんか良いVPNの代替案がないかなぁ、と思っていたところなんですが、SMBが直接WAN経由で使えるってのもわかりやすくていいなぁ、と。もしかしてVPNのオーバーヘッドがない分、スループットも期待できるかな、とか(それでもSSHの暗号化はあるんですが)。

 設定も簡単そうだったので冒頭のリンク先を参考に試してみました。

 サーバー側は特に設定の必要無し。

 クライアント側にはループバックの仮想NICを作成し、適当なIPアドレスを振ります。ポートは137で固定なので、マウントしたいファイルサーバーの数だけ仮想NICを作るのがちと面倒だし、美しくない感じ。

 SSHクライアントはいつも使っているputtyで。トンネル設定を追加した状態で普通にログイン。プロンプトが出たままで放置しておけばOK。1つの設定に複数のトンネルを書き込めるので、SSHサーバーが1つであれば、ファイルサーバーが複数であってもセッションは1つ張ればOKです。

 とりあえず快活CLUBのマシンから接続を確認。NICのインストールは再起動を必要としないので、こういうネットカフェとかでも利用できますね。一応、DivXファイルを再生できることは確認。ビットレート高めのWMVはカクカクでした。どこがネックになってるんだろ?

 VPNに比べた時のデメリットは、IPアドレスが変わること。実家マシン用はHOSTSファイルで上手いこと置き換えれば良いですが、LAN内でも使うノートPCなんかは実体は同じサーバーなのに、LAN内と外からとでIPアドレスがかわるのは気持ち悪いですよね。オフラインフォルダなんかとも相性がよくないはず。

 まぁ、今度帰省した時に実用的なスループットが得られたら、実家からのストリーミング用に使おうかってとこですかね。

2007.05.05追記

 逆にメリットとしては、ファイルサーバー側のアクセス権制御が活かしやすいってとこですかね。VPNだと丸ごとLANを公開することになってしまうんですが、こっちなら特定サーバーの特定共有だけ見せる、ということがやりやすい。

2007.05.12追記

 どうもVistaではこの方法が使えないようです。Vistaの場合、ループバックデバイス側もローカルのSMBクライアントがポートを占有してしまうみたいで。実家にバックアップ用のLinuxサーバーを立てたので、そいつにポートフォワードをやらせるしかないみたいです。まぁ、その方が毎回セッションはらなくていいから楽なんですけどね。

 実家からもDivXのストリーミング程度は使えました。常時SSH転送してるマシンが立ってるってことは、LinkTheaterみたいなのも使えるってことかも。

 「マウントしたいファイルサーバーの数だけ仮想NICを作る」ってのは勘違いでした。プロパティの詳細設定から1つの仮想NICに複数のIPアドレスを持たせられました。

各種ブラウザのサイドバーに統合できるオンラインブックマーカーSiteBar

:: SiteBar :: The Bookmark Manager | The Bookmark Server

 σ(^^)はPC多数持ちだし、普段はOperaだけど、ちょっとDeveloper’s Tools使うのでFireFoxとか、上手く表示されないからIEで、とかブラウザを切り替えることも良くします。そういう時にオンラインブックマークで同期を気にしないで済むのは助かります。以前は、Bookmarkerというシステムを使っていたんですが、いい加減更新されなくなっていしまったので使用を控えていました。ただ、外部のASPサービスを利用するのは基本的に嫌いで、なんかOSS系で良いのがないかなぁ、と思っていました。

 Yahooブックマークのニュースを見て、久しぶりにググってみると、ちょいと良いオンラインブックマークシステムを発見しました。SiteBarというシステムで、各種ブラウザのサイドバー内(IEならエクスプローラーバー、Operaならホットパネル)に統合できるのが特徴で、Ajaxで作り込んであるので、ブラウザ内蔵感が高いです。UIも日本語化済みです。

 公式サイトでは有料ASPサービスとして提供していますが、システム一式がオープンソースで公開されているので、自サーバーに設置するなら無料で利用できます(でも気に入ったのでPayPalで10ユーロほど寄付してみました)。

■インストール

 大雑把にはこんな手順でした。

  1. MySQL上に、Apacheが読み書きできるデータベースを作っておく
  2. 解凍したフォルダをDocumentRoot下に配置し、ブラウザからアクセス
  3. DB設定画面で1.で作ったDBの情報を入力(ApacheにDB作成権限があれば1.をスキップしてここで作成可)
  4. 設定が検証されると、config.ini.phpというファイルが生成される
  5. Apacheに書き込み権があれば、CGIが直接保存してくれるが、そうでない場合、一旦ローカルにダウンロードして、インストールディレクトリ直下のincディレクトリに配置する
  6. 再読み込みすると初期設定画面になるので管理者アカウントを作成する

■ブラウザ側の設定

 ブラウザからアクセスしログイン後、「統合方法のページを開く」リンクをクリックし、自分の使っているブラウザを選択すると、それぞれへのインストール用のリンクが表示されます。またブックマーク用のブックマークレットも表示されるので、ブラウザのショートカットバーなどに登録すると良いでしょう。Operaの場合はスタートバー辺りがオススメ。

 

 ユーザテストなんかで見てると、エクスプローラーバーにお気に入りを出して使ってる人って結構いるんですよね。ウチの妹もそっち派。自分はプルダウンメニュー派なんですが、どのマシン&ブラウザでも同じブックマークが参照できるなら転向してみても良いかもという気になってきました。

 マルチユーザな作りになっているので、周りで使ってみたい人がいれば声かけて下さい。

PHP/PEARのマニュアルをミラー

 最近、オンラインのPHP、PEARマニュアルにお世話になることが多いので、いっそ自分とこにもミラーしたらどうか、と思って調べてみました。

 それぞれ、PHPの公式サイトからパッケージを取得できました。PHPはここから、PEARはここから

 面白いのは、Windowsのオンラインヘルプ形式であるchmフォーマットでも配布されてる点です。これだと単一のファイルでローカルHDD上に置いておけるし、検索などのUI面のメリットもあります。ただ、ちょっと字が小さかったりPEARの方は目次の作りがイマイチでHTML版の方が使いやすいかなぁ、という印象。一応、ノートPCには入れておいてモバイルでパケ代かけずに見る用にしてもいいかも。でもまぁ、PHPの開発をオフラインでそもそもしないしなぁw。

 

MaxLine III発注

 公開サーバーの/home領域が残量5%を切ったので、交換用を物色。(検査体制が違うだけでモノはDiamondMaxと同じとも聞くけど)やはりブランドイメージでいくとMaxstorのMaxLine系かなと単純に思ってたけど、MaxLineIIIはもう終息してしまったらしい(考えてみればもう2年前くらいだし、Maxstor自体あんなことになってるし)。IDEで見かけるのはMaxLinePro500ばかり。さすがに500GBはいらないしなぁ。

 横浜ビックでSATA版ならIIIの250GB、300GBが残ってるぽかった。ただせっかく信頼性を基準にするのに、ここでSATA->IDEアダプタをかますのもどうかと…

 そんな中でAmazon.co.jpで在庫無しながらIDE版のMaxLineIIIの注文を受け付けているのを発見。ダメもとで注文してみました。結果は乞うご期待。

続・dovecot mbox環境でInvalid messageseと出てメールが読めない時の覚え書き

[dgg]: dovecot mbox環境でInvalid messageseと出てメールが読めない時の覚え書き

■再発、おさらい

 またまた再現しました。あらためてググってみてもめぼしい情報無し。海外のブログでもわざわざウチの上記エントリを翻訳したものにリンクしてるほど情報が乏しいようです。

 わかっているのは、

  • X-UIDはmbox環境のimapサーバー(dovocot以外も)がキャッシュ用につけるヘッダで、1ずつ増える
  • dovecotの0.99.14以前はこの値が一定以上になるとオーバーフローして負の数に解釈されるためエラーになる
  • 最後の番号は最後のメールではなく、メールボックスの先頭のメールのX-IMAPbaseヘッダの2番目の数値
  • 同時に~(ユーザ名)/imap4/.imap/INBOX/.imap.index*にもキャッシュデータがあるので消すべし

ということ。dovecotの1.0は未だ正式リリースされず。

■番号を振り直す

 で、今回はそもそもの数字がもう何年分も積算して(振り分け前の迷惑メールでもカウントアップするし)かなり大きい数字になるので、1から振り直すことにチャレンジ。

 上記の海外のエントリによりスマートな方法が載っていました。まず、作業中にメールアクセスが発生しないようdovecotとpostfixを停止し、クライアントも念のため終了しておきます。

cd /var/spool/mail
grep -v ‘^X-UID: ‘ hoge > hoge2
grep -v “^X-IMAPbase: ” hoge2 > hoge

で、hogeのスプールからX-UIDとX-IMAPbaseで始まる行をすべて除去します。

 次に前回同様、dovecotがメールボックスのヘッダ情報をキャッシュしているらしいファイルを削除します。

rm ~hoge/imap4/.imap/INBOX/.imap.index*

 上記ブログではこれで大丈夫だったようですが、ウチではきっちり元の番号で振り直されてしまいました。どうも、X-IMAPbaseの最初の引数がメールボックスを特定するためのIDのようなので、この数字をエディタで適当にいじってみたところ上手くいきました。

 Thunderbirdを立ち上げると、受信箱内の一覧を全て再読込しました。モバイルでも使う人は、パケット代節約のため、自宅LANにつながっている時にいちどつなげておいた方がよいかも知れません。

■番号スキップの犯人を発見

 で、前回も不明だった番号が突如ハネあがるトリガなんですが、どうも通販ショップuWorksからの広告メールが原因らしいということをつきとめました。何度か現象が起きている中で、毎回共通して境界にいるのがここのメーリングリストからのメールだったのです。どうも、最初からX-UIDヘッダが大きな数字でついたまま送られてくるらしく、以降のメールのX-UIDがすべて大きく跳ね上がってしまいます。ここのショップのメルマガはお値打ち情報があって重宝してるんですが、とりあえず解除しておきました。