はじめに
SoftEtherがPacketiX VPNに変わりライセンス制になったため、完全フリーで使用できるVPNを探していた。とりあえずSoftEtherをそのまま使用していたのだが、Hamachiというフリーソフトがあることを知ったので、SoftEtherからの乗り換えを狙って試用してみた。
インストールと設定
- Hamachi公式サイトから Hamachi for Windows 1.0.0.61 (beta) の日本語版 (HamachiSetup-1.0.0.61-jp.exe) をダウンロード。
- 同じく Hamachi for Linux 0.9.9.9-20 (hamachi-0.9.9.9-20-lnx.tar.gz) をダウンロード。
- サーバー側の設定をする。Linux で hamachi-0.9.9.9-20-lnx.tar.gz を解凍。
- README に書いてある通り、root で
# make install を実行する。すると、/bin に hamachi と hamachi-init が、/sbin に tuncfg が インストールされる。 - 仮想デバイスを有効にする。
# tuncfg - 設定を初期化する。
# hamachi-init これによりRSAキーの生成やその他の設定の初期化がされるらしい。コンソールには以下のようなメッセージが出力される。Initializing Hamachi configuration (/root/.hamachi). Please wait ..
generating 2048-bit RSA keypair .. ok
making /root/.hamachi directory .. ok
saving /root/.hamachi/client.pub .. ok
saving /root/.hamachi/client.pri .. ok
saving /root/.hamachi/state .. ok
Authentication information has been created. Hamachi can now be started with
'hamachi start' command and then brought online with 'hamachi login'.
注) Hamachi for Linux 0.9.9.9-20 では GCC 3.3 以降でなければ hamachi-init を実行できない。この点を良く確認しておいたほうが良い。(Vine Linux の場合、GCC 2.9X になる Vine Linux 2.6 以前では実行不可能で、3.0 以降を使用する必要がある。) - Hamachi を起動する。
# hamachi start
# hamachi login - ネットワークを作成する。
# hamachi create <Network Name> このとき、すでに存在するネットワーク名を作成しようとすると受け付けてくれないので、そのときは別名を与える必要がある。(ネットワーク名は日本語も使用可能である。) - オンラインにする。
# hamachi go-online <Network Name> - クライアントには Windows を使用した。Hamachi Windows 版はインストーラの指示に従ってインストールすれば良い(特に迷うところは無い)。インストールが完了し Hamachi を起動すると、Hamachi 本体と共にヘルプも表示される。ヘルプの指示に従えば特に迷うところは無い。電源ボタンを押して Hamachi を有効にし、「既存のネットワークに参加」 を選択する。"ネットワーク名" に Linux の方で作成した <Network Name> を入力し、同時に設定したパスワードを "ネットワークパスワード" に入力し、「参加」ボタンをクリックすれば、サーバーホストとの間に VPN が構築される。
SoftEtherとの違い
SoftEther(現PacketiX VPN)の代わりとして Hamachi 導入を考えていたのだが、Hamachi の仕組みは SoftEther とは大きく異なっているようだ。
SoftEther の場合は SoftEther 仮想 Hub を利用することでサーバーが所属するネットワーク全体との間に VPN を構築できる(つまりSoftEther仮想Hubを動かすホストのネットワークに参加できる)が、Hamachi の場合はあくまで P2P であり、サーバーとの間に1対1の、あるいはサーバーに接続した別のホストとの間に1対1のネットワークを構築するだけである。
また、SoftEther の場合は外部サーバーを必要としなかったが、Hamachi の場合は全てのクライアント(peers)が仲介サーバー(mediation server)から固有のアドレスを割り当てられる。クライアント同士の接続の際には仲介サーバーが介入しお互いの場所を得る。一旦接続が確立すると仲介サーバーは不要となるが、仲介サーバーがダウンしているときはクライアントは Hamachi を利用できないという事態が発生すると思われる。
これらの点を踏まえると、Hamachi はメッセンジャーソフトやファイル共有ソフトなどの P2P ソフトウェアの一種であると考えられる。(Napster型か?)
インストールではサーバーを Linux、クライアントを Windows と想定して書いたが、実際にはそのような役割分担は必要なく、どちらがサーバーでもクライアントでも良かったのであり、また、root でネットワークを作成する必要はなかったようだ(むしろ root では作成してはならないだろう)。使い方としては、VPN を構築したい全てのホストにおいて Hamachi を実行させ、どれか1つがネットワークを作成し、他のホストがそこに接続するという形態にすればよい。どのホストでもサーバーになることができるし、クライアントは複数のネットワークに同時に接続できる。peer同士の接続は仲介サーバーによって割り当てられた固有のアドレスを指定すれば良い。
感想
「ゼロコンフィギュレーション(設定不要)」を謳っているとおり、ほとんど設定をすることなく使用できた。また、通信したいホスト同士が NAT で隠されていても簡単に通信できた。使い方を間違わなければとても良くできたソフトだと思う。
気づいたこと
ネットワーク名に日本語を使用できるが、文字コードが違うためか Windows で作成した日本語のネットワークに Linux からは参加できなかった。何かしらの方法があると思うが、分からずじまい。
TIPS
- Vine Linux 2.6 で使用する
Vine Linux 2.6 で Hamachi を実行しようとしても、libgcc.so.1 が足りないため実行できない。これを解消するには、Vine Linux 3.2 の libgcc パッケージをインストールしてやれば良い。また、tun モジュールがロードされているかどうかも確認しておく。# lsmod ロードされていなければ、あらかじめロードしておく。# modprobe tun これにより、Vine Linux 2.6 でも Hamachi を利用できるようになる。 - Hamachiの更新
Hamachiの更新が可能なときにHamachiを起動するとダイアログが出現しプログラムを更新するかどうかの問い合わせがある。ここで「はい」を選択すれば手軽にアップデートが出来るが、更新されるのは英語バージョンとなる。日本語バージョンを使用したい場合は、従来どおりホームページからダウンロードを行わなければならない。
更新情報
(Oct 1, 2006) Win 1.0.0.62 (beta) に更新
(Nov 14, 2006) Win 1.0.1.1 に更新
(Dec 9, 2006) Win 1.0.1.3 に更新
(Jan 15, 2007) Win 1.0.1.5 に更新
参考
|