NAT66 (IPv6 Masquerade)

IPv4 のインターネット接続で一般的に行われるグローバルアドレスとプライベートアドレス (192.168.0.0/16) の変換である NAT44 と同様に、 IPv6 で ISP からアサインされるグローバルユニキャストアドレスとユニークローカルアドレス (fc00::/7) を NAT66 にて変換する。
また、この時 IPv4 で一般的に使用される Masquerade (NAPT) を IPv6 でも同様に行う。

IPv6 接続構成

Internet 側の IPv6 アドレスは ISP からの RA にて SLAAC でアドレス、デフォルトゲートウェイ、 DNS Server を自動構成する。LAN 側は VyOS にてリンクローカルアドレスを RA で Prefix, DNS Server それぞれ通知し、PC 側で SLAAC による IPv6 の自動構成をできるようにする。

VyOS (1.4 系) のコンフィグ例

interfaces {
    ethernet eth0 {
        description Internet
        ipv6 {
            address {
                autoconf
            }
        }
        mtu 1440
    }
    ethernet eth1 {
        address fd00:0:0:f0::ffff/64
        description LAN
    }
}
nat66 {
    source {
        rule 100 {
            outbound-interface eth0
            source {
                prefix fd00::/8
            }
            translation {
                address masquerade
            }
        }
    }
}
service {
    dns {
        forwarding {
            allow-from fd00::/8
            dnssec off
            listen-address fd00:0:0:f0::ffff
            system
        }
    }
    router-advert {
        interface eth1 {
            link-mtu 1440
            name-server fd00:0:0:f0::ffff
            prefix fd00:0:0:f0::/64 {
            }
        }
    }
}

【参考URL】
PPPoE IPv6 Basic Setup for Home Network
NAT66(NPTv6)
VyOS1.4ではIPv6のIPマスカレードが可能だった

Fortigate (FortiOS 6.2) のコンフィグ例

VyOS の場合と同等の構成での設定例は以下となる。

config firewall address6
    edit "ipv6_private"
        set ip6 fd00::/8
    next
end
config firewall policy6
    edit 1
        set name "NAT66"
        set srcintf "lan1"
        set dstintf "wan1"
        set srcaddr "ipv6_private"
        set dstaddr "all"
        set action accept
        set schedule "always"
        set service "ALL"
        set nat enable
    next
end
config system interface
    edit "wan1"
        set vdom "root"
        set type physical
        set role wan
        config ipv6
            set ip6-allowaccess ping https ssh
            set autoconf enable
        end
        set mtu-override enable
        set mtu 1440
    next
    edit "lan1"
        set vdom "root"
        set type physical
        set role lan
        config ipv6
            set ip6-address fd00:0:0:f0::ffff/64
            set ip6-allowaccess ping https ssh
            set ip6-send-adv enable
            set ip6-link-mtu 1440
            config ip6-prefix-list
                edit fd00:0:0:f0::/64
                    set autonomous-flag enable   (FortiOS 6.0では必要)
                    set onlink-flag enable       (FortiOS 6.0では必要かも?)
                    set rdnss fd00:0:0:f0::ffff
                next
            end
        end
    next
end

【参考URL】
Getting a FortiGate to send IPv6 Router Advertisements