« 2006年04月 | メイン | 2006年07月 »

2006年06月 アーカイブ

2006年06月06日

BフレッツでWebサーバー公開

このWebサーバーは先月引越しをした。引越し前はADSLでこのサーバーを公開していたが、引越し後はBフレッツ(マンションタイプ)しか選択肢が無かったため、常時接続とサーバー公開の設定をやり直すことになった。
ついでに、IP電話を使うことにしたために、予想外に面倒なことになった。

予約で3週間待たされた、10分で終わるNTTの工事で、VDSL装置が設置された。その何日か前に、NTTからIP電話用の「VoIPアダプタ」が届いていた。

まず、VDSL装置の説明書に従って、PCを直接繋いでみた。
svr_expose1.PNG
簡単に繋がり、PCからインターネットにアクセスできた。ピンク色の部分がPPPoEでグローバルIPアドレスが割り当たっている部分だ。

次に、VoIPアダプタの接続の手引きに従って、接続してみた。
svr_expose2.PNG
説明書に従うとこうなるのだが、これだとPCが繋げない。手引きをくまなく読んでも、VoIPアダプタとPCとの両方を接続する方法がわからない。

分厚いマニュアルを読み始めて、VoIPアダプタに「ルータモード」なるモードがあることがわかった。VoIPアダプタの設定を「ルータモード」に変えて、次のように接続した。
svr_expose3.PNG
VoIPアダプタから線が3本出ているが、実際にはハブを介している。青色の部分がNATのプライベートアドレスが割り当たっている部分だ。

この構成で、その後も設定には苦労したが、PCもインターネットに繋がり、IP電話も使えるようになった。
あとはWebサーバー公開だ、と思ったら、大きくつまずいた。例によってNAT超えの問題だ。おさらいになるが、NATの先のプライベートIPアドレスが割り当たっている(以下、LAN内の、と表記する)PCからは設定無しでインターネットへ接続できる(接続先がグローバルIPアドレスのため)が、インターネットからLAN内のサーバーへは設定無しでは接続できない(接続先がプライベートIPアドレスのため)のである。
svr_expose4.PNG
これを解決するには、NATを行うルーターにて、グローバルIPアドレス(+ポート番号)からプライベートIPアドレス(+ポート番号)への変換を行うよう設定する必要がある。
ADSLルーターの時は、それを実現する静的NAPT変換の設定が簡単にできたが、今回のVoIPアダプタは、いくら探しても設定方法がわからない。
仕方なくNTTに電話すると、なかなか話が通じず、「LAN内のサーバーをインターネットに公開したい」と言ってるのに、「ポート開放」とか「アドレス・ポート変換」とかいう言葉で説明してると、「ああ、ネットワークゲームをなさりたいんですね?」と理解不能な反応をされて(後でネットワークゲームのためにNAT越えが必要なケースが増えていることを知った)、2回たらい回しされ、技術的な質問を受ける所に電話したら、40分待たされた挙句、「ポート開放したい」と言ったら即「そのVoIPアダプタにそんな高度な機能はありません。ルーターを使って頂くしかないですね」と一蹴された。「え、ポート開放できるVoIPアダプタとか無いんですか?」と聞くと、「そういうのもありますが…レンタル設備の変更が必要ですし、用意するのに1週間くらい必要になりますし…」と妙に歯切れの悪い回答をされた。しかし、何の説明も無く送り付けられて来たVoIPアダプタが不適切なものだったということが理解できたので、交換してくれ、と強くお願いしたら、「ちょっと調べて担当の者から折り返し電話します」と言われて切られた。その後、1時間しても電話が無いので電話したら、別の人が出て、「明日の午前中に回答します」と言われた。(実際は、翌日の午後に連絡が来た)

