TinyVPNによる仮想LAN接続機器の利用

TinyVPNによる仮想LAN接続機器の利用
Windows XP環境でTinyVPNによる専用ネットワークを構築する際の注意点
(2007.07.25作成)
特徴
  
TinyVPN
は、PacketiX VPN(旧バージョン SoftEther VPN)と同様に、イーサネットのパケ
   ットをカプセリングした仮想ハブネットワーク方式の無料のVPN(Virtual Private Network)
   ソフト。仮想的なネットワークハブとネットワークインターフェイスをシステムに追加し、仮想ネット
   ワークアダプタを仮想ハブに接続することで仮想的なLANを構築する。そこでブリッジ接続をし
   ておけば、ネットワーク的に離れた場所にあるパソコン同士を、あたかも同一のLAN内にあるよ
   うに接続してファイル共有などが行えるようになる(「ブリッジ接続によるLANの統合(pdf)」より)。
   PacketiX VPNはフリーで試用することが難しくなった(繰り返しライセンスを取得する手間
   が必要な)ので、今回はTinyVPNを試用した。
   なお、TinyVPNには 1台のパソコンに作成できる仮想ハブは1つで、仮想ハブに対して最大
   8クライアントが接続可能」という制限はあるが(有償のプロフェッショナルエデイションは無制
   限)、一般ユーザなら充分だ。
  <参考>仮想ネットワークインターフェイス(仮想NIC)は仮想ネットワークアダプタで、その実
    体は ShimousaTinyVPN Adapterだ。
   又、P2P方式のVPNであるHamachi も試用してTinyVPNと比較すると共に(ここを参照)、
   リモートデスクトップソフトUltraVPNをこれらVPNと組み合わせても試用してみた(ここを参照)。

前準備
  1)ブロードバンドのネットワーク環境:
    今回は三台のPCで各々別回線(FTTH, CATV:CATCH, MICS)を使用し、又各々別機種
    のブロードバンドルータを使用。
  2)OS:Windows Vista 又は、WindowsXPを使用。
  3)Personal Firewall(&AntiVirus):Vista とMICS利用 XPはNorton360を、CATV利用 XPは
    ウイルスバスター2007をインストール。
  4)サーバPCのブロードバンドルータ用にダイナミックDNSサービスを導入して、ルータにドメイ
    ン(DDNSホスト)名でアクセス出来るようにした。
  5)サーバ側ルータEX とクライアント側ルータSW が同じIP アドレスを割当てないように、それ
    ぞれの割当範囲を分けておく (「ブリッジ接続機能によるLANの統合(pdf)」の「サーバ側と
     クライアント側の IP アドレス見直し」を参考に、筆者の環境に合わせて改変)。
    筆者が使用しているルータはいずれも、192.168.1.1〜 192.168.1.60がデフォルトなので、
     以下のように設定を変更した。
      クライアント側ルータSW:ルータ自身のIP アドレス: 192.168.1.1
                  DHCP 割当範囲: 192.168.1.11 〜 192.168.1.29
      サーバ側ルータEX:ルータ自身のIP アドレス: 192.168.1.40
                  DHCP 割当範囲: 192.168.1.41 〜 192.168.1.60
    即ち、クライアントのLAN環境は別宅、実家、友人宅と変更する場合があるので、デフォル
     ト値を大きく変更するルータはサーバ側ルータEXとした。
    Windows Vistaでは変更しなくてもトラブルはなかったが、Windows XPの場合は、ルータを
     
デフォルトのままで使用すると結果5)の如く、ネットワークブリッジの接続が不安定になっ
     てしまう。

入手
は、ここから。今回は、TinyVPN 2.9.5 を使用した。
インストール
  サーバPCには、「TinyVPN 2.9.5 フルセット」で仮想ハブと仮想ネットワークアダプタをインスト
    ールする。方法は、tv294full.jpn.msi を実行するだけで、迷うところはない。
  クライアントPCは、「TinyVPN 2.9.5 NIC」で仮想ネットワークアダプタのみをインストールすれば
   よいが、今回は、双方向で検証する為に「TinyVPN 2.9.5 フルセット」をインストールした。
