Softether VPNと仮想ブリッジの設定

2015年12月1日 1 投稿者: khws4v1

Raspberry PiにSoftether VPNをインストールし、VPNサーバとして使っています。
名刺サイズの小さなコンピュータなのにVPNサーバとして使えることや、大学のネットワークのファイアウォールを容易く回避できるなどとても便利です。
しかし、VPN経由でVPNサーバ自身に接続することができません。
このことはSoftether VPNのマニュアルにも記載されています。

Linux オペレーティングシステム内部での制限事項により、VPN 側 (仮想 HUB 側) からローカルブリッジしている LAN カードに割り当てられる IP アドレスに対して通信を行うことはできません。この制限は SoftEther VPN が原因ではなく、Linux の内部構造に原因があります。もし VPN 側 (仮想 HUB 側) から Linux でローカルブリッジに使用しているコンピュータ本体と、何らかの通信を行いたい場合 (たとえば VPN Server / VPN Bridge サービスと HTTP サーバーサービスを両方動作させており、VPN 側からもサーバーサービスにアクセスさせたい場合) は、ローカルブリッジ用の LAN カードを用意して接続し、その LAN カードと既存の LAN カードの両方を物理的に同じセグメントに接続してください (この他の場合においても 「3.6 ローカルブリッジ」 で解説したように、ローカルブリッジに使用する LAN カードはそのための単独のものを用意することが推奨されています)。

LANカードを複数用意することで回避できるみたいですが、Raspberry Piにそんな拡張性があるわけないので、仮想ブリッジを使った方法で解決していくことにします。

まず、bridge-utilsというパッケージをインストールします。

次に、/etc/network/interfacesを編集します。
あくまで例なので、ネットワーク環境に応じて設定を変えてください。

サービスを再起動し、仮想ブリッジ(br0)があるかどうか確認してください。

SoftEther VPN サーバー管理マネージャでサーバに管理者としてログインします。
「ローカルブリッジ設定」を開き、既存のブリッジを削除。
「仮想HUB」を選択→「新しいtapデバイスとのブリッジ接続」を選択→「LANカード」を「br0」に→「新しいtapデバイス名」を入力→「ローカルブリッジを追加」をクリック。
ここで管理マネージャでの作業は終了です。
pi - SoftEther VPN サーバー管理マネージャ_035ローカルブリッジ設定_036

tapデバイスが作られるので、できたことを確認してから仮想ブリッジに追加します。

動作確認はVPN接続して、pingでも飛ばしといてください。