背景
- 自宅ネットワークはRTX1200で構築してあります。
- http://blog.serverworks.co.jp/tech/2015/11/25/soracom-air-and-rtx1200/ を2014年の11月に見つけて、自宅でもやりたいと思ってました。
- FS01BUとSoracom Airは買ってありました。
https://amzn.to/3uehBKb
https://amzn.to/3GeiiFV
Bitly
問題
- Soracom AIRは、利用しなくても月額300円かかり、あとは従量課金です。自宅用途で遊び使うだけなので躊躇していました。
- ログインしてのactivationもちょっと面倒で放置してました。。。
ソリューション
- So-netが0 SIMという、月額固定費0円で、500MBまで使えるサービスを開始しました。
- 速攻申し込んで、SIMカードが届いたので、早速、RTX1200に設定してみました。
設定
ハードウェアのセットアップ
- FS01BUにnano SIM -> SIMアダプタを噛ませて挿入します。
- Soracomと違い、Webでのアクティベーションなどは一切不要でした。届いたらそのまま使えます。
- 0 SIMのWeb管理画面にログインしても設定出来る項目は、支払い方法の変更ぐらいでした。
- RTX1200に差し込むと、ビービーと音が鳴りますが、すぐに鳴り止みます。
- FS01BUのLEDが緑に点滅していることを確認します。
- RTX1200のWebインターフェイスメニューから、PPP(モバイル)を選択してインターフェイスを追加します。
プリセットの選択
- 立ち上がったウィンドウでセットアップをしていきます。
- この画面はプリセットの選択なので、どれでもOKです。
接続情報の登録
- 0 SIMの説明書に書いてある情報を入力します。
- 下の、「累積データ量や累積通信時間を監視して発信制限を行う」にチェックをすると、デフォルトでは、0が設定されるので、発信を一切出来ない状態になります。
- この部分は、後ほど細かく設定(500MBまで)するので、チェックしてもしなくても良いです。
フィルタ設定
- 短時間しか接続しないので、フィルタはとりあえず無し。
設定内容の確認
- これでインターフェイスの追加は終わり。次はルーティング。
完了
ルーティング
- 「ルーティング」の、「静的経路の設定」メニューにある「設定」ボタンを押す。
- 接続のダウンを検知するためにキープアライブを設定します。
- Keepaliveのホストは、Tracerouteして、一番近いISPのホストを指定してみました。
163.139.126.165
,tok1nn1m4.vectant.ne.jp
- その他は、よしなに、スクリーンショットのような感じに設定します。
500MB制限の追加
- 先ほどの設定で、制限を付けた場合は以下の設定が入っており接続出来ないです。
mobile access limit length mobile access limit time
- こんな感じのエラーが出ます。
Call request is rejected due to length limitation
2016/02/13 18:07:47: PP[02] IP Commencing: 2016/02/13 18:07:47: PP[02] IP Commencing: UDP 192.168.1.102:65470 > 216.58.220.206:443 2016/02/13 18:07:47: 45 00 05 62 a7 7c 00 00 3f 11 57 f7 c0 a8 01 66 2016/02/13 18:07:47: d8 3a dc ce ff be 01 bb 05 4e c9 6f 0d 96 85 b0 2016/02/13 18:07:47: 47 13 30 83 bf 51 30 32 35 03 1a 2f 60 91 67 78 2016/02/13 18:07:47: 5e 32 bb 68 99 35 00 a0 01 00 04 43 48 4c 4f 16 2016/02/13 18:07:47: PP[02] Call request is rejected due to length limitation 2016/02/13 18:07:47: PP[02] IP Commencing: 2016/02/13 18:07:47: PP[02] IP Commencing: UDP 192.168.1.7:53 > c:59326 (DNS response) 2016/02/13 18:07:47: 45 00 00 a4 90 94 00 00 3f 11 1f 4d c0 a8 01 07 2016/02/13 18:07:47: 36 97 d3 21 00 35 e7 be 00 90 0c aa 1f 82 84 00 2016/02/13 18:07:47: 00 01 00 01 00 03 00 01 0d 79 75 6b 69 6d 69 64 2016/02/13 18:07:47: 61 69 66 75 6b 75 03 63 6f 6d 00 00 01 00 01 c0
- 上記の制約を解除しつつ、500MBの制限を設定するコマンド。
pp select 2 no mobile access limit time mobile access limit length 500000000
- 500MBの制限は、ルータ再起動か、制限の再設定、クリアコマンドでリセットされます。
- クリアコマンドの例
pp select 2 clear mobile access limitation
接続確認
- 主回線を物理的に抜くか、キープアライブのホストを存在しないホストに指定するなどして落とせば副回線に切り替わります。
- 帯域が細いので、グラフで見ると少し上がるくらいです。
- 接続が成功した場合は以下のようなログが表示されます。
2016/02/13 21:13:51: [KEEPALIVE 2] STATUS LED is ON 2016/02/13 21:13:51: PP[02] IP Commencing: 2016/02/13 21:13:51: PP[02] IP Commencing: TCP 192.168.1.110:53906 > 183.79.226.159:80 2016/02/13 21:13:51: 45 00 00 28 ad 69 40 00 3f 06 32 61 c0 a8 01 6e 2016/02/13 21:13:51: b7 4f e2 9f d2 92 00 50 69 e2 e6 e0 5f e7 f3 39 2016/02/13 21:13:51: 50 10 1f a7 bd 60 00 00 2016/02/13 21:13:51: PP[02] Calling so-net.jp with usb1 2016/02/13 21:13:51: [MOBILE] Signal Strength (0-31): 9 [| ] (usb1) 2016/02/13 21:13:51: USB[1] SEND [ATDT*99***1#] 2016/02/13 21:13:51: USB[1] RECV [CONNECT 14400000] 2016/02/13 21:13:51: USB[1] Connected 2016/02/13 21:13:51: PP[02] SEND LCP ConfReq in STARTING 2016/02/13 21:13:51: ff 03 c0 21 01 01 00 12 02 06 00 00 00 00 05 06 2016/02/13 21:13:51: 42 8e f8 4c 07 02 2016/02/13 21:13:51: PP[02] RECV LCP ConfReq in REQSENT 2016/02/13 21:13:51: ff 03 c0 21 01 00 00 19 02 06 00 00 00 00 03 05 2016/02/13 21:13:51: c2 23 05 05 06 03 9d d8 1e 07 02 08 02 2016/02/13 21:13:51: PP[02] SEND LCP ConfRej in REQSENT 2016/02/13 21:13:51: ff 03 c0 21 04 00 00 06 08 02 2016/02/13 21:13:51: PP[02] RECV LCP ConfAck in REQSENT 2016/02/13 21:13:51: ff 03 c0 21 02 01 00 12 02 06 00 00 00 00 05 06 2016/02/13 21:13:51: 42 8e f8 4c 07 02 2016/02/13 21:13:51: PP[02] RECV LCP ConfReq in ACKRCVD 2016/02/13 21:13:51: ff 03 c0 21 01 01 00 17 02 06 00 00 00 00 03 05 2016/02/13 21:13:51: c2 23 05 05 06 03 9d d8 1e 07 02 2016/02/13 21:13:51: PP[02] SEND LCP ConfAck in ACKRCVD 2016/02/13 21:13:51: ff 03 c0 21 02 01 00 17 02 06 00 00 00 00 03 05 2016/02/13 21:13:51: c2 23 05 05 06 03 9d d8 1e 07 02 2016/02/13 21:13:51: PP[02] RECV LCP Discard in OPENED 2016/02/13 21:13:51: ff 03 c0 21 0b 02 00 08 03 9d d8 1e 2016/02/13 21:13:51: PP[02] RECV CHAP Challenge in CS_LISTEN/SS_CLOSED 2016/02/13 21:13:51: ff 03 c2 23 01 01 00 23 10 00 00 00 00 00 00 00 2016/02/13 21:13:51: 00 00 00 00 00 00 00 00 00 55 4d 54 53 5f 43 48 2016/02/13 21:13:51: 41 50 5f 53 52 56 52 2016/02/13 21:13:51: PP[02] SEND CHAP Response in CS_LISTEN/SS_CLOSED 2016/02/13 21:13:51: ff 03 c2 23 02 01 00 19 10 1b e1 96 ce a4 d2 ca 2016/02/13 21:13:51: e0 c4 7a 74 7b ab 02 fe 10 6e 75 72 6f 2016/02/13 21:13:51: PP[02] RECV CHAP Success in CS_OPEN/SS_CLOSED 2016/02/13 21:13:51: ff 03 c2 23 03 01 00 04 2016/02/13 21:13:51: PP[02] SEND CCP ConfReq in STARTING 2016/02/13 21:13:51: ff 03 80 fd 01 01 00 09 11 05 00 01 03 2016/02/13 21:13:51: PP[02] SEND IPCP ConfReq in STARTING 2016/02/13 21:13:51: ff 03 80 21 01 01 00 16 03 06 00 00 00 00 81 06 2016/02/13 21:13:51: 00 00 00 00 83 06 00 00 00 00 2016/02/13 21:13:51: PP[02] RECV LCP ProtRej in OPENED 2016/02/13 21:13:51: ff 03 c0 21 08 03 00 0f 80 fd 01 01 00 09 11 05 2016/02/13 21:13:51: 00 01 03 2016/02/13 21:13:52: PP[02] RECV IPCP ConfNak in REQSENT 2016/02/13 21:13:52: ff 03 80 21 03 01 00 1c 81 06 0a 0b 0c 0d 83 06 2016/02/13 21:13:52: 0a 0b 0c 0e 82 06 0a 0b 0c 0d 84 06 0a 0b 0c 0e 2016/02/13 21:13:52: PP[02] SEND IPCP ConfReq in REQSENT 2016/02/13 21:13:52: ff 03 80 21 01 02 00 22 03 06 00 00 00 00 81 06 2016/02/13 21:13:52: 0a 0b 0c 0d 82 06 0a 0b 0c 0d 83 06 0a 0b 0c 0e 2016/02/13 21:13:52: 84 06 0a 0b 0c 0e 2016/02/13 21:13:53: PP[02] RECV IPCP ConfNak in REQSENT 2016/02/13 21:13:53: ff 03 80 21 03 02 00 1c 81 06 0a 0b 0c 0d 83 06 2016/02/13 21:13:53: 0a 0b 0c 0e 82 06 0a 0b 0c 0d 84 06 0a 0b 0c 0e 2016/02/13 21:13:54: PP[02] RECV IPCP ConfReq in REQSENT 2016/02/13 21:13:54: ff 03 80 21 01 00 00 04 2016/02/13 21:13:54: PP[02] SEND IPCP ConfNak in REQSENT 2016/02/13 21:13:54: ff 03 80 21 03 00 00 0a 03 06 00 00 00 00 2016/02/13 21:13:54: PP[02] RECV IPCP ConfRej in REQSENT 2016/02/13 21:13:54: ff 03 80 21 04 02 00 10 82 06 0a 0b 0c 0d 84 06 2016/02/13 21:13:54: 0a 0b 0c 0e 2016/02/13 21:13:54: PP[02] SEND IPCP ConfReq in REQSENT 2016/02/13 21:13:54: ff 03 80 21 01 03 00 16 03 06 00 00 00 00 81 06 2016/02/13 21:13:54: 0a 0b 0c 0d 83 06 0a 0b 0c 0e 2016/02/13 21:13:54: PP[02] RECV IPCP ConfReq in REQSENT 2016/02/13 21:13:54: ff 03 80 21 01 01 00 04 2016/02/13 21:13:54: PP[02] SEND IPCP ConfAck in REQSENT 2016/02/13 21:13:54: ff 03 80 21 02 01 00 04 2016/02/13 21:13:54: PP[02] RECV IPCP ConfNak in ACKSENT 2016/02/13 21:13:54: ff 03 80 21 03 03 00 16 03 06 64 40 ff 65 81 06 2016/02/13 21:13:54: 76 ee c9 21 83 06 76 ee c9 31 2016/02/13 21:13:54: PP[02] SEND IPCP ConfReq in ACKSENT 2016/02/13 21:13:54: ff 03 80 21 01 04 00 16 03 06 64 40 ff 65 81 06 2016/02/13 21:13:54: 76 ee c9 21 83 06 76 ee c9 31 2016/02/13 21:13:54: PP[02] RECV IPCP ConfAck in ACKSENT 2016/02/13 21:13:54: ff 03 80 21 02 04 00 16 03 06 64 40 ff 65 81 06 2016/02/13 21:13:54: 76 ee c9 21 83 06 76 ee c9 31 2016/02/13 21:13:54: PP[02] PPP/IPCP up (Local: 100.64.255.101, Remote: None) 2016/02/13 21:13:54: PP[02] Local PP IP address 100.64.255.101 2016/02/13 21:13:54: PP[02] Remote PP IP address 0.0.0.0
念のため確認君で。
まとめ
- 自宅のインターネット回線を
無駄に冗長化しました。 - 毎月500MBのカウンタをリセットするLUAを書く。(今は、単純に累計で計算されてしまうので。)
- 3ヶ月に1回、接続するLUAを書く。(最低3ヶ月に1回が無いと解約されてしまうので)
今の設定
Comments
はじめまして。記事の中で触れているluaスクリプトも公開していただくことは可能でしょうか?
時間がなくてまだ作れていませんー
こちらのかたが書いてます!
https://qiita.com/qunaud/items/8efa8593d4cc27819e92
なんだか、0Simに1日数時間勝手に繋がっているので、luaを書くまでも無さそう。
トラフィックは流れていないから請求はゼロ。