rabbit51

it's since Nov.30 2005
May.29 2014, transferred from broach

NVR510 / NVR500 のDHCPv6-PDをリモートで再取得させる

2021-07-27 16:00:00 | NVR510
ヤマハ ルーター NVR510/500のlan2インターフェース(WAN表記ジャック)に接続されたネットワーク上にあるDHCPv6-PDサーバーからPrefix Delegationを得るため下記の設定をしている
NVR510/500 config
ipv6 lan2 address auto (RAからEUI64アドレス設定)
ipv6 lan2 dhcp service client (Prefix Delegationを得る)
ngn type lan2 ntt (DHCPサーバーからひかり電話情報を得る)
ipv6 lan1 address dhcp-prefix@lan2::11:250/64 (委譲されたPrefixでアドレス設定)
ipv6 lan1 rtadv send 1 o_flag=on
ipv6 lan1 dhcp service server
管理者権限で「ipv6 lan2 dhcp service client」をコマンド実行するとDHCPv6のRebindを行う。リモート端末から実行する仕組みを設定する。

(1)概要
リモート端末から「RebindDHCPv6」ユーザー名でhttpログインを行う。syslogwatch()で「RebindDHCPv6」ユーザのログインを監視し、「ipv6 lan2 DHCP service client」をcommend()実行してDHCPv6サーバーからPrefixを再取得するLUAスクリプトを起動する。
NVR500では、一般ユーザでのhttpログインが出来ないので、管理者権限でログインした時、LUAスクリプトが動作するよう設計した。

(2)ユーザアカウントの設定
ユーザーアカウントの作成(NVR510/500)
login user RebindDHCPv6 encrypted JYUMON

(3)LUAスクリプトの設定
SDカードにLUAスクリプトを設定し、「lua sd1:/lua/doRebindDHCPv6.lua」コマンド実行する。
doRebindDHCPv6.lua
--[[
 May.24 '2021 Rabbit51
 doRebindDHCPv6.lua
]]

---------------------------------------------------------------
-- watching user 'RebindDHCPv6' user login w/ http --
---------------------------------------------------------------
while(true) do
    rtn, array = rt.syslogwatch("'administrator' succeeded for HTTP: .* RebindDHCPv6")
        rtn,str = rt.command("syslog debug on","off")
        rtn,str = rt.command("ipv6 lan2 dhcp service client","on")
        if rtn then
            rtn,array = rt.syslogwatch("%[IPv6%] prefix",1,10)
            if rtn > 0 then
                pf = string.match(array[1],"%[IPv6%] prefix (%x+:%x+:%x+:%x+::/60)")
                rtn,str = rt.syslog("info","[DHCPv6-PD] prefix: " .. pf)
            else
                rtn,str = rt.syslog("info","[DHCPv6-PD] timeout")
            end
        end
        rtn,str = rt.command("syslog debug off")
end
NVR起動時に実行されるようにスケデューラーに設定する。
スケデューラー設定
schedule at 53 startup * lua sd1:/lua/doRebindDHCPv6.lua


(4)リモート実行
LUAスクリプトの起動
lua sd1:/lua/doRebindDHCPv6.lua
show status lua running


リモートからRebindDHCPv6ユーザでhttpログイン
wget -s --user=RebindDHCPv6 --password="JYUMON" http://nvr500.familyname/


nvr500上でリモート実行された処理結果ログ


 


コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« ひかり電話 HGW PR-600MIのDH... | トップ | ヤマハ NVR510 / NVR500のロ... »
最新の画像もっと見る

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。

NVR510」カテゴリの最新記事