Top > MyMachine&Tips

ルータの内側から、ルータに穴をあけずにICQとかネットゲーム

Windowsの話ね。

比較的簡単に、比較的安全に…ならsocks5かな?

ルータでポートマッピングとか、DMZとか穴をあけたりとか?
わかってない人がやったら、それこそ穴だらけ。
なのでローカルにsocks5のサーバを立てましょう。
おまけに、ポートマッピングでやるよりも利点があるのです。
という前提で話をします。

windowsで簡単に、ちゃんと動くsocks5サーバ

socksには4と5がありますが、5じゃないと、udp通りません。これではicqのファイル転送も、ほとんどのネットゲームも動きません。
なので、ちゃんとsocks5が動くというproxyサーバが必要になります。
調べた感じでは、無料のものでは以下のソフトがsocks5に対応しているようです。ほかにもあるかもしれません。
  • AnHTTPD
  • delegate
  • SwiftProxy
これらのうちの、どれかを、socks5として起動し、ICQのFireWall欄にlocalhostとか書きます。(参考1参考2
ネットゲームにも、socks対応なら、それを記述する項目があるでしょう。
socks経由の場合、ポートマッピングと比べたときの利点は、ポート番号が何でもかまわないことと、LAN内(つまりルータの内側)の各マシンがsocks経由であれば、それら各マシンで同時にICQなどが利用可能であること。だと思います。

delegateの設定

とりあえず、自分がわかるということと、2000などNT系ではサービスで起動できる(デスクトップが表示される前から起動される)ので、これを選ぶ。
  1. http://www.delegate.org/から最新版をダウンロード。(2002/12/13現在8.2.1が最新?)
  2. windows版のバイナリをzipなんかで落としてきて、どこか適当なところに展開する。
  3. 中のファイルを、C:\Program Files\DeleGateに全部うつす。
  4. バージョン番号入りのdg8_2_1.exeを、今後のためにdelegated.exeにリネームする。
  5. コマンドプロンプトを開いてC:\Program Files\DeleGateに移動(cd)。
  6. delegated.exe -P1080 -vs SERVER=socks ADMIN=〜@〜 PERMIT=*:*:localhost
  7. あとは Y と答えつづける。
ADMINは自分のメールアドレスを入れる。入れないと動かないようだ。PERMITは、このマシンからのみ転送ということ。
オプションの-vsってのは、ログレベルをサイレントに指定。こうしとくとログ吐きません。ログが欲しい人は、-vsをとっちゃってください。
Set Automatic Start on System Startup ? [y] / n :
これに対してyと答えることで、NTサービスに自動起動として登録されるので、次回からこの作業は必要ない。
何らかの理由でdelegateによるsocksサービスを停止したい場合、Win2000やXPの場合、管理ツール→サービス→Delegate -P〜〜というのを選んで、停止ボタンを押す。
または、コマンドプロンプトで "C:\Program Files\DeleGate\delegated.exe" -P1080 -Fkill と入力。
この方法は、ほかのバージョンのWindowsでも可能。
以上