固定費0円!0 SIMとYAMAHA RTX1200で回線を冗長化してみる

YAMAHA RTX1200

背景

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(モバイル)を選択してインターフェイスを追加します。
RTX1200_Rev_10_01_65___1

プリセットの選択

  • 立ち上がったウィンドウでセットアップをしていきます。
  • この画面はプリセットの選択なので、どれでもOKです。
    RTX1200_Rev_10_01_65___2

接続情報の登録

  • 0 SIMの説明書に書いてある情報を入力します。
  • 下の、「累積データ量や累積通信時間を監視して発信制限を行う」にチェックをすると、デフォルトでは、0が設定されるので、発信を一切出来ない状態になります。
  • この部分は、後ほど細かく設定(500MBまで)するので、チェックしてもしなくても良いです。
RTX1200_Rev_10_01_65___3

フィルタ設定

  • 短時間しか接続しないので、フィルタはとりあえず無し。
RTX1200_Rev_10_01_65___5

設定内容の確認

  • これでインターフェイスの追加は終わり。次はルーティング。
RTX1200_Rev_10_01_65___6

完了

RTX1200_Rev_10_01_65___7

ルーティング

  • 「ルーティング」の、「静的経路の設定」メニューにある「設定」ボタンを押す。
  • 接続のダウンを検知するためにキープアライブを設定します。
  • Keepaliveのホストは、Tracerouteして、一番近いISPのホストを指定してみました。
    • 163.139.126.165, tok1nn1m4.vectant.ne.jp
  • その他は、よしなに、スクリーンショットのような感じに設定します。
RTX1200_Rev_10_01_65___routing

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

接続確認

  • 主回線を物理的に抜くか、キープアライブのホストを存在しないホストに指定するなどして落とせば副回線に切り替わります。
  • 帯域が細いので、グラフで見ると少し上がるくらいです。
RTX1200_Rev_10_01_65___traffic_
  • 接続が成功した場合は以下のようなログが表示されます。
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

念のため確認君で。

Screen Shot 2016-02-14 at 01.17.18

まとめ

  • 自宅のインターネット回線を無駄に冗長化しました。
  • 毎月500MBのカウンタをリセットするLUAを書く。(今は、単純に累計で計算されてしまうので。)
  • 3ヶ月に1回、接続するLUAを書く。(最低3ヶ月に1回が無いと解約されてしまうので)

今の設定

コメント

  1. lua初級者 より:

    はじめまして。記事の中で触れているluaスクリプトも公開していただくことは可能でしょうか?

  2. matsubokkuri より:

    なんだか、0Simに1日数時間勝手に繋がっているので、luaを書くまでも無さそう。
    トラフィックは流れていないから請求はゼロ。