2014年01月19日

遠隔監視装置を設置する(その16)

SoftEther VPN4.0で、証明書認証方式が使えないが調べたが、この機能は、SoftEther VPNの商用版であるPacketiX VPN4.0には実装されているが、SoftEther VPN4.0には実装されていないとのこと。Windowsの管理ツールからも設定できないし、vpncmdからも設定できない。ただ、あまり意味はないが仮想HUBの管理画面から証明書は発行できる。この証明書を接続したいクライアントやブリッジに渡し設定すればいいらしいが、確認することができない。
PacktiXは60日間はフリーで使えるので、時間があったら導入して試験してみたいものだ。AndroidからのL2TP/IPsec接続は、うまくいくが、WIndowsXPからのL2TP/IPsec接続はうまく行かない。釈然としない。Windows7以降のMS-SSTP接続も、証明書が利用できないと接続できない。

SoftEther VPN4.0は、PacketiX VPN4.0を完全にフリー化したものではない。一部機能は、フリー化されていないとのこと。同じものをフリー化したのでは、会社は成り立たない。考えてみれば当たり前のこと。もちろん。PacketiX VPN4.0を購入すればいいということだろう。

これで、遠隔監視装置関係の記事はひとまず終了する。

ここに記載した内容は、かなり規模の大きな発電所の遠隔監視でも基本的な考え方では利用できる。ただ、ロガーWDR-7は、計測点数が少な過ぎる。WDR-7を複数台設置することもできるが、ロギングデータファイルが台数分だけ生成してデータ整理が大変になる。エムシステム技研のDL8-Bや日置電機のLR8400あたりが、中規模(50〜500kW)くらいの発電所には向いているようだ。コストは同程度。どのようなデータを取得するのかでコストは大きく変わるが、今回紹介した遠隔計測と同程度の場合、計器類購入費が0.5〜0.6万円/kWといったところ。実際に稼働させるには、配線工事とその設定作業が、それなりに大変。データ収集配線を1箇所に集約できれば、ロガーI/Oの無駄がなくなるので、ぐっと安くなる。


posted by bmasterna at 22:57| Comment(0) | 遠隔監視装置

2014年01月18日

遠隔監視装置を設置する(その15)

VPNサーバーの管理は、Windowsパソコンから、管理ツールを使用すると簡単に設定できる。この中のユーザー管理でVPNに接続できるユーザーを作成するのだが、最も簡単なのは、IDとパスワードを指定する方法だ。SoftEtherVPNserverでは、商用のPacketiX serverでは可能な証明書方式の接続設定はできないようになっている。少なくともWindowsの管理ツールではできないようになっている。ひょっとしたら、vpncmdのコマンドベースでは可能なのかもしれないが、試験する時間がない状態が続いている。
このIDとパスワードで、Windows版のVPN Clientから接続する方法は、説明する必要がないほど簡単なので、ここでは紹介しない。
bridgeをsshで管理しようとするなら、LinuxパソコンからVPNへclient接続する必要がある。コマンドを打ち込んでも接続できるが、スクリプトを作っておくと便利。
Linuxパソコンから、ブラウザを開いて、SoftEtherVPNのページのダウンロードでclient--linux-ARM EABI 32bitで最新版4.04のURLをコピーしておく。
端末を開いて、
cd /usr/local/src
ls
でこのディレクトリが空であることを確認
sudo wget (右クリック貼り付け)
でダウンロード
sudo tar zxvf *
で解凍
cd vpnclient
sudo make
sudo chmod 600 *
sudo chmod 700 vpn*
で権限を指定して
cd ..
sudo mv vpnclient /usr/local
これで、定位置に設置できた。
cd /usr/local/vpnclient
sudo ./vpnclient start
でクライアントを起動
sudo ./vpncmd
でクライアントの管理で改行2回で、vpncmdコマンドモードになる。
vpncmd>about
でバージョンを確認して、
vpncmd>check
で、正常稼働を確認
vpncmd>niccreate
で仮想LANカードを作成して、
vpncmd>accountcreate
で接続アカウントを作成する。(ID、サーバ名、仮想HUB名、NIC名など尋ねてくる)
vpncmd>accountpasswordset
で、パスワード接続方式であることを宣言し、そのパスワードを入力する。
vpncmd>accountconnect
で、実際に接続する。接続できたなら、
vpncmd>exit
でコマンドモードを脱し、
ifconfig
でIPアドレスの付与状況を確認すると、指定した仮想LANカードには、IPアドレスが付与されていない。
sudo ifconfig (仮想LANカード名) (付与するIPアドレス)
で、IPアドレスが付与される。なお、仮想LANカード名は、niccreateで名づけた名前に"vpn_"を前置した名前となっているので注意。
再び
ifconfig
でIPアドレスの付与状況を確認
切断は、
sudo /usr/local/vpnclient/vpnclient stop
で、OK
毎回このような方法をするのは現実的でないので、スクリプトを作っておく。
接続先が複数あるときには、スクリプトの名前を変えておけばよい。

