妄想日記 by 妄想エンジン


povo 2.0 と モバイルルータを使って、サーバの裏口を作成する。(追記あり

おうちネットを維持していて、ときどき困るのが、外部との接続回線に何らかの問題が発生して、外部からの
接続ができなくなることです。

お仕事であれば、必要なら別系統で回線を2つ以上引くということで、金銭で解決可能かもしれませんが、
できればなるべくお金をかけたくありません。

ところで、先日新たに契約した povo 2.0 では非課金状態でも 128k でインターネットとつながることは
可能です。128k って今時の5Gの回線とかと比べたらとても遅く感じますが、INS64 とか出たときには
それまでモデムがせいぜい 28.8k でしたので、夢のように速いとか思ったものです。
そう、キャラクタベースで動かすなら全然問題のない速さなのです。ブラウザとか使おうと思ったら
遅いかもしれませんが。

そこで、サーバに USB でモバイルルータを接続して、sshd の受け口にすることをやってみます。

用意するもの
・モバイルルータ
・USB接続ケーブル
・povo 2.0 の回線
・FreeBSD のサーバ
・インターネットに繋がった踏み台サーバ

モバイルルータは以下のモノを使います。
https://www.iijmio.jp/device/nec/mp02ln_sa.html?utm_source=google&utm_me...
回線契約が無くても一括買取で\2k でおつりがきて、今なら電池も予備が付いてきます。(2023/05現在)
別にこの端末でなくても、いろんなところでモバイルルータは安売りしていたりするので、適当に用意してください。
ただし、USB接続できるものに限ります。

USBのAとMicroBの通信ケーブルが必要です。たぶん百均とかでも手に入ると思います。
充電専用だと使えないので注意。

povo 2.0 の回線も用意します。維持費がかからないので念のため1回線くらいは取っておくといろいろ便利です。
種別は物理SIMを選びます。これはモバイルルータにあったものを選んでください。

例によって例のごとく、FreeBSD の物理サーバです。たぶんLinux でもできると思うのですが、ルーティングで工夫が必要になると思います(未確認)

インターネット上の踏み台サーバはSSHで接続できればなんでもいいと思います。今回はFreeBSDのサーバを使いました。

実際の作業

サーバにログインして、/boot/loader.conf に以下を追加します。

net.fibs=2

これで、再起動すれば反映されますが、再起動したくないなら

> sudo sysctl net.fibs=2

すれば即座に反映されます。

モバイルルータにSIMを入れて初期設定をしたら、USBケーブルでFreeBSDサーバにつなぎます。

サーバにue0が生えてきていることを ifconfig で確認してください。

ue0 を設定します。アドレスはモバイルルータにあったものを使ってください。
Aterm MP02LNだったらこのままで使えるはずです。

> sudo ifconfig ue0 inet 192.168.179.100/24 fib 1 up
> sudo setfib 1 route add default 192.168.179.1

この設定で、fib 1 を使ったネットワークはモバイルルータ経由でパケットが外に出ます。

あとは、ssh で踏み台サーバにトンネルを掘ります。

> setfib 1 ssh -R 9022:localhost:22 [踏み台サーバのアドレス] sleep 60

別のマシンから踏み台サーバのログインして、

> slogin -p 9022 localhost

とかすると、povo 回線経由でログインすることが確認できると思います。

とりあえずこれで家庭内サーバにアクセスできるようになりましたので、あとはいろんな作業ができます。

このままだと、いちいちつなぎに行かないとそとから接続できませんので、そこは、たとえば cron などで
毎時間正時にn分だけ接続まちにするといったような運用が必要になってくると思います。たとえば
上記の例では sleep 60 となっていますが、接続が維持されている間は切れません。

povo 2.0 は回線の維持にお金がかかりませんし、モバイルルータは1つくらいあっても困らないので、
これを機に持っておくといいかもしれません。

以下、2023/05/31 に追記

モバイルルータがいけるなら、スマホをUSBテザリングでつないでもいけるだろ、と思ってやってみたら
無事いけました。Docomo の S-02L で、試してみたところ、ifconfig で登録するアドレスを 192.168.42.100 に
default route を 192.168.42.129 にしてあげれば無事開通しました。
moto g52j はサーバ側が ue0 として認識してくれなかったので、何か他の設定が必要なのかも。

ちなみに上記アドレスは

sudo setfib 1 dhclient ue0

して調べましたが、これやると、サーバ側の /etc/resolv.conf を書き換えられてしまうので、/etc/resolv.conf.bak から
書き戻してあげる必要があります。

これやると、のちのちまた resolv.conf 書き換えられちゃったりするのでやらない方がよさそう。
とりあえずWindowsマシンに刺して ipconfig で確かめる方が無難。

スマホでもできるようにはなったけど、サーバ側を再起動した際に、スマホでUSBテザリングを改めてやらないといけないので
恒久的に使うのであれば、モバイルWifiをつないでおく方が利便性は高いと思います。

あとは devd でUSBに刺したら自動的につながりに行くとかいう設定にしておくと、「ネットワークトラブルが起きたら
これを刺して」みたいな感じで使えそうな予感。

ツイート
|top |アフィリエイト |windowsネタ |料理メモ |コンタクト |twitter |
さわやかなエロスを目指す--妄想エンジン ©1996-2022
コンテンツ配信