A) サ−バ側での設定
  1-1)仮想ハブの作成
   スタートメニューから「Shinousa TinyVPN2」−「HubPanel」を起動して、
  「仮想ハブ管理パネル」を開く。
    先ず、「ハブ定義」メニューの「仮想ハブの追加」で、仮想ハブを作成する。
    「仮想ハブの基本設定」
      作成するハブの名前は任意のもので構わない(今回はTinyHubとした)。
      「認証機能ON」にチェックを入れておく。
      待受ポート番号は1〜65535の任意のものを指定する(今回は9999番を指定した)。
        ポート番号は、TinyVPNが通信に利用するもので、ブロードバンドルータの静的NAT
        (ポートフォワード)の設定では、ここで指定した番号を用いる。
      
DHCPに関して
        仮想ハブに接続してきた仮想ネットワークアダプタから送信されるDHCP要求(IPア
         ドレスの自動取得要求)に対して仮想ハブがどの様に動作するかを設定する。
         Windows Vista環境なら、 「関与しない」又は「DHCPパケットをブロックする」でトラ
          ブル事はなかったが、
         Windows XPの場合は、仮想ネットワークアダプタがブロードバンドルータから IPア
         ドレスを割り当てられている状態だと、ネットワークブリッジの接続が不安定にな
         
