mikolaboのブログ

パソコンからくり研究室

テレワークシステムの構築作業イメージ

AmazonWebServices上に、SoftEtherVPNサーバを稼働させ、各拠点にSoftEtherクライアントまたはSoftEtherブリッジを置いて、さらにWifi接続した拠点LAN内端末をラズパイACCESSPOINT経由で接続することで、テレワークシステム、Webカメラ監視システムを構築する作業の説明です。 以下のような構築イメージです。

f:id:mikolabo:20200927105138p:plain

テレワークシステム構成イメージ

クラウド上の SoftEtherVPNサーバ には仮想Hubがあり、各拠点ごとにネットワークがわけられています。

これによって、セキュリティ境界の設定ができる上に、

個別の仮想Hubへの接続を切り替えるだけで 簡単に拠点間の境界を越えて、端末どおしを接続する

ことができます。

設計のフェーズ

(テレワーク&Webカメラシステム設計書)

■1.テレワーク&Webカメラシステム全体設定
全体の設計に関わってくるものは、以下の3つです。

SoftEtherで取得する-ダイナミックDNSドメイン名:XXX.softether.net
② SoftEtherVPNServer-待ち受けポート番号:992
③ SoftEtherVPNServer管理マネージャー管理パスワード:himitsu…

■2.SoftEtherVPNServerの仮想HUB設定
全体の設計の次は、拠点ごとの設計です。拠点ごとに仮想Hubを置くので、その仮想Hubの定義(Hub前とユーザ名とパスワード)を決めます。

① 仮想Hub、ユーザ、パスワード

VPN-place1(user1:enigma1)
VPN-place2(user2:enigma2)
    :       :       :
VPN-place10(user10:enigma10)

② 仮想ホストのネットワークインターフェイスの設定

SoftEtherサーバ上で動く仮想ホスト(仮想Hubを管理)の設定を決めます。 DDNSドメインはツール(SE-VPN サーバー管理 (ツール) )で割り振ることができます。そのIPアドレスは、SoftEtherが動くEC2インスタンスのIPになります。

DDNSドメイン:xxx.softether.net (IPアドレス:aaa.bbb.ccc.ddd)

各拠点ごとの仮想HubのIPアドレスをセグメントを分けて設定します。 MACアドレスはデフォルト指定されますが、任意に決められます。

IP 10.0.1.1(5E-11-AA-BB-CC-01:MACアドレスは固定で変更できる) 10.0.2.2(5E-12-AA-BB-CC-01) :       :       : 10.0.10.10(5E-1A-AA-BB-CC-01)

サブネットマスクは、1箇所255台ぐらい収容できれば良いでしょう。

SubnetMask 255.255.255.0

③ 仮想NATの設定 ON (SoftEtherClientのみIP配布)

SoftEtherBridgeは、固定IPアドレスを設定しますが、SoftEthetClientはDHCPでアドレスを自動割り付けします。拠点内の他端末に影響しないようにできます。(無線経由で渡り歩けますが、そこは設定でカバー)

④ 仮想DHCPサーバの設定

仮想ホストが払い出すDHCPプールのIPアドレスを範囲分けします。
3オクテット目が拠点のセグメント分けになります。

配布 10.0.1.21-30(place1)
配布 10.0.2.31-40(place2)
     :             :             :
配布 10.0.10.111-120(place10)
SubnetMask 255.255.255.0

DHCPオプションで、デフォルトゲートウエイを指定しますが、こちらは仮想ホストに割り当てたIPアドレスを指定します。(仮想ホストは全構成を知っている) DNSについては、8.8.8.8等でも良いですが、AWSのプライベートDNSに名前解決してもらいます。

OPTION GateWay 10.0.1-10.1-10 仮想ホストIP OPTION DNS 10.0.0.220 AWS PRIVATEDNS

■3.SoftEtherVPNClientの接続設定

1台ずつ設定しても良いが、1台分だけセットアップし、ベースイメージを、「SoftEther VPN クライアントリモート管理」で変更するほうが簡単。

■4.SoftEtherVPNBridgeの接続設定

Windowsパソコンをブリッジにする場合は、SE-VPN サーバー管理 (ツール)で設定する。 ラズパイをブリッジにする場合は、先に1箇所分だけセットアップし、これをベースイメージとして、MicroSDにコピーして、別の拠点用ラズパイブリッジとして、設定をSE-VPN サーバー管理 (ツール)で変更していく。

① SE-VPN サーバー管理 (ツール)を使って、場所毎の仮想HUB設定を定義する

以下の名前で、定義していきます。(任意に場所ごとに決めて良いです)
-----------------------------------------------
(設定場所、ブリッジ設定名:サーバ接続名)
place1: Tun1-Bridge: T1-bg
  :             :                :
place10: Tun10-Bridge: T10-bg
-----------------------------------------------

 

② ラズパイブリッジで、イメージをコピーした別拠点の場合には、ベースのBridge設定を設定場所の設定名にして、そのカスケード設定の仮想Hubをその場所のものに変更する。

③ 設置する場所(place)のIPアドレス体系に合わせる

(設定)vi /etc/dhcpcd.conf


④ wlan0のIPアドレス 、Dnsmasqの払い出しIPは設置する場所(place)のものに合わせる

(設定)vi /etc/dnsmasq.conf

⑤ SoftEtherVPNBridgeを立てるラズパイ上で動かすACCESSPOINTでのWPA2パスワードを wpa_passphraseコマンドで暗号化する

