はじめに
この記事はレジリエントでウェルビーイングなぴょこりんクラスタ Advent Calendarのために書きました。
満足いく引っ越しをした話を3日間くらいした気がするのですが、そういえば1点不満があったのでその話をします。
これまぁあるあるな話だと思うのですが、不動産屋に「インターネット回線の良い物件お願いします」って言うと「選んできました!無料インターネット付の物件です!」みたいな返事が来るんですよね。まぁ無料であること自体は良いのですが・・・。
で、実際入居してみると、まぁ速度面はギリ許容できる、仕事にも支障は出なかったのだけれど、どうしても耐え難い問題が1点生えてきたので、それを何とかするやつです。
課題:グローバルIP、振られてないやん
自宅にDeep Learning用のGPU2台乗せ構成のPC(以降、これをNoelと呼ぶ)が常時稼働しており、ノマド活動をしているときはルータのVPN機能を経由してこいつにVS codeのremote development経由でsshしていろいろ使っています。
前述のとおりVPNサーバはルータの機能として提供されており、なおかつDDNS設定済みなので引っ越しをしてもそのまま使えるはず、と思いきや使えていないことに気が付きました。なんでだろうと帰宅後にルータの設定画面を開いてみると、WAN IPの欄にプライベートIPっぽいIPが記載されている。これが噂に聞く各部屋にグローバルIPが振られていない物件・・・。
僕は東京を離れたとはいえ、むしろこれからも東京に出向くことは増えるだろうと考えており、やはりどこからでもNoelに接続したい。そのためにやったことをここに記しておきます。
解決のための試行
① グローバルIP提供のオプションがないかの確認
僕らはすぐ自前のあれこれに頼りたがりますが、まずはこういう方法を考えるべきです。きょうびグローバルIPなんてみんな欲しいに決まってるんだからそういうオプションが当然あると考えるべきです。幸いなことに引っ越してきたばかりなので、インターネットの契約書類一式がまだ手元にありました。熟読してみると、
- プライベートIPのみ、よりセキュアな環境を提供しています
- グローバルIPが必要なあれこれは禁止
的な記載がありました。 物は言いようだなという気持ちになりますし、ちゃんと明言されているのは良いことだと思います。
ここからわかることはといえば、どうせグローバルIPは使えないんです。つまり、逆に言えばこの環境でできる範囲でNoelにsshできるようになったらそれは禁止事項ではないということになりますね。自前で解決する建前上の理由ができました。
② 先人の知恵
「マンション プライベートip」でぐぐるだけで先人の知恵が出てくる。ありがたいですね。
アイディア自体はシンプルで、
という感じで、「わざわざこれのためにVPS用意するか・・・?」という気持ちにちょっとだけなりつつ、少なくとも確かにこれならなんとかなりそうです。
③ 意外に身近にあった代替VPNサーバ
先ほどの先人の知恵のデメリットは明確にVPSを借りなければいけない点にあります。「これ用意しなくてもVPNサーバ手に入れる方法ないかな・・・」と少し考えてみたら普通にあったので、それを利用することにしました。具体的には、あまり汎用的な方法ではないですが、両親の家のルータをVPNサーバとして利用することにしました。
僕がルータに乗っているVPNサーバの機能を使っているという話は最初に述べましたが、数年前に両親の家のルータが不調だから何とかしてほしいという依頼があり、選定もめんどくさかったので自分が使っているものと同じものをAmazonで買って送り付けていました。つまり実家で動いているルータはVPNサーバの機能を有していたのです。VPSの代わりにこれを踏み台にすれば追加コスト0でやりたいことができそうです。
というわけで適当な理由に乗じて東京に行く際、ついでに実家に寄ってVPNサーバのセットアップ、帰宅後にNoel側もVPNクライアント側の設定をしたらサクッとsshできるようになりました。やったね。
ぱっと見、VPN接続したときのプライベートIPが固定できるインターフェースがルータの管理画面で見当たらないんだけれど、常時つないでいるからそうそう変わらないし、最悪クライアント側でVPN接続した上でルータの管理画面から確認できるので一旦良し。
まとめ
新居にグローバルIPが振られていなかったので、ノマド開発を目的に自宅マシンに両親の家VPN経由でssh接続をしました。これでまた一歩レジリエントでウェルビーイングな生活に近づけましたね!