り易いので(結果5)
        今回は「この仮想ハブがDHCPサーバになる」にチェックを入れ、それ以下の設定
         はデフォルトのままとした。
         暗号化キーの設定が可能となるので、「簡単キー生成」ボタンを押して仮想ハブ
          作成で使う予定の文字列を入力する。
        *「関与しない」 はブリッジ接続とRAS接続を併用する場合に使用するとよいと云う。
        なお、UPnPに対応したブロードバンドルータなら、待ち受けポート番号を入力して「静
         的NAT設定」ボタンをクリックすればよいが、筆者はUPnP機能を無効に設定して運
         用している為か、UPnP対応ルータが見つからないと警告されたので、4)の如く手動
         でルータの設定を行なった。
  1-2)アカウントの作成(新規追加)
   次に、「仮想ハブ管理パネル」で、先ほどで作成した仮想ハブを右クリックし
   「アカウントの設定」を選択して、アカウントを新規に作成する。
     「TinyHubのアカウント設定」画面
       が表示されるので、
       「定義」−「アカウントを追加する」を
       クリックし「アカウントの追加」画面で
       任意の IDとパスワードを入力する。
       *今回は1アカウントを登録したが、複数のクライアントからの接続を受け入れる場合
         は、予定のメンバーを追加する。
  1-3)ここまで終わったら、仮想ハブ管理パネルで作成した仮想ハブを右クリックして「起動」メニ
    ューから仮想ハブを起動させておく。

  2)仮想ネットワークアダプタ(ShimousaTinyVPN Adapter)の作成と設定
   スタートメニューから「Shinousa TinyVPN2」−「NICSettingPanal」を選択して、
 「仮想ネットワークアダプタ設定パネル」を起動する。
    ここで「アダプタ定義」メニューの「アダプタの追加」を選択すると、進行画面が表示され仮想
    ネットワークアダプタであるShimousaTinyVPN Adapterが、「ネットワーク接続」に作成される。
     この時、仮想ネットワークアダプタは自動的に仮想ハブに接続しようとするが、認証に失敗
     する。そこで、このShimousaTinyVPN Adapterを右クリックして 「プロパテイ」を選択して、
     認証情報などのプロパティの設定を行う。 
     「Shimousa TinyVPN Adapter」のプロパティ画面で設定する頂日
      「ホスト名もしくはlPアドレス」の個所を「localhost」に、
      「Port番号」を先ほどの仮想ハブで設定した「9999」にする。
      「この仮想ハブは認証が必要」のチェックをOnにして、「アカウントの追加」で事前に仮想
        ハブで登録したIDとパスワードを入力する。
      「接続リトライ設定」は、デフォルトのままとしておく。
      「暗号化設定」は、「通信を暗号化する」のチェックをOnにして、暗号化キーを設定する
        (簡易作成方法は下記) 。
      「このネットワークアダプタの設定値」:
        「仮想ハブの基本設定」の「DHCPに関して」で記述した理由で
        「次のIPアドレスを使う」にチェックを入れ、容認された範囲内でIPアドレスを指定する
         (今回は、192.168.200.1)。
         「簡単キー作成」ボタンをクリックして、
          仮想ハブの作成で使った文字列を入力
          する。
          「キー生成」を押せば、自動的に複雑な
          暗号化キーを作成出来る。
  3)ネットワークブリッジの作成
   最後にWindowsの「コントロールパネル」にある「ネットワーク接続」で、この仮想ネットワーク
   アダプタと、実際にブロードバンドルータと接続している物理的LANカードとをブリッジ接続する。
   「ローカルエリア接続」と「ShimousaTinyVPN Adapter」が有効になっている状態で2つを選択
   し、右クリック してショートカットメニューの「ブリッジ接続」を実行する。
   WindowsXPの場合は、「仮想ネットワークアダプタ設定パ
   ネル」で正常に「接続中」と表示されていても、右のように
   接続初期は×となっている事が多いが、機能している。
   「ShimousaTinyVPN Adapter」を右クリックして、「プロパ
   ティ」画面を表示させて「OK」すれば×印は消える。
  4)サーバ側ブロードバンドルータの設定 
   TinyVPNが利用するポー
   ト(TCP/9999)を外部に
   開放する。
   ネットワークブリッジに割
   り当てられた IPアドレス
   は固定に設定し、これを
   ポートフォワード先に指
   定する。  
  *仮想ハブの接続フィルターの設定
    プロフェッショナルエディションでは、クライアントのIPアドレスやホスト名により、接続拒否を
    する為の設定が可能だが、フリーエディションは出来ない。
   ⇒パーソナルファイアウォールでTinyVNCのHubのプログラム制御:今回は設定せず。

       ファイアウォール保護の設定>ファイアウォールプログラムルール>tvhubで、
       通信はTCP/全てとする(TCP/9999のみ許可に限定すると何故かアクセス出来ない!)
       コンピュータは、LAN内 IPアドレスファミリー及びクライアントPCが利用するグローバルIPアド
       レスのみに限定する (Nameベースに未対応でDDNSホスト名での指定は通用しない)。
      *初めは「任意のコンピュータ」として起動しておいて、アクセスした後にUltraVNCよるPC
        遠隔操作で「制限付き」にクライアントのIPアドレスを入力し、これのみを有効にして最上部
        
に変更する。

B) クライアント側での設定
  1)仮想ネットワークアダプタの作成と設定
   スタートメニューから「Shinousa TinyVPN2」-「NICSettingPanal」を選択して、
 「仮想ネットワークアダプタ設定パネル」を起動し、
    サーバ側での設定と同様に仮想NICを作成して、「Shimousa TinyVPN Adapter」のプロ
    パティの設定を行う。
     クライアント側では、「ホスト名もしくはlPアドレス」のところに、サーバ側のルータに設定し
      ているダイナミックDNSのホスト名(もしくはグローバルlPアドレス)を指定する。
     「Port番号」や認証情報は、サーバ側の仮想ハブで設定したものを指定する。
     「暗号化設定」も、サーバ側の仮想ネットワークアダプタで設定したものと同じものを入力
      する必要がある。
     「このネットワークアダプタの設定値」:
      サーバ側と同様に「次のIPアドレスを使う」をチェックし、容認された範囲内で重複しない
      IPアド
