ひかり電話 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」で遮断するさらにIPv6パケットを完全遮断するブリッジ接続されたPR-600MIとNTT-GWをDHCP Relayでアクセスするようプリッジポートbr0にISCのdhcrelayを稼働させる。dhcrelayは「-u」インターフェースにグローバルアドレスが設定されていないと言う理由で起動しない。dhcp-4.4.2-P1のrelay.cをリンクローカルアドレスでも起動できるよう変更した。
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
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
eatables -A FORWARD -p 0x86dd -i enp1+ -o enp1+ --log-level notice --log-prefix "IPv6 Block " -j DROP
dhcrelay -6 -pf /var/run/dhcrelay.pid -l br0 -u FF02::1:2%br0
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