サブネット間で IPv6 が通 らない
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