rabbit51

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

ヤマハ NVR510 / NVR500のログインアカウントとパスワード

2021-07-28 16:00:00 | NVR510
ヤマハ ルーター NVR510/NVR500は、シリアル接続、リモート(ssh/telnet)接続、http接続が利用できる。シリアル接続では、「login name」無しのパスワードだけでログインする「無名ユーザ」アカウントがある。設定変更には、管理者権限が必要になる。今まで、無名ユーザのパスワードと管理者権限パスワードを同じにしていたので意識したことが無かった。「NVR510 / NVR500 のDHCPv6-PDをリモートで再取得させる」でhttp接続した時、ログイン出来たり、出来なかったりしたので整理してみた。

(1)アカウントの生成
無名ユーザ(パスワード): login password (encrypted) pass-0
管理者権限(パスワード): administrator (encrypted) pass-a
一般ユーザ1(ユーザ名/パスワード): login user (encrypted) user1 pass-1
一般ユーザ2(ユーザ名/パスワード): login user (encrypted) user2 pass-2
「user attribute」「security class」は、設定なしで初期値
「pass-x」は、security classの初期値FORGET=onで利用できる「w,lXlma」

(2)接続結果


(3)考察
NVR500の「かんたん設定」では、設定した「一般ユーザ アカウント」でログイン出来ない。
管理者権限取得のページも無い。
管理者権限でログインするためには、「無名ユーザ」「一般ユーザ」共に管理者権限用パスワード「pass-a」を使う必要がある。
「無名ユーザ」用パスワード「pass-0」と「管理者権限」用パスワード「pass-a」が同じだと「pass-0」で権限が得られているように誤解してしまう。

NVR510の「ダッシュボード」では、「一般ユーザ アカウント」でログイン可能。
各種設定には、管理者権限が必要となるが、管理者権限への移行ページが無い。
管理者権限を得るには、「無名ユーザ」「一般ユーザー」共に管理者権限用パスワード「pass-a」を使う必要がある。

Safari等のブラウザーでアカウント記憶を使うには、「無名ユーザ」を使わず、「一般ユーザー」アカウント名と管理者権限用パスワード「pass-a」でログインするのが良いようだ。

 

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

NVR510 / NVR500 のDHCPv6-PDをリモートで再取得させる

2021-07-27 16:00:00 | NVR510
ヤマハ ルーター NVR510/500のlan2インターフェース(WAN表記ジャック)に接続されたネットワーク上にあるDHCPv6-PDサーバーからPrefix Delegationを得るため下記の設定をしている
NVR510/500 config
ipv6 lan2 address auto (RAからEUI64アドレス設定)
ipv6 lan2 dhcp service client (Prefix Delegationを得る)
ngn type lan2 ntt (DHCPサーバーからひかり電話情報を得る)
ipv6 lan1 address dhcp-prefix@lan2::11:250/64 (委譲されたPrefixでアドレス設定)
ipv6 lan1 rtadv send 1 o_flag=on
ipv6 lan1 dhcp service server
管理者権限で「ipv6 lan2 dhcp service client」をコマンド実行するとDHCPv6のRebindを行う。リモート端末から実行する仕組みを設定する。

(1)概要
リモート端末から「RebindDHCPv6」ユーザー名でhttpログインを行う。syslogwatch()で「RebindDHCPv6」ユーザのログインを監視し、「ipv6 lan2 DHCP service client」をcommend()実行してDHCPv6サーバーからPrefixを再取得するLUAスクリプトを起動する。
NVR500では、一般ユーザでのhttpログインが出来ないので、管理者権限でログインした時、LUAスクリプトが動作するよう設計した。

(2)ユーザアカウントの設定
ユーザーアカウントの作成(NVR510/500)
login user RebindDHCPv6 encrypted JYUMON

(3)LUAスクリプトの設定
SDカードにLUAスクリプトを設定し、「lua sd1:/lua/doRebindDHCPv6.lua」コマンド実行する。
doRebindDHCPv6.lua
--[[
 May.24 '2021 Rabbit51
 doRebindDHCPv6.lua
]]

---------------------------------------------------------------
-- watching user 'RebindDHCPv6' user login w/ http --
---------------------------------------------------------------
while(true) do
    rtn, array = rt.syslogwatch("'administrator' succeeded for HTTP: .* RebindDHCPv6")
        rtn,str = rt.command("syslog debug on","off")
        rtn,str = rt.command("ipv6 lan2 dhcp service client","on")
        if rtn then
            rtn,array = rt.syslogwatch("%[IPv6%] prefix",1,10)
            if rtn > 0 then
                pf = string.match(array[1],"%[IPv6%] prefix (%x+:%x+:%x+:%x+::/60)")
                rtn,str = rt.syslog("info","[DHCPv6-PD] prefix: " .. pf)
            else
                rtn,str = rt.syslog("info","[DHCPv6-PD] timeout")
            end
        end
        rtn,str = rt.command("syslog debug off")
end
NVR起動時に実行されるようにスケデューラーに設定する。
スケデューラー設定
schedule at 53 startup * lua sd1:/lua/doRebindDHCPv6.lua


