知り合いの会社では、遠隔地という名の役員宅にデータバックアップサーバーを設置している。昨今の電気代高騰と猛暑による廃熱問題のため、バックアップ開始時に自動的にサーバーの電源が入り、終わったら自動で電源が切れるようにできないか、という相談を受けた。
サーバーにはBMC/IPMIが載ってるので、リモートで電源ON/OFFをするのは造作もない。問題は現状BMC NICが物理的に繋がっておらず、また仮に繋いだとしてもルータ越しでアクセスできないってこと。ポートフォワードなりしてやれば技術的にはアクセス可能だけど、さすがにBMCをインターネッツに解き放つのはどうかと思うわけ。
バックアップサーバー自体はOS上のSoftEther VPN Client経由で社内に繋がっている。であるならば、BMC側もSoftEtherで社内に繋がってくれれば都合がよい。かと言って、BMCで動くSoftEtherなんてものは当然存在しないので、NanoPi R2SでSoftEther VPN Bridgeを動かし、BMCを社内LANにVPN接続してしまおうというわけで記事タイトルに繋がる。
ネットワークの構成図は以下のような感じ。
NanoPi R2SのWAN側を宅内LANセグメント、LAN側をSoftEther VPN BridgeのL2ブリッジによる社内LANセグメントとし、宅内サーバのBMCネットワークを社内LANに中継してやる。
こんなこともあろうかと、サーバ設置の時点でBMCには社内セグメントのIPアドレスを振った状態だったりする。もしDHCP使うにしても、社内側のDHCPサーバから降ってくるので、FriendlyWrtの余計なサービスは止め、NanoPi R2SはVPNブリッジ箱に徹してもらう。
NanoPiの各モデルのページからダウンロードページをたどり、FriendlyWrtのSDカードイメージをダウンロードする。
何種類かあるようだけど、最新版で軽量そうなFriendlyWrt 23.05を選んだ。
gzを展開したimgファイルをDD for WindowsなりでmicroSDカード(8GB以上)に書き込んで、NanoPiにmicroSDカードを挿入、USB-C経由で電源を供給すればFriendlyWrtが起動する。
初回は初期設定で少し時間がかかるが、完了すればNanoPiのLAN側のEthernetポートから192.168.2.1で管理Webページにアクセスできるようになる。また、この時点でWAN側のDHCPクライアント、LAN側のDHCPサーバ、WAN-LAN間のNAPTが動いている。つまり、PC ←→ [LAN] NanoPi [WAN] ←→ ルータ と接続し、PCのIPアドレスをDHCP取得にしておけば、何も考えずにPCからFriendlyWrtの設定とインターネットアクセスができる状態となる。名前のとおり大変フレンドリーでありますね。
NanoPiのWAN側ポートを宅内LANセグメント、LAN側ポートをSoftEther VPN Bridgeによる社内LANセグメントとする。
つまり、ここからはWANポート側からFriendlyWrtの管理Webページにアクセスする必要がある。デフォルトではファイヤウォールで遮断されているため、ファイヤウォール自体を止めてしまう。生かしたままポリシーを変える方法もあるが、なるべくシンプルに行きたいので止めてしまう。
FriendlyWrtの管理画面のシステムメニュー→スタートアップページと遷移し、firewall
の停止ボタンを押し、「有効」ボタンを押して「無効」にする。下図は既に無効状態である。
WAN側ポートに振られたIPアドレスで管理画面にアクセスできることを確認する。
LAN側ポートは社内LAN側で管理を掌握したいので、DNSサーバ、DHCPサーバを停止する。
上記ファイヤウォール同様、スタートアップページでdnsmasq
, odhcpd
を停止、無効にする。
FriendlyWrtのデフォルト状態では、LAN側(eth1)はブリッジbr-lan
が割り当てられている。今回はシンプルにSoftEtherの仮想NICとeth1をL2ブリッジしたいので、br-lan
は消す。
FriendlyWrtの管理画面のネットワークメニュー→インタフェース→インタフェースタブでbr-lan
を削除する。同じくデバイスタブの方でも設定解除する(こっちに残っててもダメっぽい)。
その後、インタフェースタブの「インタフェースを新規作成」からeth1
を追加する。
項目 | 値 |
---|---|
名前 | lan (何でも良い) |
プロトコル | アンマネージド |
デバイス | eth1 |
最終的にインタフェース画面は以下のようになっていればよい。
FriendlyWrtの管理画面のシステムメニュー→ソフトウェアページから、SoftEther VPN Bridgeをインストールする。
接続先のSoftEther VPN Serverが4系統なのに合わせ、NanoPi側は2024-07-21現在最新のsoftethervpn-bridge 4.38-9760-2
を選択した。
無事インストールが終われば、https://WAN側IPアドレス:5555
でSoftEtherのWeb管理ページが表示される。
SoftEther VPN Bridgeの設定方法は割愛するが、要旨は以下のとおり。
BRIDGE
からカスケード接続で、社内LANの仮想HUBに接続する
NanoPi R2SのWAN側ポートを宅内LANのルータ、LAN側ポートを適当なPCに接続し、PCのNICはDHCPでIPアドレスを取得するように設定する。
正しく設定されていれば、NanoPiの電源を抜き差し後、ほどなくしてPCのNICに社内LANのIPアドレスが降ってきて、社内にアクセスできるようになる。
気になる速度はNTttcpの計測で30Mbpsほど。この時のNanoPi R2Sのロードアベレージは1に達しない程度だったので、もうちょい速くなってもよさそうな…?BMC/IPMI用途には十分ですけどね。