--------------
#!/bin/bash
# chkconfig: 2345 99 01
# description: Softether VPN Client 4.0

DAEMON=/usr/local/vpnclient/vpnclient
DCMD=/usr/local/vpnclient/vpncmd
LOCK=/var/lock
#------ここから-----接続アカウントの内容を記載する
#仮想NICの名前
INTERFACE=vpn_wwwwwww
#付与するIPアドレス
IPADDRESS=192.168.xxx.yyy
#サブネットマスク
NETMASK=255.255.255.0
#ブロードキャスト
BROADCAST=192.168.xxx.255
#接続名
CONNNAME=zzzzzzzzz
#-----ここまで-----


. /lib/lsb/init-functions

test -x $DAEMON || exit 0
case "$1" in

start)
log_daemon_msg "Starting SoftEther VPN 4.0 Client" "vpnclient"
$DAEMON start >/dev/null 2>&1
touch $LOCK
log_end_msg 0
sleep 1

;;

stop)
log_daemon_msg "Stopping SoftEther VPN 4.0 Client" "vpnclient"
$DAEMON stop >/dev/null 2>&1
rm $LOCK
log_end_msg 0
sleep 1
exit 0

;;

restart)
$DAEMON stop
sleep 1
$DAEMON start
sleep 1

;;

status)
if [ -e $LOCK ]
then
echo "vpnclient is running. It has been connected by" $CONNNAME
else
echo "vpnclient is not running."
fi
exit 0
;;

*)
echo "Usage: $0 {start|stop|restart|status}"
exit 1
esac

sleep 1
$DCMD /client localhost /cmd accountconnect $CONNNAME
ifconfig $INTERFACE $IPADDRESS netmask $NETMASK broadcast $BROADCAST
exit 0

-------------------
手動で接続する方法をそのまま書いた感じ。
このスクリプトは、ホームディレクトリで作成して、名前は何でもいいが、
例えばvpnclientという名前で保存した場合には、
スクリプトの存在するディレクトリより
sudo cp vpnclient /etc/init.d/
sudo chmod 700 /etc/init.d/vpnclinet
このスクリプトをLinux起動と同時に実行する必要があるなら、
sudo chkconfig vpnclient on
chkconfig --list
で確認。
おそらく、このスクリプトをLinux起動と同時に実行する必要はないと思うので、
sudo /etc/init.d/vpnclinet start
で接続し、
sudo /etc/init.d/vpnclinet stop
で接続解除。

------------------------------
次にAndroidからの接続。
スマホからも接続できると、現場のリアルタイム状況の確認が便利にできる。
VPNserver側の設定で、IPsec/L2TPでの接続を許可しておく。
Windowsの管理ツールを使用すると便利。
このとき事前共有キーを設定しておく。
Androidからは、設定 無線とネットワーク VPN設定 VPNの追加
で、L2TP/IPsec PSK VPNの追加を選択して、VPN名は適当に名付けて、VPN
サーバを設定にサーバーのDDNS名を入れて、IPsec事前共有キーを入力し、「保存」
VPN名が表示するようになるので、これをタップする。
すると、認証情報ストレージのパスワードを尋ねてくる。
私は、これがわからなくて困った。こういう時には、証明書を作成してスマホに導入すればよい。

