$Date: 2026/01/06 19:19:23 $
株式会社 朝日ネットが提供する v6 コネクト を利用したインターネット接続の設定例です。
( ※ ) v6 コネクトは、株式会社 朝日ネットの登録商標 ( または商標 ) です。
| 変更前 | 変更後 |
|---|---|
| dns server pp 1 dns server dhcp lan2 dns server select 500000 dhcp lan2 any . dns server select 500001 pp 1 any . restrict pp 1 |
dns server pp 1 dns server dhcp lan2 dns server select 500000 dhcp lan2 aaaa . dns server select 500001 pp 1 any . restrict pp 1 |
ヤマハ RT シリーズでは、以下の機種およびファームウェアで、 v6 コネクトのサービスが動作可能です。
| 機種 | ファームウェア | |
|---|---|---|
| IPv4 over IPv6 接続 ( DS-Lite ) |
IPv4 over IPv6 接続 ( IPIP ) |
|
| RTX840 | すべてのリビジョン | すべてのリビジョン |
| RTX3510 | ||
| RTX1300 | ||
| RTX1220 | ||
| RTX830 | Rev.15.02.20 以降 | |
| NVR510 | Rev.15.01.21 以降 | |
| NVR700W | Rev.15.00.22 以降 | |
| RTX1210 | Rev.14.01.40 以降 | |
| RTX5000 | Rev.14.00.26 以降 | |
| RTX3500 | Rev.14.00.26 以降 | |
NWR100 の対応ファームウェアは以下を参照ください。
v6 コネクトのサービス利用下における IPv4 の VPN 接続は、以下の機種およびファームウェアで動作可能です。
| 機種 | ファームウェア | |||
|---|---|---|---|---|
| IPv4 over IPv6 接続 ( DS-Lite ) |
IPv4 over IPv6 接続 ( IPIP ) |
|||
| IPsec ( イニシエーター ) |
IPsec | L2TP/IPsec | L2TPv3/IPsec L2TPv3 |
|
| RTX840 | すべてのリビジョン | すべてのリビジョン | すべてのリビジョン | すべてのリビジョン |
| RTX3510 | ||||
| RTX1300 | ||||
| RTX1220 | Rev.15.04.03 以降 | Rev.15.04.03 以降 | ||
| RTX830 | Rev.15.02.03 以降 | Rev.15.02.03 以降 | Rev.15.02.20 以降 | Rev.15.02.20 以降 |
| NVR510 | - | - | Rev.15.01.21 以降 | - |
| NVR700W | Rev.15.00.14 以降 | Rev.15.00.14 以降 | Rev.15.00.22 以降 | Rev.15.00.22 以降 |
| RTX1210 | Rev.14.01.28 以降 | Rev.14.01.28 以降 | Rev.14.01.40 以降 | Rev.14.01.40 以降 |
| RTX5000 | Rev.14.00.32 以降 | Rev.14.00.32 以降 | Rev.14.00.32 以降 | Rev.14.00.32 以降 |
| RTX3500 | Rev.14.00.32 以降 | Rev.14.00.32 以降 | Rev.14.00.32 以降 | Rev.14.00.32 以降 |
v6 コネクトのサービス利用下における IPv4 の VPN 接続は、以下の VPN 接続の設定例を参考に、v6 コネクトのサービスと組み合わせてご利用ください。
( ※ ) DS-Lite は、IPIP トンネリング ( IPv4 over IPv6トンネル接続 ) を利用して行います。この時、ルーターは IPv4 パケットを IPv6 でカプセル化し、 IPv6 ネットワークに設置された AFTR ( Address Family Transition Router ) に IPv6 パケットを転送します。 AFTR にて、カプセル化された IPv4 パケットを IPv6 パケットから取り出し、 IP マスカレードによる変換を行い、 IPv4 インターネットへと IPv4 パケットを転送します。
| 光回線 | 契約 | WAN側の接続機器 | 確認事項 | 設定例 |
|---|---|---|---|---|
| フレッツ 光ネクスト | IPv4 over IPv6接続 ( DS-Lite ) | ONU | ひかり電話契約 なし | 1 |
| ひかり電話契約 あり | 2 | |||
| ホームゲートウェイ | - | 1 | ||
| IPv4 over IPv6接続 ( IPIP ) | ONU | ひかり電話契約 なし | 3 | |
| ひかり電話契約 あり | 4 | |||
| ホームゲートウェイ | - | 3 | ||
| フレッツ 光クロス | IPv4 over IPv6接続 ( DS-Lite ) | ONU | - | 2 |
| ホームゲートウェイ | - | 1 | ||
| IPv4 over IPv6接続 ( IPIP ) | ONU | - | 4 | |
| ホームゲートウェイ | - | 3 |
| LAN1 | IPv4 アドレス | 192.168.100.1/24 |
| IPv6 アドレス | ( RA で取得したプレフィックス )::1/64 | |
| LAN2 | IPv4 アドレス | なし |
| IPv6 アドレス | なし |
【 経路設定 】
ip route default gateway tunnel 1
【 LAN 設定 】
ip lan1 address 192.168.100.1/24
【 NGN との接続設定 】 ( ※ )
ngn type lan2 ntt
ipv6 prefix 1 ra-prefix@lan2::/64
ipv6 source address selection rule lifetime
ipv6 lan1 address ra-prefix@lan2::1/64
ipv6 lan1 rtadv send 1 o_flag=on
ipv6 lan1 dhcp service server
ipv6 lan2 dhcp service client ir=on
【 AFTR に対する IPIP の設定 】
tunnel select 1
tunnel encapsulation ipip
tunnel endpoint name ( AFTR の FQDN )
ip tunnel mtu 1460
tunnel enable 1
【 DHCP の設定 】
dhcp service server
dhcp server rfc2131 compliant except remain-silent
dhcp scope 1 192.168.100.2-192.168.100.191/24
【 DNS の設定 】
dns host lan1
dns service fallback on
dns server dhcp lan2
dns server select 500000 dhcp lan2 any .
【 IPv4 フィルター関連設定 】
tunnel select 1
ip tunnel secure filter in 200030 200039
ip tunnel secure filter out 200097 200098 200099 dynamic 200080 200082 200083 200084 200098 200099
tunnel enable 1
ip filter 200030 pass * 192.168.100.0/24 icmp * *
ip filter 200039 reject *
ip filter 200097 pass * * icmp * *
ip filter 200098 pass * * tcp * *
ip filter 200099 pass * * udp * *
ip filter dynamic 200080 * * ftp
ip filter dynamic 200082 * * www
ip filter dynamic 200083 * * smtp
ip filter dynamic 200084 * * pop3
ip filter dynamic 200098 * * tcp
ip filter dynamic 200099 * * udp
【 IPv6 フィルター関連設定 】
ipv6 lan2 secure filter in 200030 200031 200038 200039
ipv6 lan2 secure filter out 200099 dynamic 200080 200081 200082 200083 200084 200098 200099
ipv6 filter 200030 pass * * icmp6 * *
ipv6 filter 200031 pass * * 4
ipv6 filter 200038 pass * * udp * 546
ipv6 filter 200039 reject *
ipv6 filter 200099 pass * * * * *
ipv6 filter dynamic 200080 * * ftp
ipv6 filter dynamic 200081 * * domain
ipv6 filter dynamic 200082 * * www
ipv6 filter dynamic 200083 * * smtp
ipv6 filter dynamic 200084 * * pop3
ipv6 filter dynamic 200098 * * tcp
ipv6 filter dynamic 200099 * * udp
|
( ※) LAN1 の接続機器が IPv6 を使用せず IPv4 通信のみを行う場合、以下は設定しないでください。
・ipv6 prefix 1 ra-prefix@lan2::/64
・ipv6 lan1 rtadv send 1 o_flag=on
・ipv6 lan1 dhcp service server
| LAN1 | IPv4 アドレス | 192.168.100.1/24 |
| IPv6 アドレス | ( DHCPv6-PD で取得したプレフィックス )::1/64 | |
| LAN2 | IPv4 アドレス | なし |
| IPv6 アドレス | ( DHCPv6-PD で取得したプレフィックス )::( EUI-64 で生成されたインターフェース ID )/64 |
【 経路設定 】
ip route default gateway tunnel 1
【 LAN 設定 】
ip lan1 address 192.168.100.1/24
【 NGN との接続設定 】( ※ )
ngn type lan2 ntt
ipv6 route default gateway dhcp lan2
ipv6 prefix 1 dhcp-prefix@lan2::/64
ipv6 source address selection rule lifetime
ipv6 lan1 address dhcp-prefix@lan2::1/64
ipv6 lan1 rtadv send 1 o_flag=on
ipv6 lan1 dhcp service server
ipv6 lan2 address dhcp
ipv6 lan2 dhcp service client
【 AFTR に対する IPIP の設定 】
tunnel select 1
tunnel encapsulation ipip
tunnel endpoint name ( AFTR の FQDN )
ip tunnel mtu 1460
tunnel enable 1
【 DHCP の設定 】
dhcp service server
dhcp server rfc2131 compliant except remain-silent
dhcp scope 1 192.168.100.2-192.168.100.191/24
【 DNS の設定 】
dns host lan1
dns service fallback on
dns server dhcp lan2
dns server select 500000 dhcp lan2 any .
【 IPv4 フィルター関連設定 】
tunnel select 1
ip tunnel secure filter in 200030 200039
ip tunnel secure filter out 200097 200098 200099 dynamic 200080 200082 200083 200084 200098 200099
tunnel enable1
ip filter 200030 pass * 192.168.100.0/24 icmp * *
ip filter 200039 reject *
ip filter 200097 pass * * icmp * *
ip filter 200098 pass * * tcp * *
ip filter 200099 pass * * udp * *
ip filter dynamic 200080 * * ftp
ip filter dynamic 200082 * * www
ip filter dynamic 200083 * * smtp
ip filter dynamic 200084 * * pop3
ip filter dynamic 200098 * * tcp
ip filter dynamic 200099 * * udp
【 IPv6 フィルター関連設定 】
ipv6 lan2 secure filter in 200030 200031 200038 200039
ipv6 lan2 secure filter out 200099 dynamic 200080 200081 200082 200083 200084 200098 200099
ipv6 filter 200030 pass * * icmp6 * *
ipv6 filter 200031 pass * * 4
ipv6 filter 200038 pass * * udp * 546
ipv6 filter 200039 reject *
ipv6 filter 200099 pass * * * * *
ipv6 filter dynamic 200080 * * ftp
ipv6 filter dynamic 200081 * * domain
ipv6 filter dynamic 200082 * * www
ipv6 filter dynamic 200083 * * smtp
ipv6 filter dynamic 200084 * * pop3
ipv6 filter dynamic 200098 * * tcp
ipv6 filter dynamic 200099 * * udp
|
( ※ ) LAN1 の接続機器が IPv6 を使用せず IPv4 通信のみを行う場合、以下は設定しないでください。
・ipv6 prefix 1 dhcp-prefix@lan2::/64
・ipv6 lan1 rtadv send 1 o_flag=on
・ipv6 lan1 dhcp service server
| LAN1 | IPv4 アドレス | 192.168.100.1/24 |
| IPv6 アドレス | ( RA で取得したプレフィックス )::( インターフェース ID )/64 | |
| LAN2 | IPv4 アドレス | なし |
| IPv6 アドレス | なし |
| UPD_SV | アップデートサーバーの URL |
| KEY | 認証キー |
| PASS | 認証パスワード |
【 経路設定 】
ip route default gateway tunnel 1
【 LAN 設定 】
ip lan1 address 192.168.100.1/24
【 NGN との接続設定 】( ※ )
ngn type lan2 ntt
ipv6 prefix 1 ra-prefix@lan2::/64
ipv6 source address selection rule lifetime
ipv6 lan1 address ra-prefix@lan2::( インターフェース ID )/64
ipv6 lan1 rtadv send 1 o_flag=on
ipv6 lan1 dhcp service server
ipv6 lan2 dhcp service client ir=on
【 BR に対する IPIP の設定 】
tunnel select 1
tunnel encapsulation ipip
tunnel endpoint address ( 固定 IP トンネル終端装置の IPv6 アドレス )
ip tunnel mtu 1460
ip tunnel nat descriptor 1
tunnel enable 1
【 NAT 設定 】
nat descriptor type 1 masquerade
nat descriptor address outer 1 ( 固定 IPv4 アドレス )
【 DHCP の設定 】
dhcp service server
dhcp server rfc2131 compliant except remain-silent
dhcp scope 1 192.168.100.2-192.168.100.191/24
【 DNS の設定 】
dns host lan1
dns service fallback on
dns server dhcp lan2
dns server select 500000 dhcp lan2 any .
【 IPv4 フィルター関連設定 】
tunnel select 1
ip tunnel secure filter in 200030 200039
ip tunnel secure filter out 200097 200098 200099 dynamic 200080 200082 200083 200084 200098 200099
tunnel enable 1
ip filter 200030 pass * 192.168.100.0/24 icmp * *
ip filter 200039 reject *
ip filter 200097 pass * * icmp * *
ip filter 200098 pass * * tcp * *
ip filter 200099 pass * * udp * *
ip filter dynamic 200080 * * ftp
ip filter dynamic 200082 * * www
ip filter dynamic 200083 * * smtp
ip filter dynamic 200084 * * pop3
ip filter dynamic 200098 * * tcp
ip filter dynamic 200099 * * udp
【 IPv6 フィルター関連設定 】
ipv6 lan2 secure filter in 200030 200031 200038 200039
ipv6 lan2 secure filter out 200099 dynamic 200080 200081 200082 200083 200084 200098 200099
ipv6 filter 200030 pass * * icmp6 * *
ipv6 filter 200031 pass * * 4
ipv6 filter 200038 pass * * udp * 546
ipv6 filter 200039 reject *
ipv6 filter 200099 pass * * * * *
ipv6 filter dynamic 200080 * * ftp
ipv6 filter dynamic 200081 * * domain
ipv6 filter dynamic 200082 * * www
ipv6 filter dynamic 200083 * * smtp
ipv6 filter dynamic 200084 * * pop3
ipv6 filter dynamic 200098 * * tcp
ipv6 filter dynamic 200099 * * udp
【 NTP の設定 】
schedule at 1 */* 03:00 * ntpdate ntp.nict.jp
【 IPv6 アドレスの通知設定 】
ipv6 lan1 prefix change log on
lan linkup send-wait-time lan2 5
schedule at 2 startup * lua emfs:/v6connect_ra.lua
embedded file v6connect_ra.lua <<EOF
--[[
■ v6 コネクト IPv6 アドレス通知用 サンプルスクリプト
Ver. 1.00
2021.05.26 ヤマハ株式会社
本スクリプトは、v6 コネクト の IPv4 over IPv6接続 ( IPIP ) の RA プロキシ において
指定したインターフェースに新しい IPv6 プレフィックスが付与されたとき、
アップデートサーバーに IPv6 アドレスの更新通知を行う Lua スクリプト
のサンプルです。
新しい IPv6 プレフィックスが付与されたことは、ルーターの SYSLOG を監視し、以下
のログが出力された場合に検知しています。
( IPv6 アドレスが LAN1 に設定されている場合の例 )
Add IPv6 prefix xxxx:xxxx:xxxx:xxxx::/xx (Lifetime: xxxxxx) via LAN1 by RA
以下のコマンドが設定されていないと、上記ログは出力されないため、
必ず設定するようにしてください。
ipv6 lan1 prefix change log on
[ 注意事項 ]
・本スクリプトは、 schedule at コマンドでルーターの起動時に実行されるようにし
てください。
・スクリプト中の「 設定値 」の値は、ご使用の環境に応じて変更した上でご使用く
ださい。
[ 更新履歴 ]
2021.05.26 Ver.1.00 初版作成
]]
----------------------------------------
-- 設定値 --
----------------------------------------
-- アップデートサーバーの URL
UPD_SV = "アップデートサーバーの URL"
-- 認証キー
KEY = "認証キー"
-- 認証パスワード
PASS = "認証パスワード"
-- IPv6 アドレスを設定するインターフェース名
IPv6_IF = "LAN1"
-- WAN インターフェース名
WAN_IF = "LAN2"
-- IPv6 プレフィックスが追加されたときの SYSLOG パターン
LOG_PTN = "Add%s+IPv6%s+prefix.+%(Lifetime%:%s+%d+%)%s+via%s+" .. IPv6_IF .. "%s+by"
-- ステートレス DHCPv6 で DNS 情報を取得するコマンド
DHCPv6_IR_CMD = "ipv6 " .. string.lower(WAN_IF) .. " dhcp service client ir=on"
-- リトライの間隔 ( s )
RETRY_INTVL = 10
-- リトライ回数
RETRY_NUM = 10
-- SYSLOG のレベル
LOG_LEVEL = "info"
-- SYSLOG のプレフィックス
LOG_PFX = "[v6 connect]"
-- 通知失敗時のメッセージ
FAIL_MSG = "Notification to DDNS failed. (Retry: %d times remaining)"
-----------------------------------------
-- SYSLOG を出力する関数 --
-----------------------------------------
function logger(msg)
rt.syslog(LOG_LEVEL, string.format("%s %s", LOG_PFX, msg))
end
-----------------------------------------
-- HTTP リクエストをする関数 --
-----------------------------------------
function http_request()
local count, log, result
local req_t = {}
local res_t
-- HTTP リクエストの準備
req_t.url = string.format("%s?key=%s&pass=%s", UPD_SV, KEY, PASS)
req_t.method = "GET"
-- リトライ回数をリセット
count = RETRY_NUM
while true do
-- HTTP リクエストを実行
res_t = rt.httprequest(req_t)
if res_t.rtn1 then
-- リクエストに成功
logger("Execute notification to DDNS.")
-- アップデートの結果をログに出力する
if res_t.code == 200 then
result = "SUCCESS"
else
result = "FAILURE"
end
log = string.format("Notification result is %s.(code=%d, body=%s)", result, res_t.code, res_t.body)
logger(log)
-- ループを抜け、 SYSLOG の監視を再開する
break
else
-- リクエストの応答がない場合、 DNS 情報が取得できていない可能性があるため
-- DNS情報を再取得する
rt.command(DHCPv6_IR_CMD)
end
-- リクエストに失敗
count = count - 1
if count > 0 then
-- (RETRY_INTVL)秒後、リトライ
logger(string.format(FAIL_MSG, count))
rt.sleep(RETRY_INTVL)
else
-- リトライ上限を超えたので諦め、 SYSLOG の監視を再開する
logger("Notification to DDNS failed.")
break
end
end
end
-- 起動時に HTTP リクエストを実行する
http_request()
--------------------
-- SYSLOG 監視
while true do
-- SYSLOG を監視する
rtn = rt.syslogwatch(LOG_PTN)
-- パターンにマッチした
if rtn then
http_request()
end
end
EOF
|
( ※ ) LAN1 の接続機器が IPv6 を使用せず IPv4 通信のみを行う場合、以下は設定しないでください。
・ipv6 prefix 1 ra-prefix@lan2::/64
・ipv6 lan1 rtadv send 1 o_flag=on
・ipv6 lan1 dhcp service server
| LAN1 | IPv4 アドレス | 192.168.100.1/24 |
| IPv6 アドレス | ( DHCPv6-PD で取得したプレフィックス )::( インターフェース ID )/64 | |
| LAN2 | IPv4 アドレス | なし |
| IPv6 アドレス | ( DHCPv6-PD で取得したプレフィックス )::/64 |
| UPD_SV | アップデートサーバーの URL |
| KEY | 認証キー |
| PASS | 認証パスワード |
【 経路設定 】
ip route default gateway tunnel 1
【 LAN 設定 】
ip lan1 address 192.168.100.1/24
【 NGN との接続設定 】( ※ )
ngn type lan2 ntt
ipv6 route default gateway dhcp lan2
ipv6 prefix 1 dhcp-prefix@lan2::/64
ipv6 source address selection rule lifetime
ipv6 lan1 address dhcp-prefix@lan2::( インターフェース ID )/64
ipv6 lan1 rtadv send 1 o_flag=on
ipv6 lan1 dhcp service server
ipv6 lan2 address dhcp-prefix@lan2::/64
ipv6 lan2 dhcp service client
【 BR に対する IPIP の設定 】
tunnel select 1
tunnel encapsulation ipip
tunnel endpoint address ( 固定 IP トンネル終端装置の IPv6 アドレス )
ip tunnel mtu 1460
ip tunnel nat descriptor 1
tunnel enable 1
【 NAT設定 】
nat descriptor type 1 masquerade
nat descriptor address outer 1 ( 固定 IPv4 アドレス )
【 DHCP の設定 】
dhcp service server
dhcp server rfc2131 compliant except remain-silent
dhcp scope 1 192.168.100.2-192.168.100.191/24
【 DNS の設定 】
dns host lan1
dns service fallback on
dns server dhcp lan2
dns server select 500000 dhcp lan2 any .
【 IPv4 フィルター関連設定 】
tunnel select 1
ip tunnel secure filter in 200030 200039
ip tunnel secure filter out 200097 200098 200099 dynamic 200080 200082 200083 200084 200098 200099
tunnel enable 1
ip filter 200030 pass * 192.168.100.0/24 icmp * *
ip filter 200039 reject *
ip filter 200097 pass * * icmp * *
ip filter 200098 pass * * tcp * *
ip filter 200099 pass * * udp * *
ip filter dynamic 200080 * * ftp
ip filter dynamic 200082 * * www
ip filter dynamic 200083 * * smtp
ip filter dynamic 200084 * * pop3
ip filter dynamic 200098 * * tcp
ip filter dynamic 200099 * * udp
【 IPv6 フィルター関連設定 】
ipv6 lan2 secure filter in 200030 200031 200038 200039
ipv6 lan2 secure filter out 200099 dynamic 200080 200081 200082 200083 200084 200098 200099
ipv6 filter 200030 pass * * icmp6 * *
ipv6 filter 200031 pass * * 4
ipv6 filter 200038 pass * * udp * 546
ipv6 filter 200039 reject *
ipv6 filter 200099 pass * * * * *
ipv6 filter dynamic 200080 * * ftp
ipv6 filter dynamic 200081 * * domain
ipv6 filter dynamic 200082 * * www
ipv6 filter dynamic 200083 * * smtp
ipv6 filter dynamic 200084 * * pop3
ipv6 filter dynamic 200098 * * tcp
ipv6 filter dynamic 200099 * * udp
【 NTP の設定 】
schedule at 1 */* 03:00 * ntpdate ntp.nict.jp
【 IPv6 アドレスの通知設定 】
ipv6 lan1 prefix change log on
lan linkup send-wait-time lan2 5
schedule at 2 startup * lua emfs:/v6connect_pd.lua
embedded file v6connect_pd.lua <<EOF
--[[
■ v6 コネクト IPv6 アドレス通知用 サンプルスクリプト
Ver. 1.00
2021.05.26 ヤマハ株式会社
本スクリプトは、v6 コネクト の IPv4 over IPv6接続 ( IPIP ) の DHCPv6-PD において
指定したインターフェースに新しい IPv6 プレフィックスが付与されたとき、
アップデートサーバーに IPv 6アドレスの更新通知を行う Lua スクリプト
のサンプルです。
新しい IPv6 プレフィックスが付与されたことは、ルーターの SYSLOG を監視し、以下
のログが出力された場合に検知しています。
( IPv6 アドレスが LAN1 に設定されている場合の例 )
Add IPv6 prefix xxxx:xxxx:xxxx:xxxx::/xx (Lifetime: xxxxxx) via LAN1 by DHCPv6
以下のコマンドが設定されていないと、上記ログは出力されないため、
必ず設定するようにしてください。
ipv6 lan1 prefix change log on
[注意事項]
・本スクリプトは、 schedule at コマンドでルーターの起動時に実行されるようにし
てください。
・スクリプト中の「設定値」の値は、ご使用の環境に応じて変更した上でご使用く
ださい。
[更新履歴]
2021.05.26 Ver.1.00 初版作成
]]
----------------------------------------
-- 設定値 --
----------------------------------------
-- アップデートサーバーの URL
UPD_SV = "アップデートサーバーの URL"
-- 認証キー
KEY = "認証キー"
-- 認証パスワード
PASS = "認証パスワード"
-- IPv6 アドレスを設定するインターフェース名
IPv6_IF = "LAN1"
-- IPv6 プレフィックスが追加されたときの SYSLOG パターン
LOG_PTN = "Add%s+IPv6%s+prefix.+%(Lifetime%:%s+%d+%)%s+via%s+" .. IPv6_IF .. "%s+by"
-- リトライの間隔 ( s )
RETRY_INTVL = 10
-- リトライ回数
RETRY_NUM = 10
-- SYSLOG のレベル
LOG_LEVEL = "info"
-- SYSLOG のプレフィックス
LOG_PFX = "[v6 connect]"
-- 通知失敗時のメッセージ
FAIL_MSG = "Notification to DDNS failed. (Retry: %d times remaining)"
-----------------------------------------
-- SYSLOG を出力する関数 --
-----------------------------------------
function logger(msg)
rt.syslog(LOG_LEVEL, string.format("%s %s", LOG_PFX, msg))
end
-----------------------------------------
-- HTTP リクエストをする関数 --
-----------------------------------------
function http_request()
local count, log, result
local req_t = {}
local res_t
-- HTTP リクエストの準備
req_t.url = string.format("%s?key=%s&pass=%s", UPD_SV, KEY, PASS)
req_t.method = "GET"
-- リトライ回数をリセット
count = RETRY_NUM
while true do
-- HTTP リクエストを実行
res_t = rt.httprequest(req_t)
if res_t.rtn1 then
-- リクエストに成功
logger("Execute notification to DDNS.")
-- アップデートの結果をログに出力する
if res_t.code == 200 then
result = "SUCCESS"
else
result = "FAILURE"
end
log = string.format("Notification result is %s.(code=%d, body=%s)", result, res_t.code, res_t.body)
logger(log)
-- ループを抜け、 SYSLOG の監視を再開する
break
end
-- リクエストに失敗
count = count - 1
if count > 0 then
-- (RETRY_INTVL)秒後、リトライ
logger(string.format(FAIL_MSG, count))
rt.sleep(RETRY_INTVL)
else
-- リトライ上限を超えたので諦め、 SYSLOG の監視を再開する
logger("Notification to DDNS failed.")
break
end
end
end
-- 起動時に HTTP リクエストを実行する
http_request()
--------------------
-- SYSLOG 監視
while true do
-- SYSLOG を監視する
rtn = rt.syslogwatch(LOG_PTN)
-- パターンにマッチした
if rtn then
http_request()
end
end
EOF
|
(※) LAN1 の接続機器が IPv6 を使用せず IPv4 通信のみを行う場合、以下は設定しないでください。
・ipv6 prefix 1 dhcp-prefix@lan2::/64
・ipv6 lan1 rtadv send 1 o_flag=on
・ipv6 lan1 dhcp service server
一部の機種では、HB46PP により、v6 コネクトを利用したインターネット接続ができます。
HB46PP では IPv4 over IPv6 トンネル接続が自動的に行われるため、v6 コネクト固有の Config 設定を不要とし、容易に設定ができます。
ご利用の際は、 IPv6 マイグレーション技術の国内標準プロビジョニング方式対応機能 の設定例をご利用ください。
HB46PP による v6 コネクト利用下における注意事項は、本技術資料の 注意事項 と同様です。