(設定)vi /etc/hostapd/hostapd.conf
(設定)vi /etc/wpa_supplicant/wpa_supplicant.conf


■5.Wifi環境 各拠点のブリッジには、その拠点でのACCESSPOINTも兼ねさせる          SSIDパスフレーズを個別に決めておく

IP=10.0.1.121/24

IP=10.0.2.122/24

  :    :  

IP=10.0.10.130/24

SSID=ACCESSPOINT(1-10)

パスフレーズ:himitsu(1-10)

各拠点でクライアントとして、ブリッジに無線接続する場合にブリッジから割り振るIPアドレスの範囲付けを行う。

place1 :10.0.1.131-140  

place2 :10.0.2.141-150

   :      :  

place10:10.0.10.221-230

■6.TAPインターフェイス

ラズパイブリッジにUSBカメラを接続して、TAPから参照できるようにする 。 ブリッジ自体のポートを介して、通信するためには、LinuxではTAPインターフェイスを使用する。

place1 :10.0.1.11

place2 :10.0.2.12

  :     :

place10:10.0.10.20

■7.AWSのネットワーク構成を変更する場合やある拠点の端末を別の場所に移行する場合

  1.  サーバ設定のため、EC2を再生成する場合には、SoftEther_DDNS を開放しておく。EC2インスタンスを再起動したら再度割り振る。 
  2. アタッチされた Elastic IP を解放する ※ 開放忘れても、ECインスタンス削除しようとすると注意され、その場で開放操作できる 
  3. ネットワーク体系の再構築はAmazonWebServicesのネットワーク設定から実施する 
  4. セキュリティグループの設定はSSHポート番号を変更する
    ※ セキュリティ対策でSSHポート番号は変更している 
  5. SoftEtherClient は「■3.SoftEtherVPNClientの接続設定」を行う 
  6. SoftEtherBridge は「■4.SoftEtherVPNBridgeの接続設定」を行う

 

作業前に設計を確認します

  • まず迷わないように、各拠点の端末について、ラズパイかWinかMacを何台用意して、どのような構成にするか洗い出して、上記のような設計書は作成しておきます。

  • 各拠点毎のプライベートアドレスのアドレス範囲によって、全拠点統一で新しいネットワークアドレスにするのか、セキュアーNATを使うのか、どこかの拠点のIPアドレス体系に合わせるのかを決めてから作成します。

  • これで作業準備完了です。

 

各構築フェーズでのかかる時間について

SoftEtherVPNサーバの構築

AmazonWebServicesを開設して、設定通りに、ネットワーク、EC2インスタンスを起動し、SoftEtherVPNサーバを導入します。
所要時間は3時間です。

ラズパイ媒体(クライアント/ブリッジイメージ)の生成

RasbianBuster(今はRaspberry Pi OSに名称変更されましたが)のダウンロードからSoftEtherVPNクライアント、SoftEtherVPNブリッジのベースイメージを作成します。
所要時間は、OSベースで2時間、クライアント&ブリッジベースで2時間です。

各拠点用の端末セットアップ

ラズパイ端末は、クライアント、ブリッジ、LAN内Wifi端末それぞれについて、ベースイメージからコピーして、設定を変更して仕上げます。

Win端末、Mac端末の場合には、インストールセットアップ媒体をダウンロードして、クライアントソフトなり、ブリッジソフトなり、インストールして、設定を行います。

所要時間は、次項の管理ツールのインストールと、さらに次々項のアプリケーションセットアップを含めて、1か所1時間半ほどでしょうか。

管理者向けのツールを用意。設定もこちらで可能。

システム管理をするために、SoftEther管理マネージャーをWindowsパソコンにインストールします。

サーバの設定内容は、SoftEther管理マネージャー接続→Config編集→ファイルに保存 で、設定内容を保存できます。また、保存したファイルから復元もできます。

                          1.SoftEther管理マネージャーのインストール①

                         1.SoftEther管理マネージャーのインストール②
Windowsパソコンからクラウドに接続するために、SoftEtherClient をインストールします。

                        2.SoftEtherClientのインストール①

                        2.SoftEtherClientのインストール②
ラズパイのIPアドレスを調べるために、SoftEther管理マネージャーを操作します。

                        3.SoftEther管理マネージャーでIPアドレス調査
Chromeブラウザのお気に入りに、カメラシステムの設置場所を登録して、映像をすぐ確認できるようにします。

4.Chromeブラウザのお気に入り設定

5.監視場所をスマホから確認

 
Winでも、Macでも、ラズパイでも、クライアントの管理は、 「SoftEther VPN クライアント リモート管理」から可能です。

  接続する仮想HUBを変えるとか、認証方法を標準パスワード認証から、固有証明書認証に変更するというような管理業務を、Windows端末上のこちらのツールから、全拠点のWin/Mac/ラズパイ端末をメンテナンスできます。

プログに飛びます

 

アプリケーションをセットアップする

  1. リモート接続するために、ラズパイにはRealVNCが標準インストールされているが、Windows側は、UltraVNCなどをセットアップ。
  2. Windowsリモートデスクトップのためには、ラズパイにRemminaをセットアップ。
  3. カメラ監視のためには、Motioneyeをインストール。  


以上で、テレワークシステム、監視カメラシステムのベース環境は出来上がった。 これに、セキュリティを考えるのであれば、固有証明書認証を設定したり、WakeOnLan用のラズパイを用意して、サーバの電源ON/OFFの運用をリモートからできるようにしたり、細かい改良をすればセキュアシステムにグレードアップできる。