ipv6 host inaccessible via route -inteface without ndp
pairs
Vlad Galu
dudu at dudu.ro
Sat Feb 25 19:15:29 UTC 2012
--
Good, fast and cheap: pick any two.
On Saturday, February 25, 2012 at 6:13 PM, Mr Dandy wrote:
> Hi
>
> I play with IPv6 on the Hezner hosting. According to
> http://wiki.hetzner.de/index.php/Zusaetzliche_IP-Adressen/en information my
> rc.conf have (FreeBSD 9.0-RELEASE/amd64):
> ---
> ipv6_activate_all_interfaces="YES"
> ipv6_static_routes="hetzner"
> ipv6_route_hetzner="2a01:4f8:61:50c0::/59 -iface re0"
> ifconfig_re0_ipv6="inet6 2a01:4f8:61:50c2::13/64"
> ipv6_defaultrouter="2a01:4f8:61:50c0::1"
> ipv6_gateway_enable="YES"
> --
>
> Pictures after boot:
>
> # ifconfig re0 inet6
> re0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
> options=389b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_UCAST,WOL_MCAST,WOL_MAGIC>
> inet6 2a01:4f8:61:50c2::13 prefixlen 64
> inet6 fe80::224:21ff:fe2c:6943%re0 prefixlen 64 scopeid 0x1
> nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
>
> # route get -inet6 2a01:4f8:61:50c0::1
> route to: 2a01:4f8:61:50c0::1
> destination: 2a01:4f8:61:50c0::
> mask: ffff:ffff:ffff:ffe0::
> interface: re0
> flags: <UP,DONE,STATIC>
> recvpipe sendpipe ssthresh rtt,msec mtu weight expire
> 0 0 0 0 1500 1 0
>
> # route get -inet6 default
> route: writing to routing socket: No such process
>
> # ping6 -c1 2a01:4f8:61:50c0::1
> PING6(56=40+8+8 bytes) 2a01:4f8:61:50c2::13 --> 2a01:4f8:61:50c0::1
> ping6: sendmsg: Operation not permitted
> ping6: wrote 2a01:4f8:61:50c0::1 16 chars, ret=-1
>
> --- 2a01:4f8:61:50c0::1 ping6 statistics ---
> 1 packets transmitted, 0 packets received, 100.0% packet loss
>
> - is inaccessible.
>
> This situation changes when ip/mac pairs already presents in NDP list (by ndp
> -s pairs or static_ndp_pairs in /etc/rc.conf)
>
> # ndp -s 2a01:4f8:61:50c0::1 00:26:88:75:ed:06
>
> ( I took MAC by registered the my ip in /59 network and touching
> 2a01:4f8:61:50c0::1 by ping6 )
>
> # route add -inet6 -host 2a01:4f8:61:50c0::/59 -iface re0
> add net 2a01:4f8:61:50c0::/59: gateway re0
>
> # ping6 -c1 2a01:4f8:61:50c0::1
> PING6(56=40+8+8 bytes) 2a01:4f8:61:50c2::13 --> 2a01:4f8:61:50c0::1
> 16 bytes from 2a01:4f8:61:50c0::1, icmp_seq=0 hlim=64 time=2.341 ms
>
> --- 2a01:4f8:61:50c0::1 ping6 statistics ---
> 1 packets transmitted, 1 packets received, 0.0% packet loss
> round-trip min/avg/max/std-dev = 2.341/2.341/2.341/0.000 ms
>
> # route add -inet6 default 2a01:4f8:61:50c0::1
> add net default: gateway 2a01:4f8:61:50c0::1
>
> # ping6 -c1 www.freebsd.org (http://www.freebsd.org)
> PING6(56=40+8+8 bytes) 2a01:4f8:61:50c2::13 --> 2001:4f8:fff6::22
> 16 bytes from 2001:4f8:fff6::22, icmp_seq=0 hlim=54 time=163.879 ms
>
> --- red.freebsd.org (http://red.freebsd.org) ping6 statistics ---
> 1 packets transmitted, 1 packets received, 0.0% packet loss
> round-trip min/avg/max/std-dev = 163.879/163.879/163.879/0.000 ms
>
> All fine while ndp have cache:
>
> # ndp -a
> Neighbor Linklayer Address Netif Expire S
> Flags
> fe80::226:88ff:fe75:ed06%re0 00:26:88:75:ed:06 re0 23h52m6s S R
> 2a01:4f8:61:50c0::1 00:26:88:75:ed:06 re0 23h59m58s S R
> <my hostname here> 00:24:21:2c:69:43 re0 permanent R
> fe80::224:21ff:fe2c:6943%re0 00:24:21:2c:69:43 re0 permanent R
>
> # ndp -d 2a01:4f8:61:50c0::1
> 2a01:4f8:61:50c0::1 (2a01:4f8:61:50c0::1) deleted
>
> # ping6 -c1 2a01:4f8:61:50c0::1
> PING6(56=40+8+8 bytes) 2a01:4f8:61:50c2::13 --> 2a01:4f8:61:50c0::1
> ping6: sendmsg: Operation not permitted
> ping6: wrote 2a01:4f8:61:50c0::1 16 chars, ret=-1
> ^C
> --- 2a01:4f8:61:50c0::1 ping6 statistics ---
> 1 packets transmitted, 0 packets received, 100.0% packet loss
You might need to add ipv6_default_interface="re0" to /etc/rc.conf. After you do that, it will have ACCEPT_RTADV and DEFAULTIF set.
Also, see http://social.bitmand.com/post/1168584251/hetzner-freebsd-and-ipv6.
More information about the freebsd-net
mailing list