レス
を指定する(今回は、192.168.200.2)。
  2)ネットワークブリッジの作成
   クライアント側でもネットワークブリッジで接続しないと、仮想ネットワークアダプタはサーバ
   側ルータ又は仮想ハブから IPアドレスを取得しているにもかかわらず、サーバ側LANに接
   
続された機器の共有利用が出来ない(結果6参照)。
  3)VPNサーバへの接続
   VPN接続を行うには、ク
   ライアント側の仮想ネッ
   トワークアダプタを
   「起動」するだけでよい
   のだが、 
   (1)あらかじめVPNサー
     バ側で仮想ハブを稼
     動させておく事は無
     論のこと、VPNサー
     バ側の仮想ネットワ
     ークアダプタを
     localhostに接続して
     おく必要がある。
     サーバ側で localhost接続されていないと、ブリッジ接続機能が有効とならない!
   (2)WindowsXPでは接続が不安定な事が多いので、「コントロールパネル」の「ネットワーク
      接続」にある「Shimousa TinyVPN Adapter」のプロパティ/全般で「接続時に通知領域に
     インジケータを表示する」にチェックを入れておい
     て、 を表示させ確認するようにした方がよい。
   
なお、WindowsXPでは「接続中」と表示されていて
     も、接続の初期は右図のように×で表示される場
     合も多いが、LAN接続機器の共有は可能だ。

結果 :
1)TinyVPNは、設定は簡素だが、その分高度なセキュリティーポリシーや通信パフォーマン
  スの安定化と高速化に関しては物足りない。
2)サーバ側でネットワークブリッジ接続されていれば、遠隔のクライアントPCは、ブロードバ
  ンドルータで構築されたLANにアクセスしているのと同じ状態になるので、サーバPCのみ
  ならずLAN に接続している別のPCや LinkStation(NAS:Network Attached Strageの一
  種でLAN接続型HDD)などにも自由にアクセスすることが可能だ。
  なお、筆者はVirtual PC 2007を時々利用しているのだが、ブリッジ接続をしていると、
   ゲストOSのネット接続が出来なくなってしまうのでその際は 6-1の対処が必要だ。
3)ファイルの転送実験:37.0MBの動画ファイルの転送に要する時間
  サーバはFTTH回線のWindows Vista(実測上り速度 11〜29Mbps)、クライアントはCATV
  回線のWindows XP(実測下り速度4Mbps前後)で検討した。
  <結果>
   「Windows標準ワークグループ接続」によるダウンロードは 1分21秒で、Hamachi
   「Windowsのファイル共有」 1分36秒と大差なかった。
 しかし、TinyVPN 2.9.5には以下の問題がある。
  SoftEther VPN 2.0(筆者は「PacketiX VPN」の試用経験がない)と比較すると、
 4)ローカルブリッジ設定機能を搭載しておらず、ブリッジ作成機能のないWindows2000では、
   Ethernet Bridge 2.0を利用する方策を講じる必要がある(ここを参照)と。
 5)Windows XPで使用する場合は、仮想ネットワークアダプタとのネットワークブリッジ接続
   不具合?
があるので、対策A ±対策B が必要だった!
   Windows Vista環境では、厄介な対策A(ルータのLAN側設定の変更)をしなくとも、安定
    したネットワーク接続を維持することが出来るのだが、
   WindowsXPの場合では以下の対策をせずに使用すると、サーバ側でもクライアント側でも
    「ShimousaTinyVPN Adapter」とのネットワークブリッジ接続が極めて不安定だった。
    即ち、暫くすると接続が自然に中断されてしまい、又暫くすると自然に再接続する事を
    定期的(サーバ側で使用すると5分毎、クライアント側で使用すると10分毎)に繰り返し
    てしまう。
