Softether VPNと仮想ブリッジの設定
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というパッケージをインストールします。
1 |
sudo apt-get install bridge-utils |
次に、/etc/network/interfaces
を編集します。
あくまで例なので、ネットワーク環境に応じて設定を変えてください。
1 2 3 4 5 6 7 8 9 10 11 |
auto eth0 allow-hotplug eth0 iface eth0 inet manual auto br0 iface br0 inet static address <サーバのIPアドレス> netmask <ネットマスク> gateway <ゲートウェイ> bridge_ports eth0 |
サービスを再起動し、仮想ブリッジ(br0)があるかどうか確認してください。
1 2 |
sudo service networking restart ip addr |
SoftEther VPN サーバー管理マネージャでサーバに管理者としてログインします。
「ローカルブリッジ設定」を開き、既存のブリッジを削除。
「仮想HUB」を選択→「新しいtapデバイスとのブリッジ接続」を選択→「LANカード」を「br0」に→「新しいtapデバイス名」を入力→「ローカルブリッジを追加」をクリック。
ここで管理マネージャでの作業は終了です。
tapデバイスが作られるので、できたことを確認してから仮想ブリッジに追加します。
1 2 |
ip tuntap sudo brctl addif br0 tap_<デバイス名> |
動作確認はVPN接続して、pingでも飛ばしといてください。
この記事を参考にして、VPN側からRaspberry Piに接続することができました!
ありがとうございます。