Adding connectivity to a Mac OS X host on my subnet
Shadow Hawkins on Thursday, 03 July 2008 12:59:53
I'm trying to get IPv6 connectivity to my Mac laptop; the Linux router already has it (via a sixxs tunnel), I want the Mac to have another IP from my sixxs subnet. Yes, I've read the FAQ entry; and it does receive an IPv6 address from radvd.
Here's the details:
Linux (router/gateway, has the sixxs tunnel)
exscape ~ # ifconfig sixxs
sixxs Link encap:IPv6-in-IPv4
inet6 addr: 2001:16d8:ff00:1::2/64 Scope:Global
inet6 addr: fe80::53fd:ffb9/64 Scope:Link
inet6 addr: fe80::c0a8:101/64 Scope:Link
UP POINTOPOINT RUNNING NOARP MTU:1280 Metric:1
RX packets:3 errors:0 dropped:0 overruns:0 frame:0
TX packets:34 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:284 (284.0 b) TX bytes:24504 (23.9 Kb)
exscape ~ # ifconfig lan
lan Link encap:Ethernet HWaddr 00:13:D3:A2:AA:0F
inet addr:192.168.1.1 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::213:d3ff:fea2:aa0f/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
...
exscape ~ # ip -6 route
2001:16d8:ff00:1::/64 via :: dev sixxs metric 256 expires 17182012sec mtu 1280 advmss 1220 hoplimit 4294967295
fe80::/64 dev net metric 256 expires 21243074sec mtu 1500 advmss 1440 hoplimit 4294967295
fe80::/64 dev lan metric 256 expires 21334366sec mtu 1500 advmss 1440 hoplimit 4294967295
fe80::/64 via :: dev sixxs metric 256 expires 21334370sec mtu 1280 advmss 1220 hoplimit 4294967295
ff00::/8 dev net metric 256 expires 21243074sec mtu 1500 advmss 1440 hoplimit 4294967295
ff00::/8 dev lan metric 256 expires 21334366sec mtu 1500 advmss 1440 hoplimit 4294967295
ff00::/8 dev sixxs metric 256 expires 21334370sec mtu 1280 advmss 1220 hoplimit 4294967295
default via 2001:16d8:ff00:1::1 dev sixxs metric 1024 expires 21334370sec mtu 1280 advmss 1220 hoplimit 4294967295
exscape ~ # ping6 ipv6.google.com
PING ipv6.google.com(2001:4860:0:1001::68) 56 data bytes
64 bytes from 2001:4860:0:1001::68: icmp_seq=1 ttl=56 time=33.8 ms
64 bytes from 2001:4860:0:1001::68: icmp_seq=2 ttl=56 time=33.7 ms
--- ipv6.google.com ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1000ms
rtt min/avg/max/mdev = 33.799/33.806/33.813/0.007 ms
exscape ~ # cat /etc/radvd.conf
interface lan
{
AdvSendAdvert on;
MinRtrAdvInterval 3;
MaxRtrAdvInterval 10;
AdvHomeAgentFlag off;
prefix 2001:16d8:ff00:1::/64
{
AdvOnLink on;
AdvAutonomous on;
AdvRouterAddr on;
};
};
exscape ~ # sysctl net.ipv6.conf.all.forwarding
net.ipv6.conf.all.forwarding = 1
------------------------------------------------------------------
Mac OS X (client, gets IPv6 address from radvd)
macbookpro ~ # ifconfig en0
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet6 fe80::217:f2ff:fec2:c4ec%en0 prefixlen 64 scopeid 0x4
inet 192.168.1.5 netmask 0xffffff00 broadcast 192.168.1.255
inet6 2001:16d8:ff00:1:217:f2ff:fec2:c4ec prefixlen 64 autoconf
ether 00:17:f2:c2:c4:ec
media: autoselect (100baseTX <full-duplex,flow-control>) status: active
# Link-local ping works
macbookpro ~ # ping6 fe80::213:d3ff:fea2:aa0f%en0
PING6(56=40+8+8 bytes) fe80::217:f2ff:fec2:c4ec%en0 --> fe80::213:d3ff:fea2:aa0f%en0
16 bytes from fe80::213:d3ff:fea2:aa0f%en0, icmp_seq=0 hlim=64 time=2.956 ms
16 bytes from fe80::213:d3ff:fea2:aa0f%en0, icmp_seq=1 hlim=64 time=0.223 ms
^C
--- fe80::213:d3ff:fea2:aa0f%en0 ping6 statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 0.223/1.589/2.956 ms
# Non-link local ping does NOT work
macbookpro ~ # ping6 2001:16d8:ff00:1::2
PING6(56=40+8+8 bytes) 2001:16d8:ff00:1:217:f2ff:fec2:c4ec --> 2001:16d8:ff00:1::2
^C
--- 2001:16d8:ff00:1::2 ping6 statistics ---
6 packets transmitted, 0 packets received, 100% packet loss
------------------------------------------------------------------
When running tcpdump, I can clearly see that the link-local pings are coming through and answers are sent back.
When pinging the public IP, the packets DO reach the router box (tcpdump again), but no response is ever sent.
When pinging the Macs public IPv6 address from the router, I get a no route error (well, there is no route in the routing table, so that's understandable). Adding one didn't seem to help, if I did things right, though.
After manually adding 2001:16d8:ff00:1::2/64 to the "lan" interface on Linux, I can ping via the public IPv6 adresses (both ways), but no routing works (I can't ping the POP IPv6 from the Mac, nor any other public address). Should I really have to add it manually, by the way?
Any ideas? I'm guessing the problem is somewhere in radvd? If I understand things correctly, the stateless autoconfig-thing exists to make sure these problems don't exist, doesn't it? :)
Adding connectivity to a Mac OS X host on my subnet
Jeroen Massar on Thursday, 03 July 2008 13:05:36
You need to request a subnet if you want to do this.
2001:16d8:ff00:1::/64 == for the tunnel.
Another prefix (aka another /64 out of a /48) is for your local network.
You can't have the same /64 on two interfaces. Next to that in the case of the tunnel prefix, only ::1 (PoP) and ::2 (your side) are active.
See the FAQ and there is even a nice article in the Wiki.
Adding connectivity to a Mac OS X host on my subnet
Shadow Hawkins on Thursday, 03 July 2008 14:11:19
Arrrgh! I never noticed that I was using the tunnel prefix all along... I changed radvd to announce 2001:16d8:ff0*1*::/64 instead, and assigned an address from that prefix to the LAN interface on the router, and I'm out on the IPv6 web on my laptop!
Thanks for pointing me to using the right prefix. ;)
Adding connectivity to a Mac OS X host on my subnet
Shadow Hawkins on Thursday, 03 July 2008 17:09:34
You might want to take a look at this Sixxs Wiki page:
Installing a Subnet
Feel free to improve it as necessary.
Posting is only allowed when you are logged in. |