LoRaWANのゲートウェイに DRAGINO の DLOS8 を使ってるんですが、長期間運用しているとフォワーダが何らかの原因で落ちるみたいで、そうするとSIMでインターネットには繋がってるけどLoRaWANの送受信ができないという状態になってしまいます。
そうすると再起動をかける必要があるんですが、それをやるには本体の近くまで行ってWiFiで接続して再起動という操作をする必要があってとても不便です。(※最新のファーム(lgw--build-v5.4.1723688701-20240815-1029)でフォワーダが落ちる不具合は治ってるんじゃないかという話もありますが、まだそのファームで長期運用した実績がないので現時点では不明です)
何とかならんかと思っていたところ、DLOS8の設定画面にOpenVPNの設定が追加されていることに気づきました。これはひょっとしてVPNで外部から接続できるようになるのか?でもどうやるんだ?と探したところオンラインのマニュアルには記載ありました。
ということで OpenVPN のサーバを作ることにします。いろいろ調べてると、Amazon Lightsail というVPSサービスを使うと非常に安くサーバを作れそうです。これ使うと最小構成だとたった月額5ドルで利用できます。OpenVPN のサーバとして使うだけなら最小構成でも十分です。
早速 Amazon Linux2 の OS でインスタンスを作成し、静的IPアドレスの設定と OpenVPN 利用のため UDP 1194番をファイアウォールのルールに追加します。
その後はこちらの記事を参考に構築していきます。(ありがたや~)
https://qiita.com/kapioz/items/5b75c3470a4e57d916ba
DLOS8 の方に認証ファイルを設定しないといけないんですが、これが CA trust/Client Cert/Client Key/Ta Key の4つもあります。それぞれどれを使うのかは次の通りです。
CA trust - 「サーバ証明書と秘密鍵の作成」で作成したサーバ証明書(ファイル名は ca.crt にします)
Client Cert - 「クライアント証明書と秘密鍵の作成」で作成したクライアント証明書(ファイル名は ***.crt にします)
Client Key - 「クライアント証明書と秘密鍵の作成」で作成した秘密鍵(ファイル名は ***.key にします)
Ta Key - 「TLS証明鍵の作成」で作成した証明鍵(ファイル名は ta.key にします)
※クライアント証明書はパスワードかけるとDLOS8が読み込んでくれないので、作成時にサーバと同じく nopass のオプションを付けて、パスワード無しで作成します。
続けて OpenVPN Client の設定です。これはマニュアル通りに記載すればOKでした。
サーバにコンソールで接続して、DLOS8に SSH で繋いでみます。
するとキタ~!これでリモート管理ばっちりです。