내 라우터의 IP 주소 레이아웃은 다음과 같습니다. 내 온라인 개인 정보를 보호하기 위해 익명으로 처리되었습니다.
11.22.33.44 IPv4 WAN address
192.168.42.1 IPv4 LAN address
2001:db8:aaaa:bbbb:cccc:dddd:eeee:ffff IPv6 IA_NA address on egress
2001:db8:cccc:cccc::1 IPv6 IA_PD address on same interface as remote host
fdaa:aaaa:aaaa:aaaa::1 IPv6 ULA on same interface
fdaa:aaaa:aaaa:bbbb::1 IPv6 ULA on different interface
이러한 전역 주소 중 두 개(DHCPv6 IA_NA 및 IA_PD)를 제외한 모든 주소는 네트워크의 원격 호스트에서 ping될 수 있습니다. 원격 호스트에는 개인 IPv4 주소와 접두사 위임의 IPv6 주소(불행히도 내 ISP는 /64로 제한됨)와 서브넷 ID가 있는 ULA가 있으며 aaaa
, 네트워크 외부에서 공개적으로 라우팅 가능한 주소에 쉽게 접근할 수 있습니다. 라우터의 ULA 주소에는 연결할 수 있지만 접두사 위임 주소에는 연결할 수 없는 이유는 무엇입니까? 내 pf.conf
것은 다음과 같습니다 (주로https://lipidity.com/openbsd/router/#pf):
table <martians> { 0.0.0.0/8 10.0.0.0/8 127.0.0.0/8 169.254.0.0/16 \
172.16.0.0/12 192.0.0.0/24 192.0.2.0/24 224.0.0.0/3 \
192.168.0.0/16 198.18.0.0/15 198.51.100.0/24 \
203.0.113.0/24 100.64.0.0/10 192.88.99.0/24 \
255.255.255.255/32 ::/128 ::/96 ::1/128 \
::ffff:0:0/96 100::/64 2001:10::/28 2001:2::/48 \
2001:db8::/32 3ffe::/16 fec0::/10 fc00::/7 }
set block-policy drop
set loginterface egress
set skip on lo
match in all scrub (no-df random-id max-mss 1440)
match out on egress inet from !(egress:network) to any nat-to (egress:0)
antispoof quick for { egress lan }
block in quick on egress from <martians> to any
block return out quick on egress from any to <martians>
block all
pass out quick
pass in on lan
pass in on lan inet6 from any to 64:ff9b::/96 af-to inet from (egress:0)
# above was me experimenting with NAT64. it worked at one point, now it's not. could it be related?
pass in on egress inet proto icmp all icmp-type echoreq
pass in on egress inet6 proto icmp6 all icmp6-type { echoreq routeradv neighbrsol neighbradv }
pass in on egress proto tcp from any to (egress) port ssh
pass in on egress proto { tcp udp } from any to (egress) port domain
pass in on egress proto tcp from any to (egress) port smtp
pass in on egress inet6 proto udp \
from fe80::/10 port dhcpv6-server \
to fe80::/10 port dhcpv6-client \
no state