frei

旧「anney's room」からブログ「frei」だけ引っ越し&残しました

cygwin遊び。

えーっと、会社で少し話題になってて

面白そうだったので、ちょっと設定してみました。

何を?って、telnetサーバー(笑)

以前、cygwinapacheでhttpサーバーにして

外部から入るのは、やった事あったんだけど、

そういやぁ、cygwintelnetサーバーになるんかなーと思って。

…って、私、cygwinのこと、

あんまり詳しく書いてませんでしたが(^^;

cygwinとは、簡単に言うと、

Windows上で走る、Linuxエミュレーター

apacheは当然のこと、PostgreSQL

perlphpも入るから、プログラム書いて実験するには

持ってこいの代物。

私は「@IT」で存在を知って

インストールした後、テストサーバーとして使ってたんだけど。

これを外部から操作できるのかなーと思った次第。

で、前にVAIO505Vに、VineLinuxが入ってるんで、

そこにMacからtelnetで入るっちゅーのは

やった事あるんだけど、

それはローカルIPの割り振られたPC同士でのお話。

果たして、外部からグローバルIPを経由して

私のWindowsマシン上のcygwinに接続できるんだろーか

いや、絶対出来るはず!…と思って

年賀状の柄が浮かばなくて、グデグデしてたので(笑)

気分転換にやってみました。

まず我が家のADSLルーター「Flashwave」で

「スタティックIPマスカレード設定」を設定。

プロトコル」をTCP

「インターネット側」をTelnet

「開始ポート」と「最終ポート」は23にして、

「ローカルIPアドレス」にcygwinの起動してるマシンのローカルIP

例えば 192.168.0.10 を設定してから

「追加」ボタンを押す。

cygwinの入ってるPCのローカルIPが、わかんなかったら

Windowsコマンドプロンプトで、ipconfigと打てば

IP Addressのところに出てきます。

で、cygwinが入ってるWindows

ファイアフォールをどうにかせなアカンので

「スタート」メニューの「設定」-「コントロールパネル」の

Windows ファイアウォール」で「例外」を開く。

そこで「プログラムの追加」ボタンを押して、

cygwinのinetdがあるパスを参照させる。

私の場合「D:\cygwin\usr\sbin\inetd.exe」。

でもって、「OK」ボタンを押す。

それから、cygwin上で、/usr/sbin/inetd -d と打つ。

CygwinでTelnet/Ftpサービスを設定するメモを参考に

一応、/usr/bin/iu-config と

mkpasswd -l > /etc/passwd と

mkgroup -l > /etc/group は実行しといたんだけど

パスワードがうまく入らなかったみたいなんで(?)

passwd と打って、自分のパスワードを打ちなおしておきました。

さてと、これでやっと実行できます。

cygwin上で試しに、telnet localhost と打つと

パスワードを聞かれて、さっき打ち直したパスワードを記入すると

あっさり自分のPCにログインできました。ふふふ。

でも、これがグローバルIPを経由するとダメで。

telnet グローバルIP

と打ったら反応なし。

あー、確か同じローカル上にあるPCから入る事が出来ないっちゅーのは

httpサーバーでも同じだったはず。

そういう訳で、一度、

プロバイダーのサーバーにtelnetで入って

そこから telnet うちのグローバルIP と打ってみると

見事に入れるようになりました(^-^)/

わーいわーい。

それで何かするのか?って言われると

何もする気はありません(笑)

だって、うちのPC常時起動しとくの

電気代もったいないんだもーん。

って訳で、実験終了。

ちなみに起動しちゃった、inetd は

いくらcygwinのウインドウを閉じても、exitしても

バックグラウンドで走り続けているんですが、

どうやって停止されるんだか、よくわからんかったので

とりあえず知ってる限りの方法 kill で対処。

ps と打って、出てきたリストの中で

inetd の該当する番号を覚えておいて…

kill その番号

…でinetdを止めることができました。

あー、思いっきりPCヲタクな感じでいいなぁー。

はぁー、楽しかった。