なんか期待できそうになかったので、Buffalo製の安くて売れてるルーター(静的NAPT変換設定可能)を購入した。
svr_expose5.PNG
ルーターのPPPoEの設定も静的NAPT設定も極めて簡単で、これによりWebサーバーの公開も成功した。
svr_expose6.PNG
しかし、この構成だと、Bフレッツの接続口の近くにVDSL装置、ルーター、VoIPアダプタ、電話機の4台が並ぶ上、それぞれがごついACアダプタを備えているため、4つのACアダプタが刺さるようテーブルタップを用意する必要があり、電気の配線がすごいことになった。ADSLルーターの時はまだACアダプタ2つで済んでたのに、邪魔で仕方がなかった。
昨日、強くお願いしたVoIPルーターが届いたので、ルーターとVoIPアダプタをそれに置き換えた。
svr_expose7.PNG
まだ謎の機器2つ(VDSLアダプタ、VoIPルーター)とACアダプタが3つもゴロゴロしており、とても鬱陶しいが、とりあえず宅内LAN環境が落ち着いた。

2006年06月12日

NAT越えの方法

我が家の自宅HTTPサーバー公開で何度も苦労の種になっているNAT超えであるが、ナンセンスな静的NAT/NAPT変換だけではなく、もっとスマートな方法が色々考えられているようだ。

1. UPnP (Universal Plug&Play)
Microsoftを含むグループが提唱した方式で、LAN内の接続先機器がブロードキャストすることにより、UPnP対応ルーターが外部からのアクセスの適切な転送先を把握する方式。Windows XPはUPnPに対応しているらしい。UPnP対応ルーターが必要だが、既に多くのUPnP対応ルーターが出ており、現時点でのデファクトスタンダードか。

2. STUN (Simple Traversal of UDP through NATs)
IETFによる、RFC3489として公開されているプロトコルを使う方法で、LAN内の接続先機器からインターネット上のSTUNサーバーにUDPでアクセスして、インターネットから見た接続先のアドレスとポート(外側のアドレスとポート)を取得する方式。外側のアドレスとポートが接続毎に変わることがない、「完全Corn型」のNATでしか使えない。ポピュラーな方式であり、現時点ではよく使われているような気がする。

3. 拡張STUN
「Corn型」でなく「Symmetric型」のNATでも使えるとされるSTUN。実際に出回っているSymmetric NATは外側のアドレスとポートに規則性がある場合が多いらしく、その規則性を調べることにより外側のアドレスとポートを知るという、強引かつ奇妙な方式。

4. B2BUA(Back-To-Back User Agent)
やはりSymmetric NAT越えのために考えられている方式。B2BUAとはある種のSIPプロトコルの転送サーバーの一般名称であり、具体的にどういうB2BUAを用意してどうやるとNAT越えが実現するのかは調べ切れなかった。参考ページから推測すると、LAN内の接続先からインターネット上のB2BUAにSIP接続しておき、接続元からB2BUAにSIP接続することにより、接続先の、外側のアドレスとポートを知るということだろうか。

5. TURN (Traversal Using Relay NAT)
IETFによる方式で、インターネット上にTURNサーバーを設置し、LAN内の接続先からTURNサーバーにアクセスして接続を確保し、LAN内の接続先へのアクセス(データ送受信含む)は全てTURNサーバーを介するという方式。LAN内のサーバーから見ると接続元が同じなので、Symmetric NATでも使用可能だと思われる。NAT越えTCP接続も可能。但し、全ての通信がTURNサーバーを介するので、遅延が大きくなる。

6. ICE (Interactive Connectivity Establishment)
IETFによる方式で、STUN、TURNを含む多くのプロトコルを使う、SIPベースの複雑な方式。インターネット上のSIPサーバーを使用してNAT越しにセッションを確立し、LAN内のサーバーへの接続は確立したセッション上で行う。データ送受信はそのセッション上で行う。SIP的には美しいが、えらく複雑だ。

7. IPv6
NAT越えの話題には、NAT不要論というのが常に伴うらしい。確かに、そこまで面倒な話なら、IPv4+NATを諦めて、必要な所だけIPv6にすればいいという気がする。

続きを読む "NAT越えの方法" »

2006年06月21日

WindowsでGPG

本日、急にWindowsでPGPを扱う必要が生じ、PGPのソフトをインストールしたので、そのことについて記録する。PGPのソフトは、商用のものもフリーのものも複数あるが、ソフト名が単に"PGP"のものが多くて紛らわしい。

