rabbit51

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

ひかり電話 HGW PR-600MI DHCPv6-PDに複数Prefixを要求してみた

2022-05-02 15:00:00 | ひかり電話
PR-600MIのDHCPv6仕様は、「次世代ネットワークインタフェース資料 (IP通信網) ― ユーザ・網インタフェース(UNI)― 本編 第1.0版 (2007年10月25日)」の付属資料B DHCP プロトコル (B.2 DHCPv6 プロトコル)に準拠していると考えられる。
DHCPv6のオプションIA_PD(25)とIA_PD Prefix(26)は、RFC3633に準拠していそうだ。RFC3633によれば、DHCPv6 メッセージには、複数のIA_PDを含められ、IA_PDには複数のIA_PD Prefixの包含が許されている。一つのDUIDで複数のPrefix委譲が許される事になる。UNIの仕様なのでPR-600MI HGWのLAN側DHCPv6に当てはまるか確かめる事にした。

複数のクライアントIDを使用してクライアントID分のprefix取得は、「ひかり電話 HGW PR-600MI のDHCPv6-PDサーバーが割当てるPrefixを制御する」で確認した。ISC dhclientは、一つのクライアントIDで複数のprefixを要求する事ができる。
マニュアルによれば、複数のprefixを要求する場合、要求する数だけ「-P」オプションを指定する。

(1)複数prefixテストスクリプト
引数にget, getm2, getm4を指定することで「-P」「-P -P」「-P -P -P -P」のprefix要求を実行する。rel, relm2, relm4でreleaseして終了を実行する。
dhclient6mpd.sh
#!/bin/sh
PTH="/root/"
IF="enx3476c5570b8f"
## -P DHCPv6-PD request; ## -r for release; ## -x for NOT release
## Multiple Prefix Delegation request
get_DHCPv6_MPD4 () {
    /sbin/dhclient -6 -P -P -P -P -cf "$PTH$1.conf" -pf "$PTH$1.pid" -lf "$PTH$1.$IF.leases" $IF
    /sbin/dhclient -6 -x -P -P -P -P -cf "$PTH$1.conf" -pf "$PTH$1.pid" -lf "$PTH$1.$IF.leases" $IF
}
rel_DHCPv6_MPD4 () {
    /sbin/dhclient -6 -P -P -P -P -cf "$PTH$1.conf" -pf "$PTH$1.pid" -lf "$PTH$1.$IF.leases" $IF
    /sbin/dhclient -6 -r -P -P -P -P -cf "$PTH$1.conf" -pf "$PTH$1.pid" -lf "$PTH$1.$IF.leases" $IF
}
get_DHCPv6_MPD2 () {
    /sbin/dhclient -6 -P -P -cf "$PTH$1.conf" -pf "$PTH$1.pid" -lf "$PTH$1.$IF.leases" $IF
    /sbin/dhclient -6 -x -P -P -cf "$PTH$1.conf" -pf "$PTH$1.pid" -lf "$PTH$1.$IF.leases" $IF
}
rel_DHCPv6_MPD2 () {
    /sbin/dhclient -6 -P -P -cf "$PTH$1.conf" -pf "$PTH$1.pid" -lf "$PTH$1.$IF.leases" $IF
    /sbin/dhclient -6 -r -P -P -cf "$PTH$1.conf" -pf "$PTH$1.pid" -lf "$PTH$1.$IF.leases" $IF
}
get_DHCPv6_PD () {
    /sbin/dhclient -6 -P -cf "$PTH$1.conf" -pf "$PTH$1.pid" -lf "$PTH$1.$IF.leases" $IF
    /sbin/dhclient -6 -x -P -cf "$PTH$1.conf" -pf "$PTH$1.pid" -lf "$PTH$1.$IF.leases" $IF
}
rel_DHCPv6_PD () {
    /sbin/dhclient -6 -P -cf "$PTH$1.conf" -pf "$PTH$1.pid" -lf "$PTH$1.$IF.leases" $IF
    /sbin/dhclient -6 -r -P -cf "$PTH$1.conf" -pf "$PTH$1.pid" -lf "$PTH$1.$IF.leases" $IF
}
## 
DEVL="vaio1mpd"
case "$1" in
    "getm4")
         for i in $DEVL; do get_DHCPv6_MPD4 $i; done
    ;;
    "relm4")
         for i in $DEVL; do rel_DHCPv6_MPD4 $i; done
    ;;
    "getm2")
         for i in $DEVL; do get_DHCPv6_MPD2 $i; done
    ;;
    "relm2")
         for i in $DEVL; do rel_DHCPv6_MPD2 $i; done
    ;;
    "get")
         for i in $DEVL; do get_DHCPv6_PD $i; done
    ;;
    "rel")
         for i in $DEVL; do rel_DHCPv6_PD $i; done
    ;;
    *)
    echo "$0 getm4/relm4/getm2/relm2/get/rel";;
esac
clientIDは、LLタイプで指定。
vaio1mpd.conf
interface "enx3476c5570b8f" {
	also request dhcp6.sntp-servers, dhcp6.sip-servers-addresses;
	send dhcp6.client-id 00:03:00:01:34:76:c5:57:0b:8f; #vaio LL
}


(2)実行結果
dhclient6mpd.sh getm2
solicit

IA_PDを2個メッセージで送出。IAIDは、「c5570b8f」「c5570b90」を指定。

advertise

IA_PDを1個返答。IAID「c5570b8f」でIA_PDに内包設定されたIA_PD Prefixは、「2409:10:XXXX:YY50::/60」。

request

IAID「c5570b8f」IA_PD Prefix「2409:10:XXXX:YY50::/60」とIAID「c5570b90」のIA_PDをもう一個欲しいと要求。

reply

IAID「c5570b8f」IA_PD Prefix「2409:10:XXXX:YY50::/60」とIAID「c5570b90」IA_PD Prefix「2409:10:XXXX:YY50::/60」を使えると応答してきた。同じprefixで1個目のpreferred lifetime=12600/valid lifetime=14400、2個目のpreferred lifetime=14400/valid lifetime=14400。RFC3633によればlifetimeは有効だが。PR-600MI大丈夫か?
「dhclient6mpd.sh relm2」を実行すると1個目のIAID「c5570b8f」は、リリースされる。2個目のIAID「c5570b90」は、「No Binding(3)」となる。PR-600MIは、IAID「c5570b8f」だけ委譲している状態。dhclientは、IAID「c5570b8f」とIAID「c5570b90」が委譲されている状態。リリース後、dhclient側でIAID「c5570b90」が委譲されている状態になる。

(3)その他
複数のIA_PDを含むDHCPv6メッセージを送ると棄却されず応答がある。PDの取得とリリースを繰り返すと高い確率で下記不具合が発生する
・DHCPv6の機能が停止する(応答がなくなる)
・「セキュリティログ(IPv6)」記録が止まり「0 entries」になる
・その他の機能は、動作している(不具合を認識できない)
・valid lifetime後にprefixが無効になり、prefix委譲されたネットワークでIPv6通信ができなくなる


 


コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« 東芝TV REGZA 42Z8000の録画... | トップ | ヤマハ NVR510/500 LUA rt.ma... »
最新の画像もっと見る

コメントを投稿

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

ひかり電話」カテゴリの最新記事