ルータ越えのWOL(Wake On LAN)

 このように構築したOPENVPNは、セキュリティ上万全ではありますが、使う予定もないのにパソコンの電源をつけっぱなしにするのももったいない話です。(月1000-1500円くらいの電気代がかかるようです。)まず、院内LANからはすべてのパソコンの電源投入が出来るよう、このプレゼンテーションを参考に設定してください。こうすれば、サーバー以外の電源は切っておくことが出来ます。

 さて、ルータを越えて外部からWOLを使用することは可能でしょうか?いろいろと調べてみたのですが、

 個々では、MES 2.3を利用したWOL リピータのプログラムを紹介します。実質は、ほんの数行のプログラムです。H8/3069用のMES 2.3は、三岩氏のホームページから削除されています。直接リンクではまだ大丈夫のようです(2009.5.5)ので紹介しておきます。

以下、作成記事を書いていますが、WOL リピータを作ろうの方が簡単です。こちらのページを参考にして、作ってみてください。(2009.9.20記)

 こちらの記事を参考に、shell.elf, config.sysを作成します。

たとえば、192.168.24.xxのグループ(stone中継用)にWOLリピータをつける場合は、次のようにします。

MES のautoexec.bat

ifconfig ne0 192.168.24.90 255.255.255.0
wr.elf &

wr.c

include <mes2.h>

int main() {
int sk, size, port,ip,err,i,j,s;
char data[256];
struct sockaddr myaddr, recv , target;

port = 2305; //WOLのポート番号の指定
sk = udp_socket();
if(sk == -1) {
printf("open failed.\r");
return 0;

target.sin_port = port;
target.sin_addr = IPADDR(192,168,24,255) ;
myaddr.sin_port = port;
myaddr.sin_addr = 0;
udp_bind(sk, &myaddr);
for(;;){
size=-1;
while( size == -1){
size =recvfrom(sk, data, 256, &recv) ;
}

s=sendto(sk, data, size, &target);

}

udp_free(sk);
}

Wolパケットは、通常102bytesのはずですが、ソフトによっては126bytesのものもみられましたので、念のため256bytesまで受信できるようにしています。このwr.cをコンパイルしてできるwr.elfをセーブし

をH8/3069に焼いてできあがりです。WOLパケットを送出するソフトには、余りよいソフトが見つかりません。、これが比較的便利(英語かつやや面倒ではありますが)たとえば、下記のように設定します。

さらに以前説明したように、CTUでUDP 2305 を 192.168.24.90(H8/3069のアドレス)に通しておく必要があります。このようにしていれば、外部からの違法アクセスは、

ことでようやく可能となります。OPENVPNサーバーが必要時以外は、シャットダウンされていますので、さらにセキュリティ的に強固といえるでしょう。

さらに院内LANにも同様にこのWOLリピータをつけることにより、完璧といえるのではないでしょうか。なお、一度、OPENVPNの接続が完了した場合には、通常のWOL ソフトを使用すると複数台を同時に起動できますので簡単です。

 OPENVPNサーバーなど、遠隔操作のパソコンが暴走した場合には、どうしようもありません。

 ただし、診察用パソコンが遠隔地で暴走してしまうと、どうしようもないかもしれません。このときも、予備診療用パソコンがあれば、どうにかなることと思います。
 なお、くれぐれもデータサーバーとOPENVPNサーバーは同じ機械を使用しないようにしましょう。トラブルが起きたときに、切り分けができず、大変なこととなる可能性が高いです。