(4)リモート実行
LUAスクリプトの起動
lua sd1:/lua/doRebindDHCPv6.lua
show status lua running


リモートからRebindDHCPv6ユーザでhttpログイン
wget -s --user=RebindDHCPv6 --password="JYUMON" http://nvr500.familyname/


nvr500上でリモート実行された処理結果ログ


 

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

ひかり電話 HGW PR-600MIのDHCPv6-PDをDHCPv6Relayで取得できるか確認

2021-07-20 17:00:00 | ひかり電話
ひかり電話 HGW PR-600MIとNTT-GW間のDHCPv6-PDをDHCP Relayを介して取得できるか確認した。

Wireshark のパケットキャプチャは、Netgear GS524Eのポート01にポート09と11をミラーした。PR-600MIのWANポートとUNIポートが接続されている状態で「情報」「DHCPクライアント取得情報」「DHCP再取得(IPoE)」のキャプチャ結果

「Solicit」「Advertise」「Request」「Reply」でPrefixや設定情報が取得できる。NTT-GWは、DHCP RelayでNGN内のDHCPv4/v6サーバ(NECのOID)から情報で応答。

1)DHCP Relay設定
PR-600MIからのDHCPv6プロトコルが直接NTT-GWへ到達しないように「ebtables」で遮断する
ebtables -A FORWARD -p 0x86dd -s 28:e9:8e:12:34:57 -o enp1s0f1 --ip6-proto udp --ip6-dport 547 --log-level notice --log-prefix "PR600MI DHCPv6 " --log-ip6 -j DROP
さらにIPv6パケットを完全遮断する
eatables -A FORWARD -p 0x86dd -i enp1+ -o enp1+ --log-level notice --log-prefix "IPv6 Block " -j DROP
ブリッジ接続されたPR-600MIとNTT-GWをDHCP Relayでアクセスするようプリッジポートbr0にISCのdhcrelayを稼働させる。
dhcrelay -6 -pf /var/run/dhcrelay.pid -l br0 -u FF02::1:2%br0
dhcrelayは「-u」インターフェースにグローバルアドレスが設定されていないと言う理由で起動しない。dhcp-4.4.2-P1のrelay.cをリンクローカルアドレスでも起動できるよう変更した。
dhcp-4.4.2-P1/relay/relay.c 
1617c1617
< 			log_fatal("Interface %s does not have global IPv6 "
---
> 			log_info("Interface %s does not have global IPv6 "


2)DHCP Relay結果
PR-600MIからの「Solicit」が「Relay Forward」される

NTT-GWは、DHCPv6 Relay Forwardをリレーしてくれないようだ。「Relay Reply」応答が無い。

3)改変したDHCPv6 Relayの動作
DHCPv6サーバーをenp7s0インターフェース(P07(PVID07/VL07/U))で起動し、P11(PVID08/VL08/U)をP11(PVID07/VL07/U)に変更してDHCPv6 Relay機能を確認。リンクローカルアドレス上稼働とRelay Forward/Relay Reply



 

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

ひかり電話 HGW PR-600MIがネットボランチDDNS登録をTCP廃棄する原因と対策

2021-07-03 14:00:00 | ひかり電話
2021年5月13日の自動バージョンアップで「ひかり電話 HGW PR-600MIのfirmware更新とIPv6パケットフィルターの不具合」が発生した。バージョンを戻す(01.00.0007->01.00.0005)事を考え、NTTの「0120-970-413」へ電話した(「0120-000-113」では、機器交換しか対応出来ないとの事だった)。結果、「0120-000-113」へ回される。そして、「バージョンを戻すfirm提供が出来ない」「技術者派遣で機器確認しか対応出来ない」との事。コロナ下で入室させ対面対応はお断りし、「様子見」で状態確認を進めていた。「ひかり電話 HGW PR-600MIのIPv6パケットフィルターがネットボランチDDNS登録をTCP廃棄」で「2409:10:XXXX:YY00::/64」からの通信不具合が発生したり、「ひかり電話 HGW PR-600MIのIPv6パケットフィルタを無効にしてもTCP廃棄発生」で、万策つき、再度問い合わせを行った。サポートの方曰く、チェックツールで確認すると「グローバルprefixが二つ登録されている(?)」との事。複数の機器からDHCPv6-PDを行なっているので履歴がそのようになっているのかもしれない。時間切れで翌日対応。PR-600MIのIPv6パケットフィルタ「無効」対応のFirewallゲートウェイを介さず確認したいとの事だったので、深夜にVLAN設定を変更し、Firewallゲートウェイを外した。PR-600MIのDHCPクライアント取得情報が「保存済み自動設定情報にて起動」で取得出来ない。この状態になるとリースタイムが切れるまで取得出来ない。2時間30分から3時間程掛かるので翌朝の確認とした。翌朝、NTTサポートから連絡があり、「グローバルPrefixの登録が一つになっている」と連絡、「2409:10:XXXX:YY00::/64」からの通信が正常になっている事を確認した。
ひかり電話 HGW PR-600MIのSPI設定とIPv6パケットフィルタ設定(IPoE)で不具合」を解決させるのが目的だが、「ひかり電話 HGW PR-600MIのIPv6パケットフィルタを無効にしてもTCP廃棄発生」なのでどうにもならない。NTTサポートから「IPv6ファイアウォール機能の無効化」が出来ない件、「IPv6パケットフィルタ設定(IPoE)が有効にならない」件について、製品担当部門へ要望を上げてくれるとの事で終了した。

