Raspberry Pi 2 Model B で L2TP/IPSec VPNサーバを構築してみた(その2)

2016年1月29日

本記事は、Raspberry Pi 3に対応しています。

Raspberry Pi 2 Model B で L2TP/IPSec VPNサーバを構築してみた(その1)ではブリッジデバイスへのIPアドレスの付与、Raspbian jessieへのSoftEtherインストールを実施しました。

その2では、引き続きSoftEther VPN Serverの設定を進めていきます。

SoftEther VPN Serverの管理ソフトウェアをダウンロードする

Raspberry Pi 2 MODEL BでVPNサーバを構築」と思い立った時点で、「Linuxで設定する!」という考えになっていると思いますが、ここからは、なんと、WindowsOSから管理プログラムを起動して設定します。

SoftEtherのダウンロードサイトから、「SoftEther VPN Server Manager for Windows」をダウンロードします。

http://www.softether-download.com/ja.aspx

ダウンロードする際の選択肢は、画像を参考にしてください。

softether-manage-download

SoftEther VPN サーバー管理マネージャを起動する

ダウンロードしたファイルを解凍して、vpnsmgr.exeを起動します。SoftEther VPN サーバー管理マネージャが起動します。

新しい接続設定をする

vpn-01

新しい接続設定 をクリックします。

接続設定名 と ホスト名(ラズベリーパイのIPアドレス)を入力してOKをクリックします。

vpn-02

SoftEther VPN Serverに接続する

登録した名前とIPアドレスを選択して 接続 をクリックします。

vpn-03

簡単セットアップを実施する

Wizardが起動してきますので、以下のように進めます。

リモートアクセスVPNサーバーを選択して次へをクリックします。

vpn-04

はい をクリックします。

vpn-05

任意の名前ですので、VPNとでも入力してOKを押します。

vpn-06

ダイナミックDNS名を好きに決めて、閉じるをクリックします。

vpn-07

L2TPサーバー機能を有効にする (L2TP over IPsec)を選択します。
先ほど入力したVPNを選択します。
事前共有鍵(パスワードみたいなもの)を決めて、OKをクリックします。

vpn-08

VPN Azureは使わないので、無効にする を選択してOKをクリックします。

vpn-09

ユーザを作成するをクリックします。

vpn-10

VPN接続時のユーザ名とパスワードを決めます。

vpn-11

確認画面でOKをクリックします。

vpn-12

作成したユーザが表示されますので、閉じる をクリックします。

vpn-13

ローカルブリッジの設定で、eth0とかbr0を選択して 閉じる をクリックします。(この設定は後で消すので何でもいいです。)

vpn-14

初期設定が終わって、メニュー画面が出てきました。

これから仮設定だったところ等を本番の設定に変更していきます。

本番設定

仮想HUBを作り直す

画面左下らへんの、ローカルブリッジ設定をクリックします。

vpn-15

先ほど設定したVPNを選択し、ローカルブリッジの削除をクリックします。(今までのは仮設定だったため)

vpn-16-del

「Linuxの残念な仕様を回避し、VPN接続しながらラズベリーパイにネットワーク接続するために、ブリッジデバイスに仮想HUBをブリッジする」ということをしたいので、以下のように設定して、ローカルブリッジを追加 をクリックします。

  • 仮想HUB名:VPN
  • 作成する種類:新しいtapデバイスとのブリッジ接続
  • 新しいtapデバイス名:vlan

vpn-16

仮想HUB名:VPN ブリッジ先:vlan 状態:動作中 と表示されればOKですので、閉じる をクリックします。

vpn-17

確認画面が出たらOKをクリックします。

vpn-18

確認画面が出たらOKをクリックします。

vpn-19

仮想HUBの管理画面を開く

管理画面に戻って、作り直した仮想HUB「VPN」をクリックして、「仮想HUBの管理」をクリックします。

vpn-15

管理画面がでてきました。以後、ユーザ追加や設定変更はこの画面から実施する感じです。

vpn-20

仮想HUBのプロパティ

仮想HUBの管理画面の、左上から4個下の、「仮想HUBのプロパティ」を開くとこんな設定メニューが出ます。

vpn-21

メッセージの設定をクリックするとメッセージを設定できます。(任意です)

vpn-22

ログ保存設定

仮想HUBの管理 画面の中央少し右の「ログ保存設定」をクリックします。

vpn-20

期間や、保存したいログの設定を実施します。

vpn-23

セキュリティ強化(暗号化)設定

管理マネージャまで戻って、中央少し右の、「暗号化と通信関係の設定」をクリックします。

vpn-15

デフォルトの暗号化アルゴリズムは弱いので、暗号化アルゴリズム名を「DHE-RSA-AES256-SHA」に変更しておくと良いです。

vpn-24

OpenVPN/MS-SSTP設定

管理マネージャまで戻って、右下の、「OpenVPSN/MS-SSTP設定」をクリックします。

vpn-15

使わないので、チェックを外してOKを押します。

vpn-26

 

以上でWindowsOS側での設定は完了です。

ここからRaspberryPi(Raspbian jessie)側での操作に戻ります。

起動スクリプトを作り直す

先ほど、WindowsOSで、SoftEtherの管理ツールを使って、tapデバイスを使った仮想HUBを作りましたので、vpnserverの起動スクリプト内に、tapデバイスをブリッジデバイスbr0にブリッジする設定を追記します。

(これをしないと、VPN接続時しながらRaspberryPi上のリソースに接続できない)

chkconfigからの削除

編集する前に、chkconfig から解除しておきます。

/etc/init.d/vpnserverを編集

/etc/init.d/vpnserverを以下のように編集します。重要なのは、vpn_start()内の、tap= の部分ですが、今まで記事のとおりに設定している場合は、コピペでイイです。

chkconfigに再登録

再度chkconfig に登録して、有効化します。

OSを再起動

動作確認をするために、OSを再起動します。

tapデバイスtap_vlanの確認

softetherが起動したら、tap_vlanもbr0にブリッジされます。(起動スクリプトにそのように仕込んでいます)

br0に、eth0とtap_vlanがブリッジされているので、結果として、vpn接続時のtap_vlanのネットワークからeth0のネットワークに接続できるようになっているはずです。

ifconfig -a コマンドで確認すると、tap_vlanが存在することが分かります。

 

長かったですが、これでL2TP/IPSecのVPNサーバの構築が完了です。

早速スマホ等を使って接続テストをしてみたいところですが、まだルータのポート開放設定が残っていますので、実施しましょう。

ルーターの設定

L2TP/IPSec を使用する場合は、500(UDP) と4500(UDP) の2つのポートを開放する必要があります。
この2つのポートに対する通信をRaspberryPiのIPアドレスにポートフォワーディングするように設定をルーター側で実施します。

ルーターによって設定方法が違うので、ここでは解説できませんが、ルーターにログインすれば、フィーリングで設定できると思います。

「ポートマッピング」や、「ポートフォワーディング」等のキーワードの設定を探して、設定しましょう。

設定後は、ルーターも再起動しておきましょう。

 

さて、これで設定が全て終わりました。

スマホからの接続テスト

最後はスマホ等からの接続テストを実施します。

Raspberry Pi 2 Model B で L2TP/IPSec VPNサーバを構築してみた(その3)の記事に続きます!