旧機種のRTX1200でも接続できることを確認していますが不安定なようですので試験にとどめておき本番にはRTX1300/RTX1220/RTX1210/RTX830/NVR510の利用をおすすめします。RTX810やNVR500も同様かと思います。RTX1200など旧機種の多くは名前FQDNでのIPIPトンネリングには対応していませんので、IPアドレスでのIPIPトンネリングで設定します。RTX1200にはGUIでのIPoE系の接続設定ウィザードはありませんので、すべてコンソールから行います。この例ではRTX830で作成したCFGを一部修正して流し込みます。
また最近のYAMAHAは、CFGファイルにluaスクリプトを埋め込みEMFS(メモリファイルシステム)上で実行できるのですが、旧モデルのRTX1200/RTX810/NVR500はEMFSがありませんので、CFGファイルとは別にPCで作成したスクリプトをUSBメモリやTFTPクライアントソフト経由でルータ本体のファイルシステムにコピーして実行します。
回線にクロスパスのIPv6を開通させてください。
回線IDとアクセスキーを用意して、ルータの型番とともにびわこインターネットにお申し込みください。回線IDとアクセスキーは、フレッツ光の開通時に封筒でご自宅に届いている書類をご覧ください。 お手元に見当たらない場合はNTT116番にお電話して回線IDとアクセスキーの再送を依頼します。(手元に書類がない場合でも回線お名義と設置場所ご住所から開通することもできます。)
弊社で登録処理をすると、回線でクロスパスのIPv6が開通します。同時に弊社から固定IP接続の設定情報をメールでお送りします。
ONUにRTX1200のLAN2ポートを接続します。
*ひかり電話契約があるときはホームゲートウェイのLANポートに、RTXのLAN2ポートを接続してください。
シリアルケーブルかtelnetでログインし、設定を流し込みます
契約者には次の情報をお送りしています。
TUNNEL-DESTINATION-ADDRESS トンネル宛先アドレス
IP-ADDRESS 割り当てられた固定IP
FQDN 契約者のダイナミックDNSのFQDN。httpsから入力します。
DDNS-ID 契約者のダイナミックDNSの認証ID(たいていFQDNと同じです)
DDNS-PASSWORD 契約者のダイナミックDNSの認証パスワード
Basic-ID ダイナミックDNSのBASIC認証ID
Basic-PASS ダイナミックDNSのBASIC認証パスワード
UPDATE-SERVER-URL ダイナミックDNSサービスのサーバアドレス
TeraTermなどでtelnetログインするか、シリアルケーブルでログインして、上記8つを置き換えてコピペします。
NTT西日本エリア用です。NTT東日本エリアの場合はコメント部分を修正してください。
この設定はひかり電話の契約がなくONUにヤマハルータを直結する場合と、ひかり電話の契約がありホームゲートウェイ配下にヤマハルータを接続する場合です。
console character ascii
console columns 200
ip route default gateway tunnel 1
ipv6 prefix 1 ra-prefix@lan2::/64
ip lan1 address 192.168.100.1/24
ipv6 lan1 address ra-prefix@lan2::1/64
ipv6 lan1 prefix change log on
ipv6 lan1 rtadv send 1 o_flag=on
ipv6 lan1 dhcp service server
lan linkup send-wait-time lan2 5
ipv6 lan2 secure filter in 101000 101001 101002 101003
ipv6 lan2 secure filter out 101099 dynamic 101080 101081 101082 101083 101084 101085 101098 101099
ipv6 lan2 dhcp service client ir=on
tunnel select 1
tunnel encapsulation ipip
tunnel endpoint remote address TUNNEL-DESTINATION-ADDRESS
ip tunnel mtu 1460
ip tunnel secure filter in 400003 400020 400021 400022 400023 400024 400025 400030 400032
ip tunnel secure filter out 400013 400020 400021 400022 400023 400024 400025 400026 400027 400099 dynamic 400080 400081 400082 400083 400084 400085 400098 400099
ip tunnel nat descriptor 20000
ip tunnel tcp mss limit auto
tunnel enable 1
ip filter 400000 reject 10.0.0.0/8 * * * *
ip filter 400001 reject 172.16.0.0/12 * * * *
ip filter 400002 reject 192.168.0.0/16 * * * *
ip filter 400003 reject 192.168.100.0/24 * * * *
ip filter 400010 reject * 10.0.0.0/8 * * *
ip filter 400011 reject * 172.16.0.0/12 * * *
ip filter 400012 reject * 192.168.0.0/16 * * *
ip filter 400013 reject * 192.168.100.0/24 * * *
ip filter 400020 reject * * udp,tcp 135 *
ip filter 400021 reject * * udp,tcp * 135
ip filter 400022 reject * * udp,tcp netbios_ns-netbios_ssn *
ip filter 400023 reject * * udp,tcp * netbios_ns-netbios_ssn
ip filter 400024 reject * * udp,tcp 445 *
ip filter 400025 reject * * udp,tcp * 445
ip filter 400026 restrict * * tcpfin * www,21,nntp
ip filter 400027 restrict * * tcprst * www,21,nntp
ip filter 400030 pass * 192.168.100.0/24 icmp * *
ip filter 400031 pass * 192.168.100.0/24 established * *
ip filter 400032 pass * 192.168.100.0/24 tcp * ident
ip filter 400033 pass * 192.168.100.0/24 tcp ftpdata *
ip filter 400034 pass * 192.168.100.0/24 tcp,udp * domain
ip filter 400035 pass * 192.168.100.0/24 udp domain *
ip filter 400036 pass * 192.168.100.0/24 udp * ntp
ip filter 400037 pass * 192.168.100.0/24 udp ntp *
ip filter 400099 pass * * * * *
ip filter 500000 restrict * * * * *
ip filter dynamic 400080 * * ftp
ip filter dynamic 400081 * * domain
ip filter dynamic 400082 * * www
ip filter dynamic 400083 * * smtp
ip filter dynamic 400084 * * pop3
ip filter dynamic 400085 * * submission
ip filter dynamic 400098 * * tcp
ip filter dynamic 400099 * * udp
nat descriptor type 20000 masquerade
nat descriptor address outer 20000 IP-ADDRESS
ipv6 filter 101000 pass * * icmp6 * *
ipv6 filter 101001 pass * * tcp * ident
ipv6 filter 101002 pass * * udp * 546
ipv6 filter 101003 pass * * 4
ipv6 filter 101099 pass * * * * *
ipv6 filter dynamic 101080 * * ftp
ipv6 filter dynamic 101081 * * domain
ipv6 filter dynamic 101082 * * www
ipv6 filter dynamic 101083 * * smtp
ipv6 filter dynamic 101084 * * pop3
ipv6 filter dynamic 101085 * * submission
ipv6 filter dynamic 101098 * * tcp
ipv6 filter dynamic 101099 * * udp
telnetd host lan
dhcp service server
dhcp server rfc2131 compliant except remain-silent
dhcp scope 1 192.168.100.2-192.168.100.191/24
dhcp scope option 1 dns=8.8.8.8,8.8.4.4
dns host lan1
dns service fallback on
#NTT-WEST
dns server 2001:a7ff:5f01::a 2001:a7ff:5f01:1::a
#NTT-EAST
#dns server 2404:1a8:7f01:a::3 2404:1a8:7f01:b::3
dns private address spoof on
schedule at 1 */* *:0,15,30,45 * lua /xpass-kotei-lan1.lua
schedule at 2 */* 00:13 * ntpdate ntp.nict.jp
statistics traffic on
※RTX830のものから次の箇所を修正しています。
修正点1 RTX830でconsole character en.ascii になっていた箇所を console character ascii に変更。
修正点2 必須ではありませんがクライアントにはGoogleDNSを使うようにDHCPサーバを構成します。旧機種RTX810/RTX1200のDNSリカーシブサーバ機能は最近のEDNS0に対応しておらず、ヤマハルータにEDNS0で問い合わせると応答を得られないので、dhcp scope option 1 dns=8.8.8.8,8.8.4.4としてGoogleDNSを使うように案内します。この設定が無いとRTX810/RTX1200ではAlexaやGoogleHomeなどはエラーが出ます。
修正点3 NTT東西のDNSサーバIPアドレスを直接指定します。なおここにIPv4のGoogle DNSを指定してはいけません。固定IPを取得するまではGoogle DNSに到達できないためです。
NTT西日本エリア
dns server 2001:a7ff:5f01::a 2001:a7ff:5f01:1::a
NTT東日本エリア
dns server 2404:1a8:7f01:a::3 2404:1a8:7f01:b::3
PCで次の内容を xpass-kotei-lan1.lua というファイル名で作成します。
UPD_SV = "UPDATE-SERVER-URL"
FQDN = "FQDN"
DPASS = "DDNS-PASSWORD"
DUSER = "DDNS-ID"
WAN_IF = "LAN1"
LOG_LEVEL = "info"
LOG_PFX = "[xpass]"
FAIL_MSG = "Failed to notify IPv6 address to the update server. (remaining retry: %d time(s))"
function logger(msg)
rt.syslog(LOG_LEVEL, string.format("%s %s", LOG_PFX, msg))
end
function get_ipv6_adr()
local ipv6adr, s0, s1, e, rtn, str
rtn,str=rt.command("show ipv6 address " .. WAN_IF)
s0,s1=str:find("global%s+",0)
s2=str:find("%x+",s1)
e=str:find("%/",s2)
ipv6adr=str:sub(s2,e-1)
return ipv6adr
end
local rtn, count, log, result, adr1, err, str
adr1 = get_ipv6_adr()
local req_t = {}
local res_t
req_t.url = string.format("%s?d=%s&p=%s&a=%s&u=%s", UPD_SV, FQDN, DPASS, adr1, DUSER)
req_t.method = "GET"
req_t.auth_type = "BASIC"
req_t.auth_name = "Basic-ID"
req_t.auth_pass = "Basic-PASS"
res_t = rt.httprequest(req_t)
if res_t.rtn1 then
logger("Notified IPv6 address to the update server.")
if res_t.code == 200 then
result = "Succeeded"
else
result = "Failed"
end
log = string.format("%s to update IPv6 address. (code=%d, body=%s)", result, res_t.code, res_t.body)
logger(log)
end
luaスクリプトファイルをPCからルータにコピーし実行します
エラー無く実行できれば、10分ほどで開通します。コピーはUSBかtftpクライアントどちらかを使います。
luaスクリプトとコピーの仕方についてはこちら
https://network.yamaha.com/setting/router_firewall/monitor/lua_script/manual
USBメモリからルータにコピーする場合
USBメモリのファイルを確認
# show file list usb1:/
コピー
# copy usb1:/xpass-kotei-lan1.lua /xpass-kotei-lan1.lua
tftpクライアントソフトでルータにコピーする場合
ヤマハでPCのIPを指定します
# tftp host 192.168.100.100
PCのtftpクライアントソフトで転送コピーを実行します
(その際ルータのAdministratorパスワードが必要です。パスワードが「adminpass」の場合)
tftp 192.168.100.1
tftp> put xpass-kotei-lan1.lua /xpass-kotei-lan1.lua/adminpass
確認と実行
# show filelist /
2022/01/01 22:38:02 1359 xpass-kotei-lan1.lua
luaスクリプト手動実行
# lua /xpass-kotei-lan1.lua
luaスクリプト実行結果確認
# show status lua
# show status lua running
ログ確認
# show log revserse
luaスクリプト停止
# terminate lua all
インタフェースへのIPv6アドレス割当確認
# show ipv6 address
回線から受け取ったIPv6のDNSなどの確認
# show status ipv6 dhcp
疎通確認 IPv6
# ping6 2001:F60:0:206::1
# ping6 2001:4860:4860::8888
疎通確認 IPv4 (トンネルが通っているか)
# ping 8.8.8.8
ビジネス利用でLAN内のPCにIPv6アドレスを配布したくないとき
ヤマハのGUIではLAN内のPCにIPv6アドレスが配布されます。ビジネス利用でセキュリティ面からLAN内にはIPv6アドレスを配布したくないときもあるかと思います。その場合はさらに次の内容をコピペしてください。
no ipv6 lan1 address ra-prefix@lan2::1/64
no ipv6 lan1 prefix change log on
no ipv6 lan1 rtadv send 1 o_flag=on
no ipv6 lan1 dhcp service server
ipv6 lan2 address ra-prefix@lan2::1/64
ipv6 lan2 prefix change log on
また上記のスクリプト部分の、WAN_IF = “LAN1″を WAN_IF = “LAN2″に変更します。
ルータのパスワードを設定
最近のヤマハのファームウェアは、telnetはLANからのみ可となっていますが念の為にパスワードを設定しておくと安心です。
接続テスト
こちらのページにアクセスして確認していただけます。IPv4アドレスの次の行のホスト名に、****.west.xps.vectant.ne.jp または ****.east.xps.vectant.ne.jp と表示されればOKです。