2020.06.18 · 技術と道具

SoftEtherを使ってDS-Lite環境の会社サーバに接続する

昨日の投稿で、DS-Lite環境だと、IPv4アドレスが他のユーザと共有になり、一部のポートのみしか占有にならないという話をしました。

https://inoccu.com/blog/2020/06/17/125558.html

そういう環境だと、グローバルIPアドレスで外部から接続できません。もちろん、すべてIPv6でまかなうなら、DS-Lite環境でもグローバルIPアドレスが振られるので問題ないのですが、なかなか、そうもいきません。

そこで、安価なVPSやクラウドサービスの仮想マシン上にVPNサーバーを構築し、そこを中心とした環境を作れば、外部からDS-Lite環境内のサーバ等にアクセスすることが可能になります。こうした環境をSoftEtherで構築しました。

例えば、このような構成です。私は現在、Azure仮想マシンを使っているのですが、これはAWSでも、さくらやConohaのVPSでも構いません。

自宅や出先のPCからは、Azure仮想マシン上に構築したSoftEtherの仮想HUBに接続し、その仮想HUBはあらかじめ会社サーバ上の仮想HUBとカスケード接続されているため、それを経由して、会社ネットワーク(192.168.1.0/24)上の会社PC等に接続できるというわけです。

いちおう、ここでは「会社ネットワーク」、「会社PC」という言い方をしていますが、これは用語を統一して説明を簡単にするためで、自宅ネットワークや自宅PCにカフェのWiFiからつなぐとかいう話でも同じことです。

ちなみに、この構成はSoftEtherを使ったVPN環境構築の一手法に過ぎないことに注意してください。SoftEtherは様々な機能を持っており、正解は一つではありません。私は、これから説明する方法で2週間以上、安定した運用ができていますが、他にもっと良い方法もあるかもしれません。(実は、SoftEther独自のダイナミックDNSサービスや、VPN Azureクラウドを使えば、わざわざ自分でクラウド側を構築しなくても良いかもしれない・・・。)

構築の手順

1. クラウド側のSoftEther Serverの構築

まず、クラウド(ここではAzure)上に仮想マシンを構築します。今回は、Ubuntu 18.04 LTSを使用しています。仮想マシンそのものの構築については、特に説明しません。

そこに、SoftEther Serverを導入し、常時起動した状態にします。その方法は後で説明します。

2. 会社側のSoftEther Serverの構築

次に、会社ネットワーク内の適当なサーバ(例えばRaspberry Piとかでも可。私の環境ではたまたまJetson Nanoだったりします。)にSoftEther Serverを導入します。こちらの環境も今回はUbuntu 18.04 LTSです。

3. SoftEther VPN サーバー管理マネージャで設定

SoftEtherの面白いところで、VPNサーバーの管理は、適当なPC(Windowsが望ましい)にサーバー管理マネージャというGUIのアプリを入れて、そこから設定します。

先ほど説明したように、クラウド側と会社側の双方にSoftEther仮想HUBを設定し、それをカスケード接続しています。また、仮想HUBをクラウド側、会社側にそれぞれ既存のネットワークとブリッジ接続することも必要です。

ここまでの設定は、こちらの記事を参照ください。

https://inoccu.com/blog/2020/06/22/125543.html

4. ルーティングやNATの設定

ここまででSoftEtherに設定した内容では、レイヤー2(L2)までの話なので、「ハードウェアのスイッチングハブを2つと、ハードウェアのLANボードを2つ買ってきて、それぞれを物理的に接続した」ということを仮想的に実現したに過ぎません。

今回やりたいことを実現するためには、レイヤー3のIPアドレスを使用したルーティングの設定を行う必要があります。それは、クラウド側と会社側のサーバのそれぞれでOS(Ubuntu)上の設定を行うということになります。

5. PCやスマートフォンからVPNに接続

ここまで設定したら、あとはクライアントからVPNに接続できます。SoftEtherはSoftEther独自のプロトコル以外にも、L2TP/IPSecやOpenVPNなどのプロトコルで接続することもできます。特に、L2TP/IPSecはOS標準で対応していることが多いため、オススメの接続方法です。

ざっと、このような手順で構築していくのですが、なかなか作業が多く、一つの記事ですべて書くのは難しそうです。そこで、順を追って記事を分けたいと思います。

OpenVPNを使用する場合

今回はSoftEtherを使用した方法を説明しますが、OpenVPNを使用する方法については、既に別の記事で説明しています。

https://inoccu.com/blog/2018/11/20/103751.html

https://inoccu.com/blog/2018/11/19/190949.html

2020/06/18 15:15
← テレワークで会社ネットワーク上のリソースを使う3つの方法
Windows 10 May 2020 (2004) Upd… →
井上 研一
経済産業省推進資格ITコーディネータとして中小企業のDX・AI活用の現場で伴走支援を行う。「ITCプロセスガイドライン4.0」および「中小企業向けAI活用ガイド」執筆メンバー。著書・講演多数。ITエンジニアとして25年以上の実務経験。AI導入の実務に10年以上携わる。自ら開発したAIサービス「Gen2Go」が北九州発!新商品創出事業の認定を受ける。2026年4月より北九州市立大学大学院マネジメント研究科の学生としての顔も持つ。

本サイトおよびブログに掲載している内容は、特に明記のない限り、井上研一個人の見解に基づくものです。所属・関与する組織、団体、企業、研究会等の公式見解を示すものではありません。