Folks,
this is not an emergency, but I'm quite stumped, so I'd like to know if anyone here has a clue.
Here is my problem:
My IPv6 (let's assume I have a /64 prefix ‘P’) is set like this: the fibre modem, which is also the default router, has address P::1; it is connected by a short patch cord to my FreeBSD server, on interface re0, address P::2/112.
The server has another net interface, ale0, which every machine on the local network is connected to (this allow the server to act as a NAT in IPv4, DHCP server and some other services). ale0 has the address P::1:0/96
Connecting re0 to ale0 is bridge0, whose address is P:ffff::/128.
The server also run strongswan and serves as a VPN peer for ‘road warriors’ machines. The configuration seems to be correct: IPv4 VPN works correctly, and the remote machine also gets an IPv6 address from a pool P:0:1::/96, distinct from re0 and ale0 ranges. leftsubnet is ::/0 so all IPv6 traffic is routed through the VPN.
Now the problem is that I have no outside IPv6 connectivity from VPN clients. I can ping6 the server (either P::2 or P::1:0), the machines on the ale0 interface, but nothing seems to get through from re0. That is to say, a tcpdump -i re0 icmp6 shows ICMP6 requests sent, but the fibre modem responds with ICMP6 NS to (let's assume the address of a VPN client is) P:0:1:0:1, and gets no response, so I assume the ICMP6 response packets are just lost there. I can't even ping the fibre modem (P::1).
Should I set a rule for the bridge not to forward to ale0 packets sent to the VPN pool? If yes, how? Any other idea that could make the VPN IPv6 outside connectivity work?
Thanks a bunch!
V
EDIT: Oh, I forgot to say I have rtadvd running on ale0, advertising the fibre modem as the router.
this is not an emergency, but I'm quite stumped, so I'd like to know if anyone here has a clue.
Here is my problem:
My IPv6 (let's assume I have a /64 prefix ‘P’) is set like this: the fibre modem, which is also the default router, has address P::1; it is connected by a short patch cord to my FreeBSD server, on interface re0, address P::2/112.
The server has another net interface, ale0, which every machine on the local network is connected to (this allow the server to act as a NAT in IPv4, DHCP server and some other services). ale0 has the address P::1:0/96
Connecting re0 to ale0 is bridge0, whose address is P:ffff::/128.
The server also run strongswan and serves as a VPN peer for ‘road warriors’ machines. The configuration seems to be correct: IPv4 VPN works correctly, and the remote machine also gets an IPv6 address from a pool P:0:1::/96, distinct from re0 and ale0 ranges. leftsubnet is ::/0 so all IPv6 traffic is routed through the VPN.
Now the problem is that I have no outside IPv6 connectivity from VPN clients. I can ping6 the server (either P::2 or P::1:0), the machines on the ale0 interface, but nothing seems to get through from re0. That is to say, a tcpdump -i re0 icmp6 shows ICMP6 requests sent, but the fibre modem responds with ICMP6 NS to (let's assume the address of a VPN client is) P:0:1:0:1, and gets no response, so I assume the ICMP6 response packets are just lost there. I can't even ping the fibre modem (P::1).
Should I set a rule for the bridge not to forward to ale0 packets sent to the VPN pool? If yes, how? Any other idea that could make the VPN IPv6 outside connectivity work?
Thanks a bunch!
V
EDIT: Oh, I forgot to say I have rtadvd running on ale0, advertising the fibre modem as the router.