pass in log on IG_LOCAL inet6 proto {tcp udp} from {(IG_LOCAL:network),fe80::/10} to {!(IG_LOCAL:network),fe80::/10} port $PORT_EXT_DEF keep state label "769c1d81297045f5995b9e417dcec7ee" # IG: Default Allowed External Trafficpass in on IG_LOCAL inet proto {tcp udp} from {(IG_LOCAL:network)} to {!(IG_LOCAL:network)} port $PORT_EXT_DEF_UNLOG keep state label "d6b7a1daa9884ab1063b3b2befdd9697" # IG: Unlogged External Trafficpass in on IG_LOCAL inet6 proto {tcp udp} from {(IG_LOCAL:network),fe80::/10} to {!(IG_LOCAL:network),fe80::/10} port $PORT_EXT_DEF_UNLOG keep state label "d6b7a1daa9884ab1063b3b2befdd9697" # IG: Unlogged External Trafficpass in quick on IG_LOCAL inet proto {tcp udp} from {(IG_LOCAL:network)} to {(self)} port {53} keep state label "e8b2d18b60eddedbc37a8affc7ad3295" # IG: DNS - Firewallpass in quick on IG_LOCAL inet6 proto {tcp udp} from {(IG_LOCAL:network),fe80::/10} to {(self)} port {53} keep state label "e8b2d18b60eddedbc37a8affc7ad3295" # IG: DNS - Firewallpass in quick on IG_LOCAL inet proto {tcp udp} from {(IG_LOCAL:network)} to $HOST_PIHOLE port {53} keep state label "7040cc54c75732b0eaf93823601201df" # IG: DNS - PiHolepass in quick on IG_LOCAL inet6 proto {tcp udp} from {(IG_LOCAL:network),fe80::/10} to $HOST_PIHOLE port {53} keep state label "7040cc54c75732b0eaf93823601201df" # IG: DNS - PiHoleblock return in log quick on IG_LOCAL inet proto {tcp udp} from {(IG_LOCAL:network)} to $EXT_PUBLIC_DNS port $PORT_EXT_PUBLIC_DNS label "e265696d9b53cf10cb05969a0a9c7613" # IG: DNS - Block Public DNS Listblock return in log quick on IG_LOCAL inet6 proto {tcp udp} from {(IG_LOCAL:network),fe80::/10} to $EXT_PUBLIC_DNS port $PORT_EXT_PUBLIC_DNS label "e265696d9b53cf10cb05969a0a9c7613" # IG: DNS - Block Public DNS Listpass in quick on IG_LOCAL inet proto udp from {(IG_LOCAL:network)} to {(self)} port {123} keep state label "a8527e22120951fabfb8ab4a1159c11b" # IG: Firewall NTP
fe80::/16 will not be passed across links. That's why it's called link local. It only works with a scope, i.e. fe80::1%igb0.
OK ... let me rephrase that. No reasonable IP stack will send an IPv6 packet with a GUA as destination and a link local address as source.
Link-Local addresses are for use on a single link. Link-Local addresses have the following format: | 10 | | bits | 54 bits | 64 bits | +----------+-------------------------+----------------------------+ |1111111010| 0 | interface ID | +----------+-------------------------+----------------------------+