v6Direct 緊急時経路再設定 RTX1210
本ページは、v6Directで高可用接続を実現するために不可欠な、IPv6 Prefix変更発生時に、
自動的に経路再設定URL呼び出しが
正しく動作するようになってるかを確認、及び、修正設定を行うために必要な情報をまとめたページです。
(最終更新日:2023/03/30)
「RTX830 でのv6Direct/固定IP1設定」で紹介のWebGUIで設定した段階で、緊急時経路再設定URLを呼び出す処理まで
自動生成されるため、基本的には本ページを確認頂く必要は有りません。
但し、2021/04/23より前のFWでWebGUI設定をされた方、現在の設定で正しく動作するか確認されたい方、
或いは、監視Luaスクリプトをファイル化して
管理したい方については下記を確認の上、対処頂く事をおすすめします。
不具合の改善出来ている機種とFWバージョン
●RTX1210 Rev.14.01.40 2021/04/23リリース以降
●RTX830 Rev.15.02.20 2021/04/23リリース以降
●NVR510 Rev.15.01.21 2021/04/23リリース以降
その他の機種については、下記内容を参考にして、ご確認下さい。
但し、上記より前のFWでWebGUI設定した方は、
上記以降のFWにアップデート後も不具合が継続しますので、下記対処が必要です。
下記では、現在の設定で、予期しないIPv6 Prefix変更が発生した時に、正しく緊急時経路再設定URLを
呼び出しできるようになっているかを無停止、再起動無く確認できるスクリプトを紹介しております。
従って、FWバージョンに問題が無い場合でも、正常動作について確認しておいて頂くことをお勧め致します。
下記に設置作業にあたり参考になる情報を示します。
1)不具合点について
IPv6アドレスは半固定であり、転居、NTT回線品目変更、予告無いNTT都合の工事などで
IPv6 Prefix変更が発生した時は、DHCPv6-PD(ひかり電話契約有り)、RA(ひかり電話契約無し)
どちらでIP取得をした場合でもLAN1側のIPv6アドレス変更が発生します。
このようなIPv6 Prefix変更が発生した場合は、NTTシステムからプロバイダシステムへのIPv6 Prefix
変更通知が来るまでの間、IPv4 over IPv6通信が停止してしまいます。(例:v6Neo等)
v6Directでは可用性を高めるために、経路再設定URLを提供する事で、突然のIPv6 Prefix変更が発生した場合でも、
通信断時間を最小限にすることが可能になっています。
古いFWでは、LAN2やLAN3等のPrefix変更を検出監視する様なconfig、Luaスクリプト
が生成されている問題が含まれていました。
従って、LAN1のIPv6 Prefix変更が生じたときにlogへ出力する
ipv6 lan1 prefix change log on
の追加と、Luaスクリプト内の監視インターフェース「WAN_IF」部分を値を「LAN1」
に変更する必要が有ります。
2)動作確認Luaスクリプトについて
経路再設定URL呼び出しLuaスクリプトは、SYSLOGへIPv6 Prefix変更発生の記録が発生したことを
検知して、動作するようになっているため、SYSLOGにIPv6 Prefix変更が生じたときと
同じような記録を、動作確認Luaスクリプトで生成することで、動作確認を行えます。
現在の設定で監視Luaスクリプトで正しく、IPv6 Prefix変更を検出して経路再設定URL呼び出しが
できるかを確認してみて下さい。
尚、下記スクリプトと等価な動作が可能なコマンドライン操作としては
lua -e 'rt.syslog("info", "Add IPv6 prefix xxxx:xxxx:xxxx:xxxx::/xx (Lifetime: 14400) via LAN1 by TEST")'
を直接実行しても、動作確認することが可能です。スクリプトの設置までは不要と思われる場合、上記コマンドで動作確認をしてみて下さい。
スクリプト設置のディレクトリを作る必要はありませんが、多くのファイルが存在する場合、わかりにくくなる可能性がある為、ディレクトリを作るのが良いかもしれません。
# make directory lua # show file list / all [ / ] 2022/12/24 15:41:29 <DIR> lua
tftpにて、prefix-log.txtを、/lua/prefix-log.txtにアップロードして下さい。
# show file list / all [ / ] 2022/12/24 15:41:29 <DIR> lua [ /lua ] 2022/12/25 13:57:37 1899 prefix-log.txt
動作確認スクリプトの実行とログの確認を行います。
# lua /lua/prefix-log.txt # show log reverse
下記では年月日日時部分は本ページの横幅サイズの関係上、省略し、適当な長さで改行して表示しております。
○正常動作の場合(「code=200」記録有り)
# lua /lua/prefix-log.txt # show log reverse ... [v6plus] Succeeded to update IPv6 address. (code=200, body =OK) ... [v6plus] Notified IPv6 address to the update server. ... Add IPv6 prefix xxxx:xxxx:xxxx:xxxx::/xx (Lifetime: 14400) via LAN1 by TEST ... ...
×問題動作の場合(ユーザー名又は、パスワード値に誤りがある場合)
# lua /lua/prefix-log.txt # show log reverse ... [v6plus] Failed to update IPv6 address. (code=400, body=NG ) ... [v6plus] Notified IPv6 address to the update server. ... Add IPv6 prefix xxxx:xxxx:xxxx:xxxx::/xx (Lifetime: 14400) via LAN1 by TEST ... ...
×問題動作の場合(経路再設定URL呼び出しが起動しない)
# lua /lua/prefix-log.txt # show log reverse ... Add IPv6 prefix xxxx:xxxx:xxxx:xxxx::/xx (Lifetime: 14400) via LAN1 by TEST ... ...
×問題動作の場合(経路再設定URL入力間違いなど)
# lua /lua/prefix-log.txt # show log reverse ... [v6plus] Failed to notify IPv6 address to the update serve r. ... [v6plus] Failed to notify IPv6 address to the update serve r. (remaining retry: 1 time(s)) ... [v6plus] Failed to notify IPv6 address to the update serve r. (remaining retry: 2 time(s)) ... Add IPv6 prefix xxxx:xxxx:xxxx:xxxx::/xx (Lifetime: 14400) via LAN1 by TEST ... ...
上記で正常動作が確認出来なかった場合は、3)WebGUIでの設定修正で対処可能です。
3)WebGUIでの設定修正(推奨)
WebGUIで下記の接続設定を編集し、再設定することで新しいFWに対応した設定が再設定されることで、不具合解消が可能です。
弊社検証では、RTX1210 Rev.14.01.38 のWebGUIで 「RTX830 でのv6Direct/固定IP1設定」の手順で設定を行い、 動作に問題が発生する設定が生成された状態で、FWを Rev.14.01.41に更新した後、下記の作業で改善できる事を確認致しました。
本作業により、configファイルの変更が発生する為、念のため、
CONFIGエクスポート、インポートで案内の
WebGUIによるconfigエクスポートなどを参考にバックアップを取っておくことをお勧めします。
また、作業後に再度CONFIGエクスポートをするなどして、変更点差分を確認頂く事を強くおすすめします。
WebGUIで再編集するには、ご利用ルータにWebGUIでログイン後、
上部タブメニューの「詳細設定」を選択
左縦メニューの「プロバイダー接続」を選択
「設定の一覧」でIPv6 IPoEの行の「確認」ボタンを選択
「基本設定」表内の「設定」ボタンを選択
設定内容の再入力画面となるため
IPv4 over IPv6 トンネルの設定:使用する
「v6プラス」固定 IP サービス
の設定項目を見直し、正しい設定にした上で「確認」を選択
問題無ければ、「設定の確定」を選択
動作確認スクリプトの実行とログの確認を行います。
# lua /lua/prefix-log.txt # show log reverse
「code=200」のようなログが確認できれば正しく設定、動作している事になります。
「code=200」が確認出来ない場合は、上記再設定を正しく動くようになるまでやって下さい。
結果の確認については上記2)動作確認Luaスクリプトについてを参考として下さい。
但し、かなり特殊な条件が重なったときに発生する不具合に対応するための、 下記、4)経路再設定Luaスクリプト設置について(自己責任)で紹介しているIPv6 DNS取得リトライ機能については 別途、手動で埋め込みLuaスクリプトの変更(ダウンロード、修正、アップロード)などで対処が必要です。
4)経路再設定Luaスクリプト設置について(自己責任)
通常であれば、上記3)WebGUIでの設定修正をして頂く事で不具合は解消できる為、本作業は不要です。
但し、configにLuaスクリプトが埋め込まれる形になるため、分離して管理したい場合などには、Luaスクリプトのみを
ファイルに分けて運用することも可能です。
●ご注意)
下記作業を行った後、3)WebGUIでの設定修正などを行おうとしても
TUNNEL2等が生成され、正しくWebGUIでTUNNEL1の管理(再編集)ができなくなりますのでご注意下さい
(以降、TUNNEL1の管理をCLIで行うのであれば問題有りません)。
RTX1210のWebGUI設定で「v6プラス」固定IP設定を行ったときに生成されたLuaスクリプトをベースに
IPv6 DNS取得失敗時のリトライ機能を追加しファイル化した
v6direct-up.txt 2023/03/30更新 IPv6 DNS取得失敗時リトライ機能追加
については、
UPD_SV
USERNAME
PASSWORD
の3行の設定値を正しく設定した上で、tftpにて、/lua/v6direct-up.txtにアップロードして下さい。
# show file list / all [ / ] 2022/12/24 15:41:29 <DIR> lua [ /lua ] 2022/12/25 13:57:37 1899 prefix-log.txt 2022/12/24 16:00:28 4828 v6direct-up.txt
configファイルの変更が発生する為、念のため、CONFIGエクスポート、インポートで案内のWebGUIによるconfigエクスポートなどを参考に バックアップを取っておくことをお勧めします。
Luaスクリプトの動作確認等を行うために下記のコマンド類を使い、動作を確認して行きます。
●実行中のLuaスクリプト状況確認(LuaタスクIDの確認可能)
show status lua running
●タスクID指定のLuaスクリプト停止
terminate lua [タスクID]
●ファイル名指定のLuaスクリプト停止
terminate lua file [ファイル名]
既に、WebGUIで設定した際に、生成された、embedded file で動作しているLuaスクリプトがある状態で、停止、削除、
経路再設定呼び出しスクリプト実行、
動作確認、config設置を行った作業例を下記に示します。
尚、下記では、本ページの横幅サイズの関係上、ログの年月日日時を省略し、
長い行は適当な長さで改行して表示しております。
●1)起動しているLuaスクリプト停止
# show status lua running ★1 [running] LuaタスクID (状態): 1 (WATCH) 走行トリガー: 'lua' コマンド コマンドライン: lua emfs:/v6plus_map_e.lua スクリプトファイル: emfs:/v6plus_map_e.lua 監視文字列: "Add%s+IPv6%s+prefix.+%(Lifetime %:%s+%d+%)%s+via%s+LAN1%s+by" 開始日時: 2022/12/26 10:55:03 経過時間: 2時間56分11秒 # terminate lua file emfs:/v6plus_map_e.lua ★2 Luaスクリプトを停止しました # show status lua running ★3 [running] 走行中のLuaスクリプトはありません
★1:起動しているLuaスクリプト確認
★2:起動しているLuaスクリプトをファイル指定停止
★3:起動しているLuaスクリプトが無くなっている事を確認
●2)アップロードしたLuaスクリプト動作確認
# lua /lua/v6direct-up.txt ★4 # show status lua running ★5 [running] LuaタスクID (状態): 1 (WATCH) 走行トリガー: 'lua' コマンド コマンドライン: lua /lua/v6direct-up.txt スクリプトファイル: /lua/v6direct-up.txt 監視文字列: "Add%s+IPv6%s+prefix.+%(Lifetime %:%s+%d+%)%s+via%s+LAN1%s+by" 開始日時: 2022/12/26 13:52:29 経過時間: 20秒 # lua /lua/prefix-log.txt ★6 # show log reverse ★7 ... [v6plus] Succeeded to update IPv6 address. (code=200, body =OK) ... [v6plus] Notified IPv6 address to the update server. ... Add IPv6 prefix xxxx:xxxx:xxxx:xxxx::/xx (Lifetime: 14400) via LAN1 by TEST ... ...
★4:tftpでアップロードした経路再設定URL呼び出しスクリプトを実行
★5:起動しているか確認
★6:動作確認スクリプトを実行
★7:ログを確認し、「code=200」行が確認できれば正常
もし、正常が確認出来なかった場合は、
terminate lua file /lua/v6direct-up.txt
で停止させ、修正したファイルを/lua/v6direct-up.txtにアップロード後、★3からやり直し。
●4)configの修正と保存
# no embedded file v6plus_map_e.lua ★8 # schedule at 1 startup * lua /lua/v6direct-up.txt ★9 # save ★10 セーブ中... CONFIG0 終了
★8:embedded file v6plus_map_e.lua を削除(configからLuaスクリプトが消えます)
★9:起動時に、「lua /lua/v6direct-up.txt」する様に設定
★10:設定保存
●5)再起動後の動作確認(推奨)
# restart ★11 # show status lua running ★12 [running] LuaタスクID (状態): 1 (WATCH) 走行トリガー: スケジュールによる実行 コマンドライン: lua /lua/v6direct-up.txt スクリプトファイル: /lua/v6direct-up.txt 監視文字列: "Add%s+IPv6%s+prefix.+%(Lifetime %:%s+%d+%)%s+via%s+LAN1%s+by" 開始日時: 2022/12/26 15:01:52 経過時間: 13秒 # show log reverse ★13 ... [v6plus] Succeeded to update IPv6 address. (code=200, body =OK) ... [v6plus] Notified IPv6 address to the update server. ... ... ... [SCHEDULE] Startup: lua /lua/v6direct-up.txt ...
★11:再起動(再起動は行わなくてもほぼ大丈夫ですが、
再起動後正常動作することを確認することをお勧めします)
★12:起動後10秒程度して、Luaスクリプト実行状況を確認
ここで、「走行トリガー」が「スケジュールによる実行」となっていることを確認
★13:ログ確認、「code=200」行が確認できれば正常