Hey guys. Networking/Firewalling problem, it seems.
I'm running FreeBSD 9. I followed the example configuration that the HE website gave me, creating gif0, setting the tunnel endpoints, setting the IPv6 addresses, then bringing the interface up. That worked successfully. However, I can't seem to ping6 anyone (I've been trying google).
gif0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> metric 0 mtu 1280
tunnel inet 68.82.223.225 --> 216.66.22.2
inet6 2001:470:7:509::2 --> 2001:470:7:509::1 prefixlen 128 tentative
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
options=1<ACCEPT_REV_ETHIP_VER>
Note, that gif0 says "tentative." I'm not sure what that means...
ping6 google.com
ping6: UDP connect: Can't assign requested address
I'm also running PF as my firewall. I have a pretty advanced script, it's a default deny. It also handles queuing, prioritization, and port forwarding for my LAN (yeah, this FreeBSD system is also my router). I'll past the "relevant" parts:
ext_if="em0"
ext6_if="gif0"
set block-policy drop
set state-policy if-bound
block in log from any to any
block out log from any to any
# ICMP for IPv6 Tunnel
pass in on $ext_if inet proto icmp from 66.220.2.74 to $ext_if
# Allow all the IPv6 packets encapsulated in IPv4
pass in on $ext_if inet from 216.66.22.2 to $ext_if synproxy state
# IPv6 Tunnel
pass out on $ext_if inet from $ext_if to 216.66.22.2 modulate state
# icmp out
pass out on $ext_if inet proto icmp from $ext_if to any icmp-type echoreq modulate state queue high
pass out on $ext6_if inet6 proto icmp6 from $ext6_if to any icmp6-type echoreq modulate state queue high
# IPv6
pass out on $ext6_if inet6 proto {tcp, udp} from $ext6_if to any modulate state
I also tried even commenting out my two "block in" and "block out" default deny lines, but it did the same thing.
I also tried running `tcpdump -t -n -i pflog0 ip6` to see what it's blocking, but absolutely nothing is showing up there when I ping6 google.
Any ideas?
Thanks!