目次
はじめに
自宅サーバーを立ち上げてから本番機は24時間稼働しており,開発・テスト機もほぼ24時間稼働させている。このところの電気代の値上がりに伴い,サーバーの消費電力が気になりだした。せめてテスト機は使用しないときは停止させたい。
外部から必要な時に起動して,作業が終了したら停止させる仕組みを構築した。
アクセス概念図
外部からホスト起動時はVirtual Private Network(VPN)のトンネル内を通ってルーターにアクセスして,カスタムGUIのWOL機能を利用してマジックバケットを起動したいホストに送出する。又は,通常のWEBアクセスにて稼働中ホストの非公開ページに設置のWOL機能を利用して,マジックバケットを起動したいホストに送出する。
LAN内のホストにはVPNを利用してアクセスする。
ツール
1.外部からのアクセスツールはリモートアクセスVPNを利用する。
ルーターのVPN設定とクライアント(タブレット・スマホ)のVPN設定が必要だ。
VPNの接続方式にはいくつかあるが,今回はL2TP/IPsecトンネル機能を利用する。
2.サーバー起動のツールはWake On LAN(WOL)によるmagic packetで起動させる。
(サーバーのLANポートは対応済,BIOSで有効とする)
稼働中のルーター又はサーバーにWOLの機能を設定する。
(外部からルーター越えで実施する方法もあるがポート開放等セキュリティ面に不安がある)
3.停止は,リーモートデスクトップで行う。
クライアントにリモートデスクトップのアプリをインストールして,VPN経由でサーバー作業後に通常停止する。
VPN設定
ルーター側VPN設定
ヤマハのホームページにVPNの設定方法が記載されており,難なく設定できた。
今回のVPN機能で追加したconfig内容
#LAN1のインタフェースの設定(LAN)
#
ip lan1 proxyarp on
#PP1のインタフェースの設定(LAN2)
#
ip pp secure filter in 1090 1091 1092 1093
#L2TP接続の設定
#
pp select anonymous
pp bind tunnel1-tunnel2
pp auth request chap-pap
pp auth username USER1 PASS1
pp auth username USER2 PASS2
ppp ipcp ipaddress on
ppp ipcp msext on
ip pp remote address pool 192.168.***.***-192.168.***.***
ip pp mtu 1258
pp enable anonymous
#L2TP接続のトンネル1設定
#
tunnel select 1
tunnel encapsulation l2tp
ipsec tunnel 101
ipsec sa policy 101 1 esp aes-cbc sha-hmac
ipsec ike keepalive use 1 off
ipsec ike local address 1 192.168.***.***
ipsec ike nat-traversal 1 on
ipsec ike pre-shared-key 1 text SHARED-KEY
ipsec ike remote address 1 any
l2tp tunnel disconnect time off
l2tp keepalive use on 10 3
l2tp keepalive log on
l2tp syslog on
ip tunnel tcp mss limit auto
tunnel enable 1
#L2TP接続のトンネル2設定
#
tunnel select 2
tunnel encapsulation l2tp
ipsec tunnel 102
ipsec sa policy 102 2 esp aes-cbc sha-hmac
ipsec ike keepalive use 2 off
ipsec ike local address 2 192.168.***.***
ipsec ike nat-traversal 2 on
ipsec ike pre-shared-key 2 text SHARED-KEY
ipsec ike remote address 2 any
l2tp tunnel disconnect time off
l2tp keepalive use on 10 3
l2tp keepalive log on
l2tp syslog on
ip tunnel tcp mss limit auto
tunnel enable 2
#フィルタの設定
#
#静的フィルタの設定
#
ip filter 1090 pass * 192.168.***.*** esp
ip filter 1091 pass * 192.168.***.*** * 500
ip filter 1092 pass * 192.168.***.*** * 4500
ip filter 1093 pass * 192.168.***.*** * 1701
#NATの設定
nat descriptor address outer 1 ipcp
nat descriptor address inner 1 auto
nat descriptor masquerade static 1 20 192.168.***.*** esp
nat descriptor masquerade static 1 21 192.168.***.*** udp 500
nat descriptor masquerade static 1 22 192.168.***.*** udp 4500
#IPsecのトランスポートモード設定
#
ipsec auto refresh on
ipsec transport 1 101 udp 1701
ipsec transport 2 102 udp 1701
#L2TPの設定
#
l2tp service on
VPN追加設定(ルーター越え)
上記ヤマハHPのVPN設定例では,通常のインターネット接続環境に追加設定した場合は,ルーター越えは出来ない。
通常の拠点間VPNの場合は主にプライベート回線のみであるためPP1のフイルターのみ指定してLAN1・LAN3のフイルター指定は無いのでLAN内にパケットが送られる。今回は一般のインターネット回線との併用の為,上記設定ではLAN1・LAN3のフイルターで弾かれてVPNパケットはルーター内に留まる。ただしルーターのIPアドレス指定で管理画面には入れるので,ルーターのメンテやカスタムGUIによるWOL機能へのアクセスには問題ない。
LANに接続するホストへのアクセスを行うには,VPNの設定はLAN1にマッピングしており,クライアントにもLAN1のIPアドレスを付与しているので,LAN1側にVPNパケットを通す設定を追加で行う必要がある。
config設定内でL2TP接続セクションの「ip pp remote address pool 192.168.***.***-192.168.***.***」で指定したIPアドレスからのパケットをPASSさせる。リモートデスクトップのパケットのみ通過させる場合はポート:3389を指定する。このフィルターを指定しても,VPNを使用しない一般のアクセスではPP1のINフィルターでrejectしているので,VPN経由からのパケットのみ対象となる。
ip lan1 secure filter out 1094 2000
#VPNパケット ALL PASS
ip filter 1094 pass 192.168.***.***-192.168.***.*** * * * *
## 又は
#VPNパケット リモートデスクトップ ポート3389
ip filter 1094 pass 192.168.***.***-192.168.***.*** * TCP * 3389
#上記以外は遮断
ip filter 2000 reject * * * * *
#3又は#6のいずれかを指定
クライアント側VPN設定
スマホのVPNは機能があらかじめ入っているので,設定のみでOK
ヤマハのHPに設定方法が記載されていたので,参考にした。
リモートデスクトップアプリインストール
スマホにリモートデスクトップアブリをインストールした。
マイクロソフトの「Remote Desktop」を入れてみたが,使いづらい。緊急時に使用する想定では良いのかも。Chrome リモート デスクトップもあるのでしばらく使ってみたい。