32nd Diary

トップ | 最新 | 過去の日記 | もっと過去の日記

2007年
1月
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
めーるあどれす
ruby -rbase64 -e'puts Base64.decode64 %q(dGFrYW5vMzJAZ21haWwuY29t)'



2007-01-04 (Thursday) [長年日記]

[Media][Web][Service][mixi] 2007最強運芸能人決定戦

テレビ番組らしいですが,順位はWebでも出せるようになっています. ちなみに,自分は以下のような結果でした.

2007年 あなたのランキングは?
あなたの組み合わせ:さそり 座  トリ 年  B 型
あなたと同じ組み合わせの有名人は、及川光博 です。
あなたの順位は576位中 431 位です。

今年は、現状を守る年です。今までやってきたことを大切にし、
新しいことに挑戦するのは控えたほうがよいでしょう。
継続することでよい結果が伴ってきます。

さて,来年度から環境も一新するわけで,新しいことに挑戦せざるおえないわけですが,ボクにどうしろと?(笑

[Net][UNIX] SOCKS over autossh

そういえば,長いこと計算機に関係するネタを書いてませんでしたね.(ぶ

ぼちぼち元のペースに戻したいと思います. さっそくですが,autosshというものを紹介してみます.

% whatis autossh
autossh              (1)  - monitor and restart ssh sessions

というわけで,autosshというのはsshのコネクションを監視して, 切断してしまったら再接続しますよ,というコマンドなのです. Windowsユーザに分かりやすく表現するならpfwdのUNIX版みたいな感じでしょうかね.

たとえば,以下のように起動すればserver.to.sshへの接続をずーっと維持してくれます.

% autossh -M 0 server.to.ssh

これだけではイマイチありがたみがわかりませんが, ポートフォワードと併用するとありがたみが増します.かなり.

たとえば,ボクは以下のようなaliasを作っています.

connect is an alias for
autossh -M 0 -D 1080 -L 8080:localhost:8080 \
        -o ProxyCommand="none" server.to.socks

このaliasをscreenを使ってバックグラウンドのターミナルで実行し, SOCKS over autosshでアプリケーションを使うことで壁を越えてます.

-o ProxyCommand="none" としているのは,$HOME/.ssh/config に

Host 192.168.0.*
  ProxyCommand none
Host *
  ProxyCommand /home/takano32/bin/connect -S localhost %h %p

なんて設定が書いてあるからです. connect.cをコンパイルして,$HOME/bin/connectに置けば,sshがautosshのSOCKSを利用して外のホストに接続してくれます.

適切に設定してあげれば,接続元のIPアドレスでログインを制限しているsshサービスにも一発で入れるようになると思います.

[Net][Windows][UNIX] Privoxy on Windows

PrivoxyというのはSOCKSをかましたときに, 名前解決をトンネルの先でやってくれるローカルプロキシです. Torと組にして使うことで,匿名性を上げるという使われ方を多いらしい.

今回は単に名前の解決に問題があったので使ってみました. Firefoxに直接SOCKSをかましていると 非再帰にトンネルの先のローカルネットワークから名前解決を試みてしまい, 意図しないアドレスが解決されてしまいました.

具体的には以下のような流れになっている(っぽい).

  1. ISPなどのDNSにFQDNを非再帰検索で正引きを問い合わせる
  2. ISPなどのDNSが非再帰検索の結果として,グローバルIPアドレスを返却する
  3. トンネルの先からグローバルIPアドレスをもつホストを探すがみつからない
  4. さらにホストを探すためにinternal viewでグローバルIPアドレスの逆引きをする
  5. internal viewではグローバルIPアドレスの逆引きができない
  6. さらにホストを探すために外部に逆引きする
  7. 目標のホストの外向けの名前がわかり,それでアクセスする
  8. 当然,その名前ではホストが見つからない

ふぅ.なんか,bind9のロギングとかに詳しくなってしまった. またひとつムダなことを覚えたぞ.(ぴろぴろり〜ん

まあ,要するにNAPTが噛んでるとホームネットワークのIPアドレスを引いて欲しくても,インターネットにあるIPアドレスなどを引いてしまうわけですよ.

そこで,Privoxyです. Privoxyを導入することで,HTTPがトンネルの先で名前解決したのと同じようにできます. SOCKSを使うには [Edit] - [Main Configuration] から開いたファイルに以下のような設定の記述が必要です.

forward-socks4a	/ localhost:1080 .

んで,ブラウザにPrivoxyの待ちうけポート(規定では8118番)を指定してあげればよい.


ううむ. Fedora Core 6ではSOCKSでPrivoxyがうまく動作しない, WindowsでPuTTYではなく,opensshのsshクライアントを使っても同じ挙動を示した...opensshとPrivoxyの組み合わせだとダメみたいだな.

本日のPingbacks(全0件)