rabbit51

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

ヤマハNVR500のLUAスクリプトでNGN Prefixを取得しRAのために設定を行う

2018-06-14 09:00:00 | NVR500
NGNの経路情報設定」でIPv6デフォルトゲートウェイが変更されてもNGNへの経路が確保され、「NGNドメイン名からDNSサーバを選択設定」でNGNドメインの名前解決が確実に出来る環境が確保される。
NGNからはIPv6 PrefixがRAされ設定される。ひかり電話ルータ(PR-S300SE)がRAされたPrefixを受取り、16 8分割したPrefixをDHCPv6経由でNVR500配下の機器にRAする事になる。 また、インターネット接続にIPv6 PPPoEを設定(plala ipv6接続)すると接続先からIPv6 Prefixが配布される。IPoE接続との違いは、NGNからのPrefixとPPPoE接続先からのPrefixをRAし、下図のようにMulti Prefix環境となる事だ。この環境では、IPv6始点アドレスを間違えると接続できない事になる。IPoEインターネット接続やNTTからのIPv6アダプタを使う場合は、マルチPrefixにならない。ひかり電話ルータ(PR-S300SE)のIPv6 PPPoE接続がどのようになっているのか不明(利用したことが無いので)。


6年前の接続設定で「NGN経路情報の設定」「DNSによる名前解決の設定」に加えPrefixの広告(RA)方法の解決も必要だった。
NVR500でIPv6 PPPoEインターネットとフレッツ情報サイトへの同時接続
PR-S300SEとNVR500のフレッツ情報サイトIPv6常時接続方法を変更する
NVR500のrtadv sendの機能動作と制限について
NVR500のrtadv sendの機能動作と制限について(続)

NVR500の「ipv6 lan1 rtadv send 」で指定するPrefixは、同時に二つのproxyタイプのPrefixを指定できない。
NGNのIPv6は、常時接続状態。plalaのIPv6 PPPoEインターネット接続は、接続と切断ができるように考えると、NGN IPv6 Prefixは、proxyタイプでなく、DHCPv6から得たPrefixを「ipv6 prefix」コマンドで静的に設定し、plalaのIPv6 PPPoE接続時に得られるprefixをproxyタイプとして設定するのが良さそうである。
DNSサーバ選択と同様にLUAスクリプトでDHCPv6から得たNGN Prefixを「ipv6 prefix」コマンドで定期的に取得設定することとした。NGNのprefix定義は、「ipv6 prefix 10 2408:210:AAAA:BBBB::/64」。
PlalaのIPv6 PPPoE接続で得られるPrefixは、「ipv6 prefix 2 dhcp-prefix@pp2::/64」で設定される。接続後、LAN1側にRAされるよう「ipv6 lan1 rtadv 2 10 o_flag=on」とする。

LUAスクリプト


環境変数に記憶されるPrefix情報


設定されたNGNの「静的Prefix」


4時間毎にスクリプトを実行するスケデュール設定


更新チェックの記録



--- 2018/06/14 追記
LUAスクリプトの37行目で
ipv6 prefix 10 2408:210:XXXX:YYYY::/60 valid_lifetime=14400 preferred_lifetime=14400
のNVR500コマンドを生成している。この静的PrefixとIPv6 PPPoE接続のppから得たPrefix
ipv6 prefix 2 dhcp-prefix@pp2::/64

ipv6 lan1 rtadv send 2 10 o_flag=on
でRA(広告)したが、Lan1に接続された端末にIPv6アドレスが生成されない。。。。
RA(広告)するPrefixは、「2408:210:XXXX:YYYY::/64」とする必要がある。。

LUAスクリプトの37行目を
r,m=rt.command("ipv6 prefix 10 "..string.gsub(NgnPrefix,"([%a%d:]+)/%d+","%1/64").." preferred_lifetime="..preferred_lifetime.." valid_lifetime="..valid_lifetime)
に変更し、Prefixの「/60」マスクを「/64」で設定し、RA(広告)した。結果、Lan1側に接続された端末でIPv6アドレスが自動生成されるようになった。

--- 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スクリプの20行目から30行目を下記のように変更した
---------------------------------------------
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
-- DHCPv6 prefix
if vf then
for v in string.gmatch(lr,"prefix:%s([%a%d:/]+)") do NgnPrefix=v end
for v in string.gmatch(lr,"preferred lifetime:%s(%d+)") do preferred_lifetime=v end
for v in string.gmatch(lr,"valid lifetime:%s(%d+)") do valid_lifetime=v end
end
end
else
rt.syslog("info","[LUA] arg[0] "..m)
end
---------------------------------------------

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

コメントを投稿

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

NVR500」カテゴリの最新記事