まず、以前に使ったことがあるPGPソフトを紹介する。
・SOURCENEXT/McAfeeの"PGP personal privacy"(有料)
機能が豊富でかつ直感的にわかりやすく、とても便利だった。
ファイルシステムごと暗号化する「PGPディスク」機能も、リムーバブルメディアには欠かせなかった。
このページにあるフリーソフト
動作がちょっと不安定だった。特に、Becky!のPGPプラグインと併用した時に、ダイアログが連発して困ったことになることが多かった。

今回は、手持ちのソフトが無く、至急だったので、フリーソフトで対応することにしたが、上記のフリーソフトは以前に失敗だったので、以下の2つのどちらかを使うことにした。
The International PGPのもの
GnuPG(GPG)
時代はGPGのような気がするし、ここはやはりGPGを試してみたい。Becky!やDatulaといったメールソフトのプラグインも存在し、メールの暗号化/復号も手軽なので、申し分ない。

●GPGのインストール手順
1. GPGのダウンロード
上記GnuPGのサイトからWindows用バイナリのダウンロードができるらしいが、私はうまくいかなかったので、ミラーサイトからダウンロードした。上記サイトの"Mirrors"をクリックすると、ミラーサイトがたくさん出てくが、日本のサイトならRingサーバーがお勧めだ。
今回は、gnupg-w32cli-1.4.3.exeをダウンロードした。

2. GPGのインストール
上記exeファイルを実行するとインストーラーが起動し、特に考えること無くインストールが完了する。
しかし、環境変数PATHが自動的には書き換わらないので、手動で設定する必要がある。WindowsXPの場合、コントロールパネルの「システム」を開き、「詳細」タブ→「環境変数」を選択し、環境変数PATHの値の最後に";C:\Program Files\GNU\GnuPG"を追加する。

以下、""で囲まれるコマンドは、コマンドプロンプトで実行することを仮定している。

●PGP keyの準備
・既にPGP keyがある場合
"gpg --import (鍵ファイル名)"として、GPGへの取り込みを行う。
例:"gpg --import key.asc"

・新規にPGP keyを作成する場合
"gpg --gen-key"を実行すると、色々質問され、その後keyができる。

・作成した鍵の公開鍵(public key)を配布する方法
"gpg --export (鍵) > ファイル名"で、公開鍵がファイルに保存できるので、そのファイルを配布する。
「(鍵)」の部分は、鍵に関連付けられたメールアドレスの一部で良い。
例:"gpg --export ynomura > ynomura.asc" → ynomura.ascを配る

・秘密鍵をファイルに保存する方法
"gpg --export-secret-keys (鍵) > ファイル名"とする。

●コマンドラインからの暗号化/復号
・暗号化
"gpg -e -r (公開鍵) (暗号化するファイル名)"を実行すると、暗号化されたファイルが別に作られる。(公開鍵)の部分は、公開鍵に関連付けられたメールアドレスの一部で良い。
例:"gpg -e -r ynomura file.doc" →file.doc.gpgができる

・復号
"gpg (暗号化されたファイル名)"を実行する。適切な秘密鍵を持っていれば、パスワードの入力を求められ、入力すると、復号されたファイルが別に作られる。
例:"gpg file.doc.gpg" →file.docができる

●メールソフト用プラグイン
・Becky!用プラグイン
このページからダウンロードできる。インストールは自動で、インストール後の設定は不要だった。

・Datula用プラグイン
このページからダウンロードできる。インストールは手動だが、ファイルを1つ名前を変えて移動するだけ。

2006年06月24日

将棋界に脳科学のメスが

日本将棋連盟が、プロ棋士の思考を脳科学的に解明することを目的とする組織、「Shogi Super-Brain研究会」を発足させるらしい。「将棋」じゃなく"Shogi"とした所に、世界的に協力を求める可能性がある、科学者への配慮を感じる。

結構将棋に時間を費やした割にはさほど強くなれなかった私としても、プロがどういう脳を持っていてどういう思考をしているのか、というのは非常に興味がある。私を含む常人には無い何かが絶対にあると思う。

続きを読む "将棋界に脳科学のメスが" »

About 2006年06月

2006年06月にブログ「Weblog on mebius.tokaichiba.jp」に投稿されたすべてのエントリーです。過去のものから新しいものへ順番に並んでいます。

前のアーカイブは2006年04月です。

次のアーカイブは2006年07月です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

Powered by
Movable Type 3.35