私のルータの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
これらのグローバルアドレスのうち2つ(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