rabbit51

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

ヤマハNVR500のLUAスクリプトでNGNドメインのDNS選択を行う

2018-06-10 14:00:00 | NVR500
NGNの経路情報設定ができたのでNGNドメインの名前解決にNGNから提示されるDNSを使うようにNVR500にDNS選択の設定を加える。
ひかり電話ルータ(PR-S300SE)配下でDHCPv6情報を得ると下記のようにNGNドメイン名が提示される。この情報を元に「dns server select」コマンドで、設定する。

---- show status ipv6 dhcp
DHCPv6 status

LAN2 [client]
state: established
server:
address: ::
preference: 0
prefix: 2408:210:aaaa:bb10::/60
duration: 14400
T1: 7200
T2: 12600
preferred lifetime: 14400
valid lifetime: 14400
SIP server[1]: 2408:210:aaaa:bb00:225:dcff:fe12:340d
DNS server[1]: 2408:210:aaaa:bb00:225:dcff:fe12:340d
Domain name[1]: flets-east.jp
Domain name[2]: iptvf.jp
SNTP server[1]: 2404:1a8:1102::a
SNTP server[2]: 2404:1a8:1102::b
Vender Specific Information:
Enterprise Number: 210
MAC Address: 00:a0:de:12:34:1b
Tel Number: 3
SIP Domain: ntt-east.ne.jp
---------

LUAスクリプトがこれ(2018/0612 修正変更)


実行結果
「かんたん設定」で加えられるコマンドは、idが500000番台なのでidを100000番台として先に評価されるようにした


ほとんど変化する事は無いと思うが、毎日一回チェックして処理するようにスケデュールしてみた。


--- 2018/06/15 追記
-- バグ?発見修正
ひかり電話ルータ(PR-S300SE)とIPv6 PPPoE接続でそれぞれDHCPv6 clientが実行される。
同時接続中にNVR500の「show status ipv6 dhcp」コマンドが実行されると両方のインターフェースのDHCP情報が出力される。
ぷららIPv6 PPPoEのDHCPv6からは、「Domain」情報が設定されていないが、「Prefix」が設定されている。LUAスクリプトで「Domain」や「Prefix」を抽出するとキーが同じため最後にマッチした「Domain」と「Prefix」の値となり、期待した情報を抽出できない。
PR-S300SEとPlala IPv6PPPoEの同時接続時に得られるDHCPv6情報は、下記の通り
---------------------------------------------
-- show status ipv6 dhcp
DHCPv6 status

LAN1 [server]
state: reply
state: reply
state: reply
state: reply
state: reply
state: reply
state: reply
state: reply

LAN2 [client]
state: established
server:
address: ::
preference: 0
prefix: 2408:210:aaaa:bb10::/60
duration: 14400
T1: 7200
T2: 12600
preferred lifetime: 14400
valid lifetime: 14400
SIP server[1]: 2408:210:aaaa:bb00:225:dcff:fe12:340d
DNS server[1]: 2408:210:aaaa:bb00:225:dcff:fe12:340d
Domain name[1]: flets-east.jp
Domain name[2]: iptvf.jp
SNTP server[1]: 2404:1a8:1102::a
SNTP server[2]: 2404:1a8:1102::b
Vender Specific Information:
Enterprise Number: 210
MAC Address: 00:a0:de:12:34:1b
Tel Number: 3
SIP Domain: ntt-east.ne.jp

PP[11] [client]
state: established
server:
address: ::
preference: 0
prefix: 2400:7800:cccc:dd00::/56
duration: 14400
T1: 7200
T2: 11520
preferred lifetime: 14400
valid lifetime: 14400
DNS server[1]: 2400:7800:0:3001::1:1
DNS server[2]: 2400:7800:0:3001::2:1
---------------------------------------------

LUAスクリプの25行目から27行目を下記のように変更し、LAN2からの「Domain」情報を取得するようにした
-------------------------------------------
r,m=rt.command("show status ipv6 dhcp")
if r then
for lr in string.gmatch(m,"[^%c]+") do
for v in string.gmatch(lr,"([%a%d%[%]]+) %[client%]") do if v=="LAN2" then vf=true else vf=false end end
if vf then
for nn,dn in string.gmatch(lr,"Domain name%p(%d+)%p:% +([%a%.%-]+)") do
domain[dn]=nn
end
end
end
else
rt.syslog("info","[LUA] arg[0] "..m)
end
-------------------------------------------

コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« ヤマハNVR500のLUAスクリプト... | トップ | ヤマハNVR500のLUAスクリプト... »
最新の画像もっと見る

コメントを投稿

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

NVR500」カテゴリの最新記事