サブネット間で IPv6 が通 らない

From: Hiroo Ono <hiroo_at_oikumene.net>
Date: Wed, 21 Feb 2024 14:46:39 UTC
小野寛生です。

auひかりのルーターの下に FreeBSD の箱をぶら下げて、家庭内LANを2つのセグメントに分けています。
vnet jail をゲートウェイルーター用にして、

em1: 外向き
epair0b: 内向きA
epair2b:: 内向きB

という風に分けて、WIDE DHCP6 でアドレスを取ってきて、rtadvd で内向きAと内向きBに配布することが出
来ています。

em1 に なんとか:1::/64
epair0b 配下に なんとか:2::/64
epair2b 配下に なんとか:3::/64

とやって、rc.conf に関連する設定としては以下のようにすることで、

ifconfig_em1_ipv6="inet6 accept_rtadv"
ipv6_cpe_wanif="em1"
dhcp6c_enable="YES"
dhcp6c_interfaces="em1"
rtadvd_enable="YES"
rtadvd_interfaces="epair0b epair2b"
ipv6_gateway_enable="YES"
firewall_enable="YES"
firewall_flags="-p m4"
firewall_type="/etc/ipfw-gate.conf"

em1から外 ⇔ epair0b配下 と em1から外 ⇔ epair2b 配下で IPv6 で通信はできるのですが、
epair0b配下 ⇔ epair2b配下 の IPv6 での通信が通りません。
IPv4 はそれぞれ 192.168.1.0/24, 192.168.2.0/24 でプライベートアドレスを振って
gateway_enable=YES とやって通信できています。
ipfw でフィルタリングはしていますが、
pass icmp6 from any to any
pass ip6 from any to any
で素通しにしても通信出来ませんでした。
何が悪いんでしょうか。

netstat -rn -f inet6 の結果はこんな感じになります。

Internet6:
Destination                       Gateway                       Flags     Netif Expire
::/96                             ::1                           UGRS        lo0
default                           fe80::a10:86ff:fe43:ad2c%em1  UG          em1
::1                               link#1                        UHS         lo0
::ffff:0.0.0.0/96                 ::1                           UGRS        lo0
240f:3f:802f:1::/64               link#2                        U           em1
240f:3f:802f:1:224:81ff:fe81:5b09 link#2                        UHS         lo0
240f:3f:802f:2::/64               link#3                        U       epair0b
240f:3f:802f:2:6c:cfff:fec7:1f0b  link#3                        UHS         lo0
240f:3f:802f:3::/64               link#4                        U       epair2b
240f:3f:802f:3:17:7bff:fee7:360b  link#4                        UHS         lo0
fe80::/10                         ::1                           UGRS        lo0
fe80::%lo0/64                     link#1                        U           lo0
fe80::1%lo0                       link#1                        UHS         lo0
fe80::%em1/64                     link#2                        U           em1
fe80::224:81ff:fe81:5b09%em1      link#2                        UHS         lo0
fe80::%epair0b/64                 link#3                        U       epair0b
fe80::6c:cfff:fec7:1f0b%epair0b   link#3                        UHS         lo0
fe80::%epair2b/64                 link#4                        U       epair2b
fe80::17:7bff:fee7:360b%epair2b   link#4                        UHS         lo0
ff02::/16                         ::1                           UGRS        lo0

IPv4 は通るので気づいていなかったのですが、IPv6 で外から接続できていたのが、家に帰ってくると繋がら
なくなるという現象が起きてずっとそんなだったことがわかりました。
----
Hiroo Ono