LoginSignup
4
7

More than 5 years have passed since last update.

RTX1200と0simで冗長構成を組む話

Posted at

とりあえず0simで通信できるように

今回の機材

ルーター:RTX1200
USBLTEモデム:LG L-02C
sim:so-net 0SIM(標準sim)

とりあえずGUIで設定

固定費0円!0 SIMとYAMAHA RTX1200で回線冗長化してみる
を参考に色々設定

とりあえずLANケーブルを引っこ抜いて設定がうまく行ってるか確認

2016/11/08 09:46:57: LAN2: link down
2016/11/08 09:47:47: PP[02] IP Commencing: UDP 192.168.0.1:51333 > 111.221.77.169:40014
2016/11/08 09:47:47: PP[02] Calling so-net.jp with usb1
2016/11/08 09:47:47: USB[1] SEND [ATD*99***1#]
2016/11/08 09:47:47: USB[1] RECV [CONNECT]
2016/11/08 09:47:47: USB[1] Connected
2016/11/08 09:47:48: PP[02] PPP/IPCP up  (Local: 100.66.251.104, Remote: None)
2016/11/08 09:48:47: LAN2: link up (1000BASE-T Full Duplex)
2016/11/08 09:50:58: PP[02] Disconnecting, cause [Data transaction timer (SEND) expired]
2016/11/08 09:50:58: USB[1] SEND SIGNAL [DTR=OFF]
2016/11/08 09:50:58: USB[1] RECV [NO CARRIER]
2016/11/08 09:51:02: PP[02] Disconnected, cause [Data transaction timer (SEND) expired]
2016/11/08 09:51:02: [MOBILE] Signal Strength (0-5): 5 [|||] (usb1)

問題なさそうですね、回線を戻すと勝手に切れてくれます

追加の設定

さーて、月1でリミットをリセットしないといけないのと3ヶ月通信がないと勝手に解約されるのでそれ用にluaを書きます

monthly_kirikae.lua
--------------------------##  設定値  ##--------------------------------
-- メールの設定
mail_tbl = {                -- ★
    smtp_address = "example.com,
    smtp_auth_name = "hoge",
    smtp_auth_password = "hogehoge",
    smtp_auth_protocol = "適切に",
    from = "hoge@example.com",
    to = "hogehoge@example.jp",
}

-- メールの送信に失敗した時に出力する SYSLOG のレベル(info, debug, notice)
log_level = "お好きに"      -- ★

----------------------##  設定値ここまで  ##----------------------------
-- 現在の日時を取得する関数                               --
------------------------------------------------------------
function time_stamp()
    local t

    t = os.date("*t")
    return string.format("%d/%02d/%02d %02d:%02d:%02d", 
        t.year, t.month, t.day, t.hour, t.min, t.sec)
end

------------------------------------------------------------

----------------------## メインルーチン ## ----------------------------

str, rtn = rt.command("lan shutdown lan2") --メイン回線がつながってるI/Fをshutdown
while (loss ~= 0) do --loss率が0%になるまでうち続ける
   rtn, str = rt.command("ping -c 1 8.8.8.8") --とりあえず1回googleのPublicDNSへ
    if (rtn) and (str) then
        loss = string.match(str, "(%d+)%.%d+%%")      -- パケットロス率(NNN.N%)の整数部を抽出
        if (loss ~= nil) then
            loss = tonumber(loss)
        end
    end
end
rtn, str = rt.command("no lan shutdown lan2") --メイン回線がつながってるI/FをUp
 rtn, str = rt.command("clear mobile access limitation") --モバイル回線の使用量をリセット

---------------------------##メール送信部##----------------------------------------
       mail_tbl.subject = string.format("monthly reset (%s)", time_stamp())
        mail_tbl.text = string.format("マンスリーの通信料リセットが成功しました")
       rtn2 = rt.mail(mail_tbl)
        if (not rtn2) then
            rt.syslog(log_level, "failed to send mail. monthly_kirikae.lua")
        end

あとは設定に毎月させるように書き込んで終わりです

schedule at 1 */1 03:00 * lua monthly_kirikae.lua

終わりに

syslogを監視して切り替わったらメールを送るようなluaを書いたのですが動作しません
ヘルプ!

とりあえず緊急的に繋げられるようになったので良しとします

4
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
7