「IPv6 PPPoE」インターネット接続と「ひかり電話」「NGN」サービス情報サイト接続を同時に接続するには、「NGN」経路情報取得(2.5.3.1 経路情報提供サーバ)が必要になる。
光ネクストの経路情報提供サービスとPR-S300SEで確認したがリクエストヘッダーの内容により情報取得に失敗する。
NVR500のLUAで経路情報を取得するため確認してみた。
ヤマハのIPv6対応も確認してみた。これによるとLUAは対応していないが、httpライブラリは対応しているようだ。
---------------
req_table = {
url = "http://route-info.flets-east.jp:49881/v6/route-info",
method = "GET"
}
resp_table = rt.httprequest(req_table)
print("Result - " .. testing(req_table.url) .. "¥r¥nrtn1-> " .. tostring(resp_table.rtn1) .. "¥r¥nrtn2-> " .. tostring(resp_table.rtn2) .. "¥r¥nerr-> " .. tostring(resp_table.err) .. "¥r¥ncode-> " .. tostring(resp_table.code) .. "¥r¥nheader-> " .. tostring(resp_table.header) .. "¥r¥nbody-> " .. tostring(resp_table.body) )
---------------
NVR500上でLUAスクリプトを実行してみると
![](https://blogimg.goo.ne.jp/user_image/2a/16/f32eaaaf168a56d9c5d7c254a3de6ced.png)
幸いなことにheaderでのトラブルは無いようようだ。
NVR500のLUAによるhttp requestのheaderに何がセットされるかWireSharkでキャプチャしてみた
![](https://blogimg.goo.ne.jp/user_image/1c/e5/e4880f92d841acafe88f2eab4c10a8cf.png)
User-Agentがセットされていても問題無いようだ。
取得したNGNのIPv6経路情報を「rt.command()」で「ipv6 route 経路情報 gateway PR-S300SEのIPv6アドレス」を順次設定するLUAスクリプトを作成し、scheduleで毎週1回(PR-S300SEが毎週1回実行している)実行する予定。
NGN IPv6経路情報をPCで取得する
Macbook pro( macOS )
curl -H 'Host:route-info.flets-east.jp:49881' -H 'Accept:*/*' -H 'Connection:close' --http1.1 http://route-info.flets-east.jp:49881/v6/route-info
![](https://blogimg.goo.ne.jp/user_image/29/4e/c16f6d0ae6a894f5bffec870fc4e9bc5.png)
![](https://blogimg.goo.ne.jp/user_image/32/88/c3b7719e0040d4c42e6d8ab4e4f54407.png)
Windows(powershell)
Invoke-RestMethod -Uri http://route-info.flets-east.jp:49881/v6/route-info -Method Get -Headers @{"Host"="route-info.flets-east.jp:49881"; "Accept"="*/*"} -DisableKeepAlive
「Connection:close」をHeadersから指定して実行すると設定出来ないエラーが発生する。
「DisableKeepAlive」で指定するようだが、、、
![](https://blogimg.goo.ne.jp/user_image/73/f2/57c5453bbde060dbe78600c32753b41b.png)
「Connection:Close」と設定され、「Bad Request」でエラーになる。
Windows(WindowsSHell)
「光ネクストの経路情報提供サービスとPR-S300SE」も再度パケットを確認してみる
---------------
Set oHttp=Wscript.CreateObject("MSXML2.XMLHTTP")
Call oHttp.Open("GET","http://route-info.flets-east.jp:49881/v6/route-info",False)
Call oHttp.setRequestHeader("Host","route-info.flets-east.jp:49881")
Call oHttp.setRequestHeader("Accept","*/*")
Call oHttp.setRequestHeader("Connection","close")
Call oHttp.send()
WScript.Echo(oHttp.status)
WScript.Echo(oHttp.responseText)
---------------
PowerShellと同様にRequestHeaderで「Connection:Close」となってしまう。指定した通りに設定してほしい。。。
光ネクストの経路情報提供サービスとPR-S300SEで確認したがリクエストヘッダーの内容により情報取得に失敗する。
NVR500のLUAで経路情報を取得するため確認してみた。
ヤマハのIPv6対応も確認してみた。これによるとLUAは対応していないが、httpライブラリは対応しているようだ。
---------------
req_table = {
url = "http://route-info.flets-east.jp:49881/v6/route-info",
method = "GET"
}
resp_table = rt.httprequest(req_table)
print("Result - " .. testing(req_table.url) .. "¥r¥nrtn1-> " .. tostring(resp_table.rtn1) .. "¥r¥nrtn2-> " .. tostring(resp_table.rtn2) .. "¥r¥nerr-> " .. tostring(resp_table.err) .. "¥r¥ncode-> " .. tostring(resp_table.code) .. "¥r¥nheader-> " .. tostring(resp_table.header) .. "¥r¥nbody-> " .. tostring(resp_table.body) )
---------------
NVR500上でLUAスクリプトを実行してみると
![](https://blogimg.goo.ne.jp/user_image/2a/16/f32eaaaf168a56d9c5d7c254a3de6ced.png)
幸いなことにheaderでのトラブルは無いようようだ。
NVR500のLUAによるhttp requestのheaderに何がセットされるかWireSharkでキャプチャしてみた
![](https://blogimg.goo.ne.jp/user_image/1c/e5/e4880f92d841acafe88f2eab4c10a8cf.png)
User-Agentがセットされていても問題無いようだ。
取得したNGNのIPv6経路情報を「rt.command()」で「ipv6 route 経路情報 gateway PR-S300SEのIPv6アドレス」を順次設定するLUAスクリプトを作成し、scheduleで毎週1回(PR-S300SEが毎週1回実行している)実行する予定。
NGN IPv6経路情報をPCで取得する
Macbook pro( macOS )
curl -H 'Host:route-info.flets-east.jp:49881' -H 'Accept:*/*' -H 'Connection:close' --http1.1 http://route-info.flets-east.jp:49881/v6/route-info
![](https://blogimg.goo.ne.jp/user_image/29/4e/c16f6d0ae6a894f5bffec870fc4e9bc5.png)
![](https://blogimg.goo.ne.jp/user_image/32/88/c3b7719e0040d4c42e6d8ab4e4f54407.png)
Windows(powershell)
Invoke-RestMethod -Uri http://route-info.flets-east.jp:49881/v6/route-info -Method Get -Headers @{"Host"="route-info.flets-east.jp:49881"; "Accept"="*/*"} -DisableKeepAlive
「Connection:close」をHeadersから指定して実行すると設定出来ないエラーが発生する。
「DisableKeepAlive」で指定するようだが、、、
![](https://blogimg.goo.ne.jp/user_image/73/f2/57c5453bbde060dbe78600c32753b41b.png)
「Connection:Close」と設定され、「Bad Request」でエラーになる。
Windows(WindowsSHell)
「光ネクストの経路情報提供サービスとPR-S300SE」も再度パケットを確認してみる
---------------
Set oHttp=Wscript.CreateObject("MSXML2.XMLHTTP")
Call oHttp.Open("GET","http://route-info.flets-east.jp:49881/v6/route-info",False)
Call oHttp.setRequestHeader("Host","route-info.flets-east.jp:49881")
Call oHttp.setRequestHeader("Accept","*/*")
Call oHttp.setRequestHeader("Connection","close")
Call oHttp.send()
WScript.Echo(oHttp.status)
WScript.Echo(oHttp.responseText)
---------------
PowerShellと同様にRequestHeaderで「Connection:Close」となってしまう。指定した通りに設定してほしい。。。
![](https://blogimg.goo.ne.jp/user_image/56/e0/3d075f976d58ee3cc3966d11010d1485.png)