Monday, October 3, 2016 5:00AM to 11:00AM (UTC) Schedouled down time to change site domain

毎月進化する490円/月のVPS「ServersMan@VPS」をオンラインストレージやVPNで活用しよう 7ページ

仮想ネットワークで接続されたPC同士のルーティング設定

 VPNサーバーに対し複数のVPNクライアントから同時に接続を行った場合、それぞれは同一のVPNに接続されている形となる。しかし、VPNサーバー-クライアント間は自動的にルーティング設定が行われるものの、VPNクライアント同士のルーティングは自動的には行われない。そのため、VPNクライアント間での通信を行いたい場合は適切なルーティング設定を行う必要がある。以下では、図29のような構成を行った場合のルーティング設定について説明しておく。

図29 解説に用いるネットワーク構成例
図29 解説に用いるネットワーク構成例

 なお、VPNクライアント側で仮想NICに接続されている仮想ブリッジのIPアドレスは、Linuxの場合ifconfigコマンドで調べられる。該当するtunデバイスの中で、「P-t-P:」の後に続けて表示されているIPアドレスが仮想ブリッジのIPアドレスとなる。

$ /sbin/ifconfig
 :
 :
tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet addr:10.8.0.10  P-t-P:10.8.0.9  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:10 errors:0 dropped:0 overruns:0 frame:0
          TX packets:12 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          RX bytes:792 (792.0 b)  TX bytes:960 (960.0 b)

 Windowsの場合、routeコマンドの引数にVPNサーバーのIPアドレスを指定して実行することで調べられる。「ゲートウェイ」に設定されているIPアドレスが仮想ブリッジのIPアドレスだ。

>route print 10.8.0.1
 :
 :
IPv4 ルート テーブル
===========================================================================
アクティブ ルート:
ネットワーク宛先        ネットマスク          ゲートウェイ       インターフェイ
ス  メトリック
         10.8.0.1  255.255.255.255        10.8.0.13        10.8.0.14     30
===========================================================================
 :
 :

 さて、接続直後の状態ではVPNサーバーおよびすべてのVPNクライアントは同一のネットワーク(10.8.0.0/24)に接続されているが、クライアント1とクライアント2間の通信は行えない。VPNクライアントはVPNの接続時にルーティング設定を行うが、このときVPNクライアント-VPNサーバー間のルーティングしか設定されないからだ。そのため、各クライアントで適切なルーティング設定を行う必要がある。Linuxの場合、次のようにrouteコマンドで設定できる。

# /sbin/route add -net <仮想ネットワークのアドレス> gw <仮想ネットワークデバイスのP2P接続先IPアドレス> netmask <仮想ネットワークのネットマスク>

 したがってクライアント1で必要な設定は以下のようになる。

# /sbin/route add -net 10.8.0.0 gw 10.8.0.9 netmask 255.255.255.0

 Windowsの場合もルーティング設定はrouteコマンドを使用する。ただし、書式がLinuxの場合とは異なるので注意が必要だ。また、ルーティング設定には管理者権限が必要なので、コマンドプロンプトを管理者として実行(コマンドプロンプトの実行時に右クリックして選択)しておく必要がある。

> route add <仮想ネットワークのアドレス> mask <仮想ネットワークのネットマスク> <仮想ネットワークデバイスのP2P接続先IPアドレス>

 クライアント2の場合、次のようになる。

> route add 10.8.0.0 mask 255.255.255.0 10.8.0.13

 以上の作業を行えば、クライアント1-クライアント2間での通信が行えるようになる。

そのほかの一般的なサーバー機能を利用する

 以上、ServersMan@VPSをオンラインストレージやVPNサーバーとして利用する例を紹介してきたが、もちろんこれ以外の利用法も可能だ。ServersMan@VPSではデフォルトでHTTPサーバー(Apache)やPerl、PHP(申し込み時に「ホームページセット」を選択した場合)がインストールされており、すぐにWebサーバーとして利用することができるようになっている。また、StandardおよびProプランで選択できる「エンジニアセット」では、メールサーバーやDNSサーバー、MySQLなどもインストールされ、Webブラウザ経由でのGUIによる設定が可能なツール「BlueOnyx」もインストールされる。これを選択することで、各種サーバーに不慣れなユーザーでも容易にサーバーを構築できるようになっている。

 もちろん、ServersMan@VPSではユーザーにroot権限が付与されるため、yumコマンドを利用して自由にソフトウェアをインストールすることが可能だ。gccなどのコンパイラをインストールすれば、任意のソフトウェアをソースコードからインストールできる。

 ただし、今回選択したEntryプランではメモリの容量が少ないため、現実的に利用できるソフトウェアについては制限される。たとえば静的なWebページの提供などならあまり問題にならないと思われるが、Webページの表示時に負荷を要するWebアプリケーションやCGIなどを使用する場合、状況によってはサーバーが重くなることが考えられる。そのため、このような用途を考慮する場合はより上位のプランを検討するべきだろう。

 ServersMan@VPSは海外の低価格VPSサービスと対抗できる価格設定ながら、日本語によるサポートやドキュメント提供、転送量の制限が無いなど、使い勝手についてはそれらを上回るものとなっている。また、初期費用や最低利用期間制限もなく、現在は期間限定ながら月額料金が最大2か月無料のキャンペーンも行われている。無料期間内での解約も可能なので、とりあえず低価格のVPSを探しているならば試用してみてはいかがだろうか。

・ServersMan@VPS
http://dream.jp/vps/

・ServersMan@Disk
http://dream.jp/disk/