PUBLIC 仮想 HUB に接続すると多くの PC の共有フォルダが見える
2010 年 6 月 19 日 (土) から、前述した、PacketiX.NET セキュアインターネットサービス を構成する「PUBLIC」という名前の仮想 HUB において、実験的に、ユーザー間の通信を解禁した。
もともと、この仮想 HUB では、2004 年 12 月に公開してから、2006 年 10 月までの約 2 年間は、ユーザー間 (仮想 HUB に接続した PC 間) の通信は、一切禁止していなかった。つまり、ある部屋に集まってそこにある HUB にみんなが大量の PC を一度に接続したように、自由な TCP/IP 通信を行うことができるようになっていた。
その後、2006 年 10 月から 2010 年 6 月までは、ソフトウェアを追加したり、設定を変更したりして工夫して、ユーザー間の通信を禁止するようにしてみた。この状態では、PUBLIC 仮想 HUB に VPN 接続した PC 同士は一切通信ができない。単に、10.0.0.1 という IP アドレスにある共有 NAT サーバーとの間で通信ができるだけである。つまり、インターネットに出ることはできるが、ユーザー間の通信はできない。これは言ってみれば、普通の B フレッツのようなものである。イーサネットで NTT の局舎につながっていて、PPPoE で ISP には接続できるが、ユーザー間の直接通信 (たとえば隣の家の人との通信) はできない (フレッツの折り返し通信を実現するサービスを使えばもちろんできる。しかしそれでも Ethernet の通信はできない。フレッツで Ethernet で折り返し通信ができるようにしてしまうと、NTT のドル箱サービスである、月額料金がべらぼうに高い、法人向け広域イーサネットサービスが売れなくなってしまうからである)。
2010 年 6 月 19 日 (土) から、再度、ユーザー間通信を解禁した。解禁といっても、何らパケットフィルタ等で規制をしないようにしただけである。本サービスは、実験サービスであるので、今後も、このような変更をよく行う可能性がある。もちろん、ユーザー間通信を禁止していた前の状態から、新しい解禁の状態にすることは大きな変更なので、6 月 8 日からその旨をトップページで告知したり、public.softether.com に接続する際に表示される警告画面に掲示したりしている。
ユーザー間通信が可能だということは、いかなる TCP/IP の通信でも、あたかも直接 2 台の PC がスイッチング HUB を経由して接続されているように、自由に可能だということになる。すなわち、Windows のファイル共有プロトコルである SMB/CIFS も利用できる。といっても、最近の Windows で、かつ、意図的に危険な設定にしていなければ (Windows XP, Vista, 7)、危険はほとんど無いと考えれば良い。デフォルトでパーソナルファイアウォールが有効になっている。また、共有フォルダにもパスワードがかかっている。
Windows のファイル共有プロトコルである SMB/CIFS は、WINS およびブロードキャストで、同一セグメント上にある他の Windows マシンや共有フォルダの一覧を表示することができる。会社で Windows を適当に使っていても、「ネットワーク」にほかの人の PC が見えて、それをダブルクリックすれば共有フォルダの中身を見たり、書き込んだりすることができる (適切に設定していれば) のはご存じのとおりである。それが、PUBLIC 仮想 HUB に接続すると、何百人、何千人の PC が列挙される訳である。
試しに、そこらへんにある Windows 7 の PC を PUBLIC 仮想 HUB に接続し、しばらく待ってから、「ネットワーク」を開くと、以下のように、大量の PC が列挙された。
しかしどうやら Windows Vista と Windows 7 はお互いに列挙できるが、Windows Vista / 7 は Windows XP / 2000 / 9x の PC をうまく列挙できないことがあるようである。タイミングによっては、列挙できることもある。その違いがよく分からなかった。
たくさんの PC を列挙したいのであれば、Windows XP から接続するのが一番、たくさん列挙されて面白いのではないかと思う。Vista / 7 の CIFS クライアント機能は、プログラムコードの大部分が Windows XP と比較して大幅に一から再開発されているので、何かの互換性上の問題なのではないかと思う。
そして、列挙された PC をダブルクリックして開いてみることもできる。
Windows について知識のあるユーザーは、普段は共有フォルダを使っていたとしても、公開 VPN サーバーの仮想 HUB (PUBLIC) に接続するときだけは、誰でも接続可能なスイッチング HUB や無線 LAN セグメントに PC を接続することと、論理的には全く同様のことなので、当然、共有したくないファイルは、共有フォルダに置かないはずである。また、共有フォルダにはしっかりパスワードをかけているはずである。
Windows について知識の少ないユーザーは、明示的に、手動で操作をしないと、パスワード無しで外からアクセス可能な共有フォルダを作成することはできないはずだから、危険はないはずである。
ということは、ここで列挙された PC をダブルクリックして、共有フォルダの一覧が表示され、その共有フォルダをさらにダブルクリックすると、共有フォルダの中にファイルが見えて、それを取得することができてしまう PC があるとすれば、その人は、意図的に公開するためにそのフォルダをパスワード無しで公開しているのに違いないということになる。インターネット上では、昔、Windows のファイル共有などがなかったときにも、FTP の anonymous という匿名アカウントの仕組みがあった (今でも一応残っている)。誰かにインターネット経由で公開したいファイルがあるとき、anonymous というアカウント (パスワードは任意) で FTP サーバーに接続できるように設定した状態の FTP サーバーを起動しておけば、そこに接続した誰かは、そこに置いてあるファイルをもらっていくことができる。
公開 VPN サーバーの PUBLIC 仮想 HUB 上で、パスワードなしでアクセスできる共有フォルダを、堂々と公開している人は、そういうように、多くの人に、意図的にファイルを公開しているのだと考えるのが妥当である。少し検索してみると、常時、そのような PC は何十台かあるようである。中には、共有フォルダを書き込み可能にして公開している人もいるかも知れない。これも、昔は FTP で anonymous アカウントで接続すると「pub」というようなフォルダがあり、そこには誰でも匿名でアップロードができた FTP サーバーがあったが、それと同じようなものだろう。
また、Windows Vista や Windows 7 の Windows Media Player の機能で、音楽やビデオを LAN 上の他のユーザーに共有する機能を有効にしている PC は、以下のように表示される。これらの PC の中の共有されている MP3 やビデオ等を再生することが可能である。
公開 VPN サーバーの PUBLIC 仮想 HUB に接続して、少し Windows の「ネットワーク」で PC を列挙してブラウジングしてみたが、いろいろな PC で共有フォルダが見えていて、興味深いと感じた。ただし、中身まではよく見ていないが、興味がある方は、接続してブラウズしてみると、インターネット上に構築された仮想的なオーバーレイネットワークにアクセスしている気分になって (気分だけではなく本当にアクセスしているのだが) 面白いのではないだろうか。
なお、PUBLIC 仮想 HUB に接続するときは、自分の PC の共有フォルダにパスワードがかかっていなければ、他の人に対してその共有フォルダの内容を公開していることになるので、その点に留意したほうが良い。
なお、PUBLIC 仮想 HUB (セキュアインターネットサービス) では不特定多数のユーザー間での自由な通信が可能であるが、ASP 型 VPN 実験サービス では、自分が作成した、自分専用の仮想 HUB に接続した人 (つまり接続を許可するアカウントを作成して保有している人) だけがその仮想的な分離された安全なレイヤ 2 Ethernet セグメントに接続することができるので、もし、意図した特定の複数人の PC 間で Windows ファイル共有などを行いたい場合は、こちらを使用してほしい。このサービスも最近人気が出てきて、11,487 個の仮想 HUB があり、13,398 人に日常的に利用されている。
PUBLIC 仮想 HUB に接続すると IPv6 通信が可能に
実は、上記を解禁した 2010 年 6 月 19 日 (土) から、PUBLIC 仮想 HUB に接続すると、IPv6 のグローバル IP アドレスが割り当てられ、IPv6 インターネットに直結 (Ethernet のレベルで接続) されるようになっている。設定は一切不要である。
試しに、TCP/IP および DNS が IPv6 に対応した OS (Windows Vista / 7 / Linux 等) で PUBLIC 仮想 HUB に接続して、接続が完了したら、「ping www.kame.net」とか「tracert www.kame.net」とか試してみてほしい。IPv6 インターネットに VPN 経由でネイティブアクセス (ここでいうネイティブとは、Ethernet インターフェイスとして、という意味) していることが分かるはずである。また、その状態で、有名な http://www.kame.net/ にアクセスすれば、カメさんのアニメーションが見れる。
この PUBLIC 仮想 HUB のセグメントは 64bit の Prefix を RA で流す IPv6 セグメントである。上位 64bit は「2001:200:1C8:FF01::」である。つまり、2001:200:1C8:FF01::/64 がネットワークアドレス (IPv6 ではプレフィックスと言うのだっけ) である。デフォルトゲートウェイは 2001:200:1C8:FF01::1 である。
下位 64bit は、OS によって、仮想 LAN カードの MAC アドレスをもとに自動生成される。最近の OS では、他に匿名一時アドレスも自動生成されるが、MAC アドレスをもとに自動生成された IPv6 アドレスは、必ず利用可能である。ipconfig すれば表示される。この IPv6 アドレスは、MAC アドレスをもとに自動生成されるのだから、何日間接続していても、また、一度切断して再接続しても、IPv6 アドレスは変わらない。この実験サービスが将来停止するまで (または上位 64bit の Prefix が、何らかの原因で変わるまで) 絶対に変わらない。このような固定で IPv6 アドレスを割り当てるサービスを、無料で、日本国内で安定したバックホーンを用いて行っているのは、このサービスと、http://v6ip.tsukuba.wide.ad.jp/ くらいなのではないだろうか。なお、後者のサービスは、筑波大学システム情報工学研究科産学間連携推進室が運営している。両方とも、WIDE プロジェクトの IPv6 バックボーンでインターネットに接続されている。後者のサービスはユーザーごとに別々の IPv6 固定 Prefix を割り当てているのに対して、前者のサービスは、全ユーザーが同一の IPv6 固定 Prefix (2001:200:1C8:FF01::/64) である点が異なる。後者のサービスは、自宅や事務所に設置した VPN Bridge から仮想 HUB にカスケード接続し続けることで、既存の物理的な Ethernet セグメントに RA を流すことができるから、自宅にあるすべての IPv6 対応機器にグローバル固定 IPv6 アドレスを割り当てるというようなことができる。詳しくは こちらのニュースリリース を参照するとよい。
このサービスは簡単に言うと、IPv6 over IPv4 (TCPv4) であり、より正確には、IPv6 over Ethernet over TCP over IPv4 である。
両方のサービスとも、IPv6 のインターネットとの間の通信について、一切、パケットフィルタリングはかけていない。だから、自由に通信ができる。ただし、確か、例外として外向きの TCP 25 だけはフィルタさせていただいている。これは SMTP で SPAM メールを送信されないようにするための措置である。
使い方としては、一番面白いのが、Windows のリモートデスクトップである。Windows Vista / 7 では、リモートデスクトップに IPv6 上の TCP (これを TCPv6 と呼んで良いのだろうか?) を用いることができる。だから、自宅の PC に本サービス (前者と後者のどちらでも良い) に接続し続ける VPN Client をインストールし、IPv6 アドレスをもらっておけば、外出先から、その IPv6 アドレスを指定して、IPv6 インターネットを経由して直接、自分の PC のリモートデスクトップにアクセスできるのである。ただし、残念ながら、外出先で IPv6 のちゃんとしたインターネットが使えるところはほとんど無いだろうから、今のところは、どうせ、外出先の PC も VPN でこれらのサービスに VPN 接続し、そこで IPv6 アドレスをもらってから、IPv6 同士で通信するということになる。それなら、最初から、ASP 型 VPN 実験サービス を使って IPv4 でリモートデスクトップをすれば良いのだが。
実は、この IPv6 サービスは、まだほとんどトラフィックが流れていない。インターネット上にろくな IPv6 のサーバーがなく、また、IPv6 を活用したアプリもほとんどないので、仕方がないかも知れない。トラフィックグラフは以下のようである。
なお、IPv6 を使う場合も、IPv4 を使う場合も、PacketiX.NET の VPN 実験サーバーを経由すれば、リモートデスクトップを NAT の内側同士でも簡単に接続できてしまう。そうすれば、Desktop VPN オンラインサービス は不要なのではないか、なぜこの商用サービスに競合するような無料サービスを同一会社でやっているのか、と疑問に思われるかも知れない。その違いとしては、Desktop VPN の商用サービスのほうは、確かに VPN のゲートウェイを経由するという点では似ているが、まず、リモートデスクトップ専用のアプリケーションレイヤの VPN ソフトウェアを用いて実装しているため、軽く、一般ユーザー権限でもインストール・実行が可能 (サーバー側も Administrators 権限が実は不要である。だから、社内 PC で、忙しいシステム管理者に代わって (代わりに自分でインストールしてと依頼されて)、一般社員が一般権限でインストールして利用することもできる) という特徴がある。もう 1 つの特徴は、Desktop VPN のゲートウェイサーバーは、PacketiX.NET と違って、高品質な ISP のトランジット回線を高い値段 (月間平均で 1 Mbps あたり 1 万円もする!) で調達し、また、データセンターも、バッテリー設備、自家発電設備を備えた、安定性の高いセキュリティの整ったところに設置・稼働させているという点が異なる。PacketiX.NET は年に数回ダウンするが、Desktop VPN は、2007 年 10 月にサービスインしてから、一時的に利用できなくなったのは 2009 年 4 月 1 日 (日本 SGI のデータセンターから、新しいデータセンターへの引っ越し作業) の早朝の 1 回だけで、あとは無事故で動作し続けている。