(1)「2409:10:XXXX:YY00::/64」からの通信不具合時構成

ひかり電話HGW PR-S300SEのIPv6スループットを確認する」「ひかり電話 HGW PR-600MIのIPv6スループットを確認する」「ひかり電話 HGW PR-600MI のオフライン設定」と同様の構成で「ひかり電話 HGW PR-600MIのIPv6パケットフィルタを無効にしてもTCP廃棄発生」と同じ「ip6tablesによるFirewall」を構成している。
PR-600MIのLAN4から「2409:10:XXXX:YY00::/64」ネットワークに接続され、NVR510。NVR500、OpenWrtなどのルータが接続されている。ホームネットワーク機器は、NVR510配下の「2409:10:XXXX:YY10::/64」ネットワークに接続されている。NVR510のネットボランチDDNS登録は、WAN側アドレス「2409:10:XXXX:YY00:ae44:f2ff:feaa:bbcc/64」をソースアドレスとして登録する。「2409:10:XXXX:YY00::/64」ネットワークでは、PR-600MIからのRAとDHCPv6-PDでホストやルータのアドレスが決定される。「2409:10:XXXX:YY00::/64」からのIPv6パケットは、PR-600MIのLAN4ポートを経由し、ルーティングされ、WANポートからDebian10のbr0ポートへ送られる。Debian10でルーティングされbr0ポートからLinkLocalアドレス経由でUNIポートを介し、NTT-GWへ送られる。応答パケットも逆順でこの経路を通過する設計。

(2)不具合原因
Debian10のenp3s0ポートが「2409:10:XXXX:YY00::/64」ネットワークに接続されているため、このポートから応答パケットが「2409:10:XXXX:YY00::/64」の機器にルーティングされるためだった。ネットワークに接続されると「暗黙」で経路が経路テーブルに設定され、IPv6 neighbor cashに接続機器のMACアドレスが記録される。
tcp接続では、「syn」パケットがPR-600MI -> Debian10 -> NTT-GW経由で宛先ホストに到達、「syn/ack」パケットがNTT-GW -> Debian10 -> 送出ホストへ戻り、「ack」パケットがPR-600MIへ送られる。PR-600MIのSPIが「syn/ack」を確認していないため、「ack」パケットを「TCP 廃棄[パケットフィルタ]」した。
ping(icmpv6)は、応答パケットが、送出ホストに戻るため、疎通が確認されていた。

(3)不具合対策
ポリシールーティング(PBR)で解決を計ったが、うまくいかない。
PBR
/etc/iproute2/rt_tables
100    PR600
-----------------------
ip -6 rule add iif br0 table PR600
ip -6 rule add from 2409:10:XXXX:YY02::/64 table PR600
ip -6 route add default via fe80::212:e2ff:feab:cdef dev br0 table PR600
ip -6 route add 2409:10:XXXX:YY00::/56 via fe80::2ae9:8eff:fe12:3457 dev br0 table PR600
neighbor cashも分離できそうなVRF(Virtual Router and Forwarder)で確認してみた
VRF
ip link add Tvrf type vrf table 2
ip link set dev enp3s0 up
ip link set dev enp3s0 master Tvrf
ip -6 route add default via fe80::2ae9:8eff:fe12:3456 dev enp3s0 table 2
通過するパケットは上手くルーティングされるが、enp3s0で受けたパケット応答がenp3s0経由で送出されない。「ip -6 route show table 2」と「ip -6 route show vrf Tvrf」で結果が異なる(local routeが異なる)のでバグかもしれない。。。
Namespaceを試してみる
namespace
ip netns add net0
ip link set dev enp3s0 netns net0
ip netns exec net0 ip link set enp3s0 up
ip netns exec net0 ip -6 a add fe80::c225:e9ff:fe67:89ab/64 dev enp3s0
ip netns exec net0 ip -6 a add 2409:10:XXXX:YY00::1:110/64 dev enp3s0
ip netns exec net0 ip -6 route add default via  fe80::2ae9:8eff:fe12:3456 dev enp3s0
これは、上手く動作する。

(4)その他
firmwareのバージョンアップを契機に最初に発生した「ひかり電話 HGW PR-600MIのfirmware更新とIPv6パケットフィルターの不具合」に関して、再現しなくなってしまった。引き続き、状況を見守る事とした。firmwareの自動更新は、停止した。

・IPv6パケットフィルタ設定(IPoE)
・IPv6ファイアウォール機能の「無効」化

が改善されるか注視する。

 

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする