大阪本社と京都支社で個別に構築されていたLANを、インターネットVPNを使って 接続し、利便性を向上させることにします。大まかな要件は以下の通り。
新規に必要なものをそろえるのであれば、 PersolのBSR14 とか、 LinksysのBEFSR41C-JP あたりを2台買ってきてIPSecで接続するのが簡単ですが、それでは味気ない ので、既存のLinuxマシンを使ってVPNを構築します。 VPN技術の比較から、両端が動的IPでも接続できるOpenVPNを使うことにします。
VPN接続ができた暁には、ルーター1のtun0とルーター2のtun0が(仮想的な)線で つながっているように見えます。
まず、OpenSSLライブラリをインストー ルしてください。最近のLinuxディストリビューションであれば、たぶん標準で インストールされていると思います。
また、LZO圧縮を使う場合、 LZO data compression libraryから、LZOライブラリをインストールします。
続いて、Linux カーネルのTUN/TAPデバイスを有効にします。TUN/TAPデバイスが カーネルモジュールとしてインストールされていれば、わざわざカーネルを作り 直す必要はありません。
として、エラーが出なければカーネルモジュールが入っているので、それを使え ばよいでしょう。
モジュールが無いようなら、カーネル設定の"Network device support"の中に"Universal TUN/TAP device driver support"が あるので、これを有効にしてカーネルを作り直します。
続いてtunデバイスが無ければ次のようにして作ります。
最後に、OpenVPNをインストールします。
OpenVPNのダウンロードペー
ジからtar-ballをダウンロードするか、
自家製のSRPM(ただしLZO圧縮
無し)をダウンロードしてインストールします。
tar-ballからコンパイルする場合は
SRPMからコンパイルする場合、
ひとまず、簡単な事前共有鍵方式での接続を試してみましょう。まず、共有鍵を 作ります。
作った共有鍵を、ルーター1とルーター2の/etc/openvpn/にコピーします。この 鍵があれば暗号を解くことができるので、他人に見られないように注意してくだ さい。ファイルの転送には、sshを使うか、フロッピーなどで手運びするように しましょう。また、ファイルのパーミッションも、
として、root以外のユーザーが読めないようにしましょう。
続いて、ルート設定スクリプトを書きます。ルーター1(大阪本社側)の/etc/openvpn/kyoto.up に、次のようなスクリプトを書きます。
同様に、ルーター2(京都支社側)の/etc/openvpn/osaka.upにも以下を書き込みます。
最後に、設定ファイルを書きましょう。ルーター1(大阪本社側)の/etc/openvpn/kyoto.confに、 以下の内容を書いてください。
ルーター2(京都支社)の/etc/openvpn/osaka.confにも以下の内容を書き込みます。
remoteのホスト名、upのスクリプトファイル名、ifconfigのIPがルーター1のものと異なります。
ここまでちゃんと設定したら、ルーター1とルーター2で、以下の起動スクリプト を呼ぶだけです。
あとは、pingなどで互いに接続できるかテストしてみてください。うまくいかな いようなら、routeの確認や、openvpnのデバッグモード(verb 9にする)を試して みましょう。
ここまでで、要件だった4項目のうち、以下の3つは実現できているはずです。
しかし、Windowsのファイル共有をしようとすると、ネットワークコンピューター に相手側のコンピューターが表示されないと思います。これを解決するために、 VPN環境でのWindows Networkを参照 して、SambaやWINSサーバーの設定などを行ってください。