サーバ側で接続状況を表示 (サーバはWindows Vista、クライアントはWindows XP)
    →接続が中断された場合には、「ネットワーク ブリッジの状況」を表示して「サポート」の
      「修復」を実行すれば直ちに再接続されるが、一時的な効果でしかない。
  <対策>
    A)「サーバ側ルータ とクライアント側ルータ が同じIP アドレスを割当てないようにルータ
     のLAN側設定を変更する(前準備の5)。
    B)仮想ネットワークアダプタの IPアドレスの取得は、サーバ側ブロードバンドルータから
     ではなく、仮想ハブから割り当てられるようにする。
   対策A は必須だ!
   対策B も講じれば更に不安定さは減少し、サーバ側ルータの IPアドレスが枯渇すること
     を防止出来るのだが・・・
     しかし対策Bの方法で使用すると、同じLAN内にある他のWindowsコンピュータは、
     TinyVPNを稼動する前にネットに接続しておかないと、TinyVPN稼動後はブロードバ
     ンドータから IPアドレスを取得出来ない為、ネット接続が出来なくなってしまうとい
     う作用がある。

 6)準備 5で変更した程度のサーバ側とクライアント側ルータ間のIPアドレス体系の差異で
  
は、クライアント側でもネットワークブリッジで接続いと、仮LAN接続機器の共有利
  
が出来なかった!
   SoftEther VPN 2.0では、LAN 環境上にあるクライアントでもブリッジ作成しなくても、問
   なく仮想LAN接続機器の利用が可能だった(LANの分別能力が優秀なのだろう)。

 <備考>IPアドレスに関する注意点(「ブリッジ接続によるリモートアクセス(pdf)」より引
    用・抜粋)
    TinyVPN とブリッジ接続機能を併用して外出先のPC から社内LAN にアクセスする環
    境を構築する際に・・・これらが同じIP アドレス体系にならないようにしなければならない
    ・・。これは外出先PC がモデム等を使って直接インターネットに接続されている場合は
    問題ありませんが、外出先PCも何らかのLAN 環境上にあ・・・る場合に注意が必要で
    す。  例えば、社内LAN のIP アドレスが 192.168.1.x で 外出先LAN のIP アドレスも
    192.168.1.x である場合、外出先PC は自分が送信したい相手がどちらのLAN にいる
    のか分からなくなり、混乱してしまうからです。 とマニュアルにある。
  しかし以下の難点があるので、手っ取り早くブリッジ接続で使用してみたら、幸いにも?
    仮想LAN接続機器の共有が可能とな
    った。

   (1)市販のLAN機器で、同じ IPアドレス体
     系にならないように大きく変更する事
     は、一般ユーザとしては躊躇せざるを
     得ない(192.168.1.xを192.168.0.xや
     192.168.10.xで試したが無効だった)。
   一方、ネットワークブリッジ接続の有効
     ・変更/解除は、プロパティのチェック
     /未チェックで手軽に可能だ(右図は、
     筆者のノートPCのネットワーク接続 )。
   (2)KATCH( 1契約で複数のグローバル IPを取得出来た極めて珍しい CATV会社)回
     線では、ルータを介さずに直接CATV回線に接続れば、ークブリッジ接続
     なくてもサーバ側 LAN接続機器の利用は可能だった。
     しかし、ルータ無しでの接続はグローバル IPの取得が容易でないし、とりわけCATV
     回線ではセキュリティ上危険が大きく実際的ではない。

追記(2008.06.xx):無料のPersonal Firewallについて
  ZoneAlarmはv7.0.362、v7.0.462もVista版v7.1もTinyVPNの接続が自動的にブロック
    されてしまう。ZoneAlaemの監視を無効に設定しても接続出来ない。
    ・・・対応する方法が有るのであろうが、筆者の能力を超えている。
  PC Tools Firewall Plusはv3.0になって
    TinyVPNのサーバ側では何のトラブルも起こらない。クライアント側ではTCP接続に
    失敗するが、PC Tools Firewallを無効にするか、「高度ルール」の「他全てのパケッ
    ト」のブロックを解除すれば問題なく接続出来るようになる。

Hamachiによるファイル共有
ここを 参照

VPN+UltraVNCによるPC遠隔操作
ここを 参照


| Kenのムービー計画へ >動画狂コーナーへ |