Fortigate+IPoEでIPv6

■環境
機器の型番:Fortigate90E
FortiOS:6.2.0
アクセス回線:フレッツ 光ネクスト
ISP:21ip

事前にフレッツとISPでIPv6が使えるように申請が済んでいること前提です。
また、Internal(PCのネットワーク)のユニークローカルアドレスはfd00:5::/64で、インターネットには
グローバルアドレスにNAT変換してます。

1. インターフェースの設定
設定した際に数秒間ほど通信ができません!

# config system interface
(interface) # edit wan1
(wan1) # config ipv6
(ipv6) # set ip6-allowaccess ping
(ipv6) # set dhcp6-prefix-delegation enable
(ipv6) # set autoconf enable
(ipv6) # end
(wan1) # next
(interface) #

(interface) # edit internal
(internal) # config ipv6
(ipv6) # set ip6-address fd00:5::1/64
(ipv6) # set ip6-allowaccess ping
(ipv6) # set ip6-send-adv enable
(ipv6) # config ip6-prefix-list
(ip6-prefix-list) # edit fd00:5::/64
(ip6-prefix-list) # end
(ipv6) # end
(internal) # end
#

2. ファイアウォールポリシーの設定
ポリシーIDはテキトーです。

# config firewall policy6
(policy6) # edit 1
(1) # set srcintf "internal"
(1) # set dstintf "wan1"
(1) # set srcaddr "all"
(1) # set dstaddr "all"
(1) # set action accept
(1) # set schedule "always"
(1) # set service "ALL"
(1) # set nat enable
(1) # end
#

3. Fortigateが使用するDNSの設定
IPv4のDNSを追加しているようであれば、ほぼ不要だと思います
下記ではGoogleのパブリックDNSを追加してます

# config system dns
(dns) # set ip6-primary 2001:4860:4860::8888
(dns) # end
#

4. ルーティングの確認
ゲートウェイアドレスが払い出しされていることを確認します

# diagnose ipv6 route list | grep wan1
vf=0 type=01(unicast) protocol=2(kernel) flag=00000000 prio=256 dst:240b:12:1e0:f700::/64 dev=7(wan1) pmtu=1500
vf=0 type=01(unicast) protocol=2(kernel) flag=00000000 prio=256 dst:fe80::/64 dev=7(wan1) pmtu=1500
vf=0 type=01(unicast) protocol=0(unspec) flag=01000200 prio=0 dst:ff02::1:2/128 dev=7(wan1) pmtu=1500
vf=0 type=01(unicast) protocol=0(unspec) flag=01000200 prio=0 dst:ff02::1:ff00:ffe9/128 dev=7(wan1) pmtu=1500
vf=0 type=01(unicast) protocol=0(unspec) flag=01000200 prio=0 dst:ff02::1:ff00:ffeb/128 dev=7(wan1) pmtu=1500
vf=0 type=01(unicast) protocol=0(unspec) flag=01000200 prio=0 dst:ff02::1:ff00:ffed/128 dev=7(wan1) pmtu=1500
vf=0 type=01(unicast) protocol=0(unspec) flag=01000200 prio=0 dst:ff02::1:ff00:fff3/128 dev=7(wan1) pmtu=1500
vf=0 type=01(unicast) protocol=0(unspec) flag=01000200 prio=0 dst:ff02::1:ff00:fffa/128 dev=7(wan1) pmtu=1500
vf=0 type=01(unicast) protocol=0(unspec) flag=01000200 prio=0 dst:ff02::1:ff00:fffc/128 dev=7(wan1) pmtu=1500
vf=0 type=01(unicast) protocol=0(unspec) flag=01000200 prio=0 dst:ff02::1:ff00:fffd/128 dev=7(wan1) pmtu=1500
vf=0 type=01(unicast) protocol=3(boot) flag=00000000 prio=256 dst:ff00::/8 dev=7(wan1) pmtu=1500
vf=0 type=01(unicast) protocol=2(kernel) flag=00450000 prio=1024 gwy:fe80::212:e2ff:fe70:6278 dev=7(wan1) pmtu=15

5.疎通の確認

# execute ping6 youtube.com
PING youtube.com(2404:6800:4004:80f::200e) 56 data bytes
64 bytes from 2404:6800:4004:80f::200e: icmp_seq=1 ttl=53 time=3.44 ms
64 bytes from 2404:6800:4004:80f::200e: icmp_seq=2 ttl=53 time=3.37 ms
64 bytes from 2404:6800:4004:80f::200e: icmp_seq=3 ttl=53 time=3.47 ms

PCからも疎通の確認をすれば完璧かなと。PCの設定はこれ

参考
https://www.infraexpert.com/study/ipv6z3.html
https://learningnetwork.cisco.com/docs/DOC-29033