http://www.globalsign.com/support/root-certificate/root-globalsign.php
で表示される GlobalSignRootCA Certificate
------BEGIN CERTIFICATE-----
から
-----END CERTIFICATE-----
を画面上コピーして, GlobalSignRootCA.crtという名前のファイル名でメモ帳などのアプリケーションを用いてセーブする.
これを、スマホの /SDCARDのトップに貼り付ける

その後、
「設定」「現在地情報とセキュリティー」「SDカードからのインストール」で指定したファイル名GlobalSignRootCA.crt
を指定し、パスワードを入力すると登録できる。このパスワードを失念すると接続できなくなる(注意)。

ほかにも方法はあるだろう。


-----------
認証情報ストレージのパスワードが入力できたなら、
ID@(仮想HUB名)
パスワード
で接続できる。

証明書接続方式やMS-SSTP方式での接続なども挑戦したいと思っているが、・・・・・・
posted by bmasterna at 00:22| Comment(0) | 遠隔監視装置

2014年01月09日

遠隔監視装置を設置する(その14)

VPNのクライアントの話の前に、
SoftEther VPNが4.03に正月明けにバージョンアップした。
Windowsのserver bridge clientは、新しいバージョンのインストーラを走らせれば、それだけでバージョンアップできるが、RaspberryPiでは手動での更新となる。

方法は簡単
ubuntuのブラウザで最新版のserverのARM EABI32bit版のプログラムのURLをコピーしておいて、
sshで。RaspberryPiのVPN serverにログイン
cd /usr/local/src
wget (右クリック貼り付け)
でダウンロード
cd vpnserver
make
英語でメッセージがでるので、1を3回入力
これで、実行ファイルが完成
sudo /usr/local/vpnserver/vpnserver stop
でサーバを停止して、
sudo cp ./vpnserver /usr/local/vpnserver
sudo cp ./vpncmd /usr/local/vpnserver
で実行ファイルをコピー
sudo /usr/local/vpnserver/vpnserver start
でサーバを起動する。
確認は、
sudo /usr/local/vpnserver/vpncmd
でvpncmdを起動して、
1でサーバまたはブリッジの管理
そのまま改行して、
vpncmd>
のプロンプトから
about
で、バージョンが表示されるので4.03になっていることを確認する。
exit
でvpncmdを抜けて
sudo rm -rf /usr/local/src/
で不要なファイルを削除しておく。


ブリッジの場合、
同じことやっても構わないが、何せDTI serverman SIM LTEの速度が遅いので、wgetに時間がかかる。ubuntuのノートパソコンに予めダウンロードしておいて、現場へ持ち込んで、
ダウンロードしたディレクトリから
sudo scp (ダウンロードしたbridgeのファイル名) pi@192.168.xxx.xxx:/usr/local/src
でコピーするのが便利(192.168.xxx.xxxは、ブリッジ用のRaspberryPiのIPアドレス)
あとの手順はsrverと同じ。(vpnserverをvpnbridgeと読み替える)

発電所の計測器やロガー、VPN Bridgeの写真を公開する。

発電所計測機器.jpg

写真上側両サイドがパワーコンディショナ

中央上から
ロガー WDR-7
同上用端子台
パワーコンディショナの制御用スイッチ
AC100Vコンセント
ルータ MRT-10
USB通信端末 L-03C
AC100Vコンセント
USB通断器(自作)

左側
気温測定用の測温抵抗体Pt100Ωの4-20mA計装信号変換用の温度調節計JUT-70

右側上から
VPN bridge RaspberryPi type B
HUB (5ポート)





posted by bmasterna at 00:08| Comment(1) | 遠隔監視装置