外からでも仕事ができるリモート環境を真剣に整えた
ちょっと今回は珍しくちょっとしたガジェット回です。
細々とやってきたことがひと段落したので、メモがてらまとめておこうかと思います。
ことの発端
貸与PCとか、自宅PCが増えてきた!!!!
という単純な理由です。もちろんセキュリティを考えて、各PC内で作業を完遂できるのは大前提ですが、PCのリソースをうまく使ったり、自社資料の共有なども上手くできればいいな~という状況でした。
(現在はWindowsユーザーですが、さすがに新しいmac miniいいなと思ったので10年ぶりくらいにmac買おうかなと思ってたり…)
あとリモート環境を整備するトドメは、自作PCを行った背景もあり、マシンへのリモートアクセスが急務という感じでした。自作の記事は下記です!
プライベートネットワークはOKだが…
Windowsにおけるリモートデスクトップは非常に便利で、特に詰まることなく設定できます。
使ったことなかったですが、Storeにはリモートデスクトップアプリも存在しておりレビューはあまりよくないですが、十分に利用可能です。
複数の接続情報などを管理するには良さそうです。
ただ私の場合だとおそらく感覚的なものですが、少しだけ動きがモッサリしていた気がするので、昔ながらのrdpファイルに情報を記載して個々に接続している状況です。
他OSマシンとしては ubuntu 24.04 のマシンが存在するので、そちらにもリモートデスクトップを試しています。方法は下記の記事などが非常に参考になったので、参考までに
ただし私の用途だと一点問題があり、ubuntuマシンは普段ディスプレイに繋いでいないため、ubuntuの電源ポチからそのままWindowsでリモートデスクトップしようとするとエラーが吐かれちゃう問題がありました。ディスプレイ出力されていないので、表示できないという背景ですね。
解決策としては「仮想ディスプレイ」をubuntu起動時に選択させるという方法により回避できそうでした。が、解像度がある程度固定になってしまい、リモートデスクトップ側の表示がバグる、またはそれを分岐する仕組みをプログラムを組むのに時間がかかりそうだったので、断念しました。
一旦、sshでのターミナル接続とブラウザにおけるバインドは起動後すぐにアクセス可能だったので、リソースを利用するという観点では問題なしです。
ということで、プライベートネットワーク内では全てアクセスが可能になり、あとは外部向けに公開していくぜ!!と張り切っていたのですが…
外部ネットワークに出られない(公開できない)!!!!!!
外部からのPCアクセスを実現する
原因としては下記に記載した通りですね。
シンプルな外部公開を検討するなら、結論としてプロバイダを変えるしかないのかなという感じでした。oh..という感じ。
ということで、外部公開をあきらめてアプリやサービスでの接続を検討し始めて、NordVPN を使うことにしました(宣伝目的や意図はなしです)
選択の意図は2つ
メッシュネットワークを使えば、ごちゃごちゃこちらで頑張る必要なく、セキュアに外部からリモートアクセスが可能そうだった
固定IPも払い出せる(別途有料だけど)ので、仕事の別件でも使える
という感じだったので、課金して環境を整えることに。
もちろんNordVPNがPC上で起動していれば、各端末上でのメッシュネットワークが構成されるので、どのネットワークでも安全にリモートデスクトップが可能になったという状況です。
パチパチ、お疲れさまでした!
(´-`).。oO( ん、待てよ、NordVPNがPC上で起動していれば…)
リモートでPCを起動させる
残念ながら、ソフトの互換性やセキュリティソフトにより、起動時にひと手間挟まないと、ソフトが正常に起動しないことは多々あります。
今回も、NordVPNが他互換により、起動時にひと手間加えないと起動してくれない状況にぶち当たりました。
なるほど…なるほど…
ならPCの起動やwake upもリモートで検討するしかないなと。
Wake On LAN
LANを経由して、対象PCにマジックパケットを送って、PCを起動させるという方法です。一般的な方法のようで、WindowsでもubuntuでもBIOS上での設定やマジックパケットを受けるDefenderの設定を加味してやれば、対応できる端末のほうが多そうな印象でした。
私はWindowsマシン(Notebook)はusb-AのLANコネクタを使っていたのですが、どうやらそのコネクタが非対応ぽかったので残念ながら…という感じでした。
コネクタを変えなかった理由としては、ubuntu側はパケットを受けれる状態だったと思うのですが、直でパケットを送ろうとすると、前段のNURO接続問題により、ポートフォワードなども効かないため、結局ダメだったということからです。つまり、ここでも鉄壁が発揮された形です。
Alexaを使う
Wake on LANで調べてたときに、Alexaでも実施ができる的な記事を見ました。
「Alexa?家の中でも起動する分にはボタンよりも便利かな?」ぐらいの気持ちで見てたのですが、
「外出先からでも特にhubとかなく、アプリで起動できる」を発見し
ならば、これでwake on lanはできるのではないか?と。
そもそも7年前に買ったechoがあることもすっかり忘れていて、もはやなぜ捨ててなかったのかというレベルでしたが試してみることに。
WiFiも5Ghzを拾い、無事起動することができました。肝心のWake on LANは下記のスキルから設定を行いました。こちらもAamazonアカウント内で、起動対象のMacアドレスを調べて登録すればOKなので、非常に手軽です。
早速試してみた。
PC起動した!!
ubuntuマシンはスムーズに起動しました。NordVPNもPC起動時に立ち上がってくるので、電源状態でいうS5(完全シャットダウン状態)でも外部からリモート接続までたどり着くことができました。
Windows側も同じく試してみましたが、起動はできず。
原因は上記のコネクタ周りだと思うのですが、このPCにWOL対応できるLANコネクタを探すのも辛いなということで、Alexaでの対応は諦めました。
あと、Windows側は
この状態だったので、NordVPNは既に一度起動済みのS3状態(スリープ)やS4状態(休止)からの復帰が必要でした。これがWOLでちゃんと起動する分からないということもあって、最終手段を取ることにしました。
ちなみにPCはノートPCなので、バッテリーライフを無視して立ち上げっぱなしでも大した電気代もかからないです。自宅にいる際には、適宜手動スリープやシャットダウンを入れてやれば、さらに気にならないでしょう。
なぜやるのかと聞かれれば、「やってみたいから」ぐらいの答えです。
SwitchBotを使う
まぁ完全に物理ですね。圧倒的な物理。
これで起動ボタンを押してスリープや休止状態から復旧するという、分かりやすい方法です。
設定なども手順通りで、難なく設定することができました。
起動させてみると、カタツムリ的にニョーンと指が出てきて、ボタンをポチしてくれます。以外と可愛らしい。
ボタンも難なくポチしてくれるので、Windowsマシンも無事復旧を見届けることができました。
で、最後に補足です。Botの裏側には強粘着が付いており、それを貼りつけて起動させる形です。ただし借り物のPCなどに傷をつけるわけにもいかないですし、起動ボタンはPCの内側(キーボード)にある場合などもあります。
アルミであれば問題ないかとも思いますが、リモート接続メインのノートPCを自体を案件によっては持ち運ぶこともあります。さすがに毎度粘着をつけたり剝がしたりはできず…
ということで、磁石を貼り付けて運用する形にしています。
ただし、磁石も軟弱な磁力などBotの指力に負けてしまうので、強めの磁石がおすすめです。
こちらを4つ並べてくっつけて運用しています。これにて完全に終了!
まとめ
正直ネットワークに公開ができていれば、ここまで真剣に考えずにサクッとリモートアクセスができていたと思います。ただ、ソフトウェアに限らず、物理で試行錯誤するのも楽しいなとポジティブに捉えることができました。
今日の文脈と全く関係ないですが、弊社募集も拡張してるので、よければご応募お待ちしています!お話しましょう!