2013年12月23日

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

起動用のスクリプト

vpnbridgeの起動は、
SSHで接続して、
sudo /usr/local/vpnbrige/vpnbridge start
sudo /sbin/brctl addif br0 (tapデバイス名)
でいいように思えるが、そうもいかない。
これでは、停電やトラブル時に再起動するたびに手動でこのコマンドで起動する必要がある。
そこで、起動用のスクリプトを用意して、chkconfigで自動起動させるように設定する。
tapデバイスを使うので、それを配慮したスクリプトを使用する。
a href="http://www.pc-links.com/blog/softether/tap/">こちらで紹介しているものを、bridge用に若干手を入れたものである。最新のSoftEther VPN Bridgeのバージョンは2.0なので、そちらにも配慮している。


----------------------------
#!/bin/sh
### BEGIN INIT INFO
# Provides: vpnserver
# Required-Start: $local_fs $network
# Required-Stop: $local_fs $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: SoftEther VPN 2.0
# Description: Start vpnbridge daemon SoftEther VPN 2.0 Bridge
### END INIT INFO

DAEMON=/usr/local/vpnbridge/vpnbridge
LOCK=/var/lock/vpnbridge

. /lib/lsb/init-functions

test -x $DAEMON || exit 0

case "$1" in
start)
sleep 3
log_daemon_msg "Starting SoftEther VPN 2.0 Bridge" "vpnbridge"
$DAEMON start >/dev/null 2>&1
touch $LOCK
log_end_msg 0
sleep 3
# SoftEther VPNで追加した仮想tapデバイス名を調べる
tap=`/sbin/ifconfig -a| awk '$1 ~ /^tap/ {print $1}'`
/sbin/brctl addif br0 $tap
;;

stop)
log_daemon_msg "Stopping SoftEther VPN 2.0 Bridge" "vpnbridge"
$DAEMON stop >/dev/null 2>&1
rm $LOCK
log_end_msg 0
sleep 2

;;

restart)
$DAEMON stop
sleep 2

$DAEMON start
sleep 5

# SoftEther VPNで追加した仮想tapデバイス名を調べる
tap=`/sbin/ifconfig -a| awk '$1 ~ /^tap/ {print $1}'`
/sbin/brctl addif br0 $tap
;;

status)
if [ -e $LOCK ]
then
echo "vpnbridge is running."
else
echo "vpnbridge is not running."
fi
;;

*)

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

このファイル名をvpnbridge_tap
という名前で、
/etc/init.d
というデレクトリー内に保存する。
実行属性を付与する.
sudo chmod 700 /etc/init.d/vpnbridge_tap
ここで、一旦終了
sudo halt

ubuntuパソコンにUSB式SDカードリータを挿す。
ここで、DDでSDカードをバックアップする。
df -h
でSDカードがマウントされている状況を確認する。
/dev/sdb1が /media/boot
/dev/sdb2が /media/(長い文字列)
となっているなら、sdbを覚えておいて

sudo bs=1M count=3200 if=/dev/sdb of=(バックアップファイル名)
とする。SDカードの先頭から3.2GBのみバックアップされる。

sdc sde・・・の場合もある。

SDカードにトラブルがあれば、このバックアップから書きこめは
楽に復旧できる。

-------------
tapデバイスの設定

windows用のサーバー管理マネジャーで設定すると簡単
このプログラムは、
http://www.softether-download.com/ja.aspx?product=softether
から、ダウンロードできる。
実際には、Windows用のサーバー、ブリッジプログラムの一部機能になるので、インストーラの途中で、管理マネージャのみの導入を選択して導入する。
名前だけ見ると、サーバを管理するように思えるが、ブリッジも管理できる。
Windowsパソコンにこのプログラムを導入して、設定する。

bridgeの場合、設定項目は少なく簡単である。
まず、カスケード接続の管理で、サーバーのDDNS名と仮想HUB名を指定する。これで、サーバー内の仮想HUBとブリッジ内の仮想HUBがLANケーブルで接続される。
次にローカルブリッジを設定する。ブリッジ内の仮想HUBと、RaspberryPiの実態のLANカードをtapデバイスを介して、ブリッジで接続する。「新しいtapデバイスとのブリッジ接続」を選択して、新しいtapデバイス名を指定する。
これで、tapデバイスと仮想HUBがブリッジされた。

-------------------
再び、Ubuntuから
sshでbridgeへログインして
sudo pico /etc/network/interfaces
でネット環境接続環境を編集する。
現状では。eth0が固定IPアドレスになっているはずだが、
eth0にIPアドレス付与を止めて、br0に付与する。また、
eth0とbr0をブリッジさせる。
なお、br0とtapデバイスのブリッジはSofteher側で完了している。
具体的には、
こちらを参考にされるとよい。
次に、パケットのフォワーディングを有効にして、
スクリプトの自動起動を設定する。
sudo chkconfig vpnbridge_tap on

sudo reboot
で再起動
ifconfig

br0にIPアドレスが付与されていること
tap_(タップ名)
があることを確認
sudo brctl show br0

eth0とtap_(タップ名)が表示されていれば成功

---------------------
表示されていないときは、
sudo /etc/init.d/networking restart
sudo /etc/init.d/vpnbridge restart
でうまくいくはずである。

------------------
再び、
sudo pico /etc/network/interfaces
をbr0のIPアドレスを発電所のLAN(VPNサーバーの仮想NATと仮想DHCP)に合わせて修正する。

sudo halt
で電源を切って、RaspberryPIのBridgeを発電所に取付して、作業完了。
これまで、bridgeを担当していたWindowsノートパソコンは、同時に撤去。

tapデバイスが必要な理由。
bridgeにtapデバイスを設定しない状態では、なぜかサーバーとのカスケード接続が成立しない症状が出た。

WDR-7のログデータとVPN接続でのリアルタイム監視で発電所の遠隔監視はほぼ完璧な状態となった。前々回に記入したUSB通断器の効果も相当に大きい。

自宅に、VPNサーバーを置いているが、自宅のLANとVPNサーバ内の仮想HUBをローカルブリッジ接続していない。これは有限責任事業組合の組合員もこのVPNサーバーに接続するので、当然のことである。
VPNサーバーへの接続には、Softether VPN Clientというソフトウェアを用いる方法のほか、AndroidやIOSからの接続、Windows7以降で使えるMS-SSTPでの接続などに対応している。

次回は、VPNサーバーへの接続方法について、記載したいと考えている。







posted by bmasterna at 23:41| Comment(2) | 遠隔監視装置
この記事へのコメント
表示されていないときは、
sudo /etc/init.d/networking restart
sudo /etc/init.d/vpnbridge restart
でうまくいくはずである

に誤りあり

(正)
表示されていないときは、
sudo /etc/init.d/networking restart
sudo /etc/init.d/vpnbridge_tap restart
でうまくいくはずである
Posted by 管理者 at 2014年01月05日 00:39
ブリッジにtapデバイスがないと、サーバーの仮想HUBとカスケード接続できないと書いたがこれは間違い。
カスケード接続はできるが、サーバー側の物理LANに属するパソコンから、ブリッジにPINGが飛ばない。つまり、サーバー側の物理LANに属するパソコンから、sshでブリッジにログインできない。

この逆もしかりで、サーバーにtapデバイスが設定されていないと、ブリッジ側の物理LANに属するパソコンから、サーバーにSSHでログインできない。
Posted by 管理者 at 2014年01月17日 22:57
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント: