Hullo

I’m trying to build a small test environment, so that I can understand how 
homenet works with multiple routers in the context of low-cost IoT deployments 
to improve on current approaches. Most of the environment is based on 
constructing a virtualbox based set of hosts/routers with constrained 
networking between them.  I think that I’m struggling a bit as I’m not sure 
enough on what should work, and so cannot pinpoint where the issues are.

Here’s my starting topology:

ISP (Sky) <- (a) -> openwrt based router (1) <- (b) -> openwrt based router vm 
(2) <- (c) -> debian vm (3)

The vms run on a mac.

(1) has minimal configuration change from CHAOS CALMER (15.05.1, r48532), 
although there is some nonsense to get it to set up (a). It has a globally 
routeable address on br-lan (I’m not concerned about revealing these addresses 
in this network as they move whenever I reboot this device.) The physical 
router is a linksys wrt1200ac. I’ve had to replace the ISP supplied router as 
it does not support prefix delegation requests from (2). I’d prefer not to mess 
with this router and treat it as the edge of the world, rather than buy another 
adsl link.

(2) is intended to be a homenet router, when I can get the basics working. It’s 
running [DESIGNATED DRIVER (Bleeding Edge, 49876)]. I think that homenet has 
set up a correct initial configuration, based on grabbing a delegated prefix of 
length /62 out of the /56 that (1) got from Sky. The router (2) has put this 
subnet on its eth2 and assigne that interface a /64 ip address from the /62 
subnet.

(3) is irrelevant for the simplest test case described below, but it’s in the 
layout for completeness.

(a) is an adsl link, bridged to ethernet with a vigor modem, (b) is a 
virtualbox bridge to the wifi device of the mac, (c) is a virtualbox ‘internal 
network’.

I would expect to be able to ping the ip address (2a02:c7d:1d31:a605::3c/64) on 
eth2 of (2) from (1). I can see the icmp6 packets arriving at eth1 of (2), but 
they don’t seem to be forwarded to eth2.

09:48:57.023871 IP6 (hlim 64, next-header ICMPv6 (58) payload length: 64) 
2a02:c7d:1d31:a600::1 > 2a02:c7d:1d31:a605::3c: [icmp6 sum ok] ICMP6, echo 
request, seq 0
09:48:58.151674 IP6 (hlim 64, next-header ICMPv6 (58) payload length: 64) 
2a02:c7d:1d31:a600::1 > 2a02:c7d:1d31:a605::3c: [icmp6 sum ok] ICMP6, echo 
request, seq 1


In contrast, I can see icmp6 replies on eth1 of (2) when I ping the address on 
eth1 (just to confirm that there’s not a networking problem)

09:52:53.163874 IP6 (hlim 64, next-header ICMPv6 (58) payload length: 64) 
2a02:c7d:1d31:a600::1 > 2a02:c7d:1d31:a600::756: [icmp6 sum ok] ICMP6, echo 
request, seq 6
09:52:53.163918 IP6 (flowlabel 0x5d10f, hlim 64, next-header ICMPv6 (58) 
payload length: 64) 2a02:c7d:1d31:a600::756 > 2a02:c7d:1d31:a600::1: [icmp6 sum 
ok] ICMP6, echo reply, seq 6

I’ve checked that /proc/sys/net/ipv6/conf/*/forwarding are all ‘1' on (2), so 
it should be forwarding correctly.

IPv4 routeing does work as expected.

Have I missed something obvious, or should this work and there’s an issue 
somewhere in the technology stacks?

tia

Tim
— cut here for details --

Addresses on (1):
<code>
root@OpenWrt:~# ip -6 addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 532
    inet6 fe80::c056:27ff:fe72:49df/64 scope link 
       valid_lft forever preferred_lft forever
6: br-lan: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 
    inet6 2a02:c7d:1d31:a600::1/56 scope global noprefixroute dynamic 
       valid_lft 5882sec preferred_lft 2282sec
    inet6 fe80::c256:27ff:fe72:49df/64 scope link 
       valid_lft forever preferred_lft forever
7: wlan1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000
    inet6 fe80::225:9cff:fe13:a436/64 scope link 
       valid_lft forever preferred_lft forever
8: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000
    inet6 fe80::225:9cff:fe13:a437/64 scope link 
       valid_lft forever preferred_lft forever
11: pppoe-wan: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1492 qlen 3
    inet6 fe80::a5fe:3e79:733b:d408/10 scope link 
       valid_lft forever preferred_lft forever

</code>

(1)’s routeing table looks sane to me:
<code>
root@OpenWrt:~# ip -6 route
default from 2a02:c7d:1d31:a600::/56 via fe80::ea4:2ff:fe5e:b401 dev pppoe-wan  
proto static  metric 512 
2a02:c7d:1d31:a600::/64 dev br-lan  proto static  metric 1024 
2a02:c7d:1d31:a600::/62 via fe80::a00:27ff:fed5:7ed4 dev br-lan  proto static  
metric 1024 
2a02:c7d:1d31:a604::/62 via fe80::a00:27ff:fed5:7ed4 dev br-lan  proto static  
metric 1024 
unreachable 2a02:c7d:1d31:a600::/56 dev lo  proto static  metric 2147483647  
error -101
unreachable fd1f:42ab:5676::/48 dev lo  proto static  metric 2147483646  error 
-101
unreachable fd5c:15d9:112f::/48 dev lo  proto static  metric 2147483646  error 
-101
unreachable fd6d:4f5b:4b17::/48 dev lo  proto static  metric 2147483646  error 
-101
unreachable fd7f:a574:755e::/48 dev lo  proto static  metric 2147483646  error 
-101
unreachable fdae:52a3:59f9::/48 dev lo  proto static  metric 2147483646  error 
-101
throw fdbc:8204:46d7::/48 dev lo  proto 73  metric 2147483645  error -11
unreachable fdbc:8204:46d7::/48 dev lo  proto static  metric 2147483646  error 
-101
fe80::/64 dev br-lan  proto kernel  metric 256 
fe80::/64 dev eth0  proto kernel  metric 256 
fe80::/64 dev wlan1  proto kernel  metric 256 
fe80::/64 dev wlan0  proto kernel  metric 256 
fe80::/10 dev pppoe-wan  metric 1 
fe80::/10 dev pppoe-wan  proto kernel  metric 256 

</code>

(2) addresses:
<code>
root@OpenWrt:~# ip -6 addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 state UNKNOWN qlen 1
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000
    inet6 2a02:c7d:1d31:a600:a00:27ff:fed5:7ed4/64 scope global noprefixroute 
dynamic 
       valid_lft 4960sec preferred_lft 1360sec
    inet6 2a02:c7d:1d31:a600::756/128 scope global noprefixroute dynamic 
       valid_lft 7031sec preferred_lft 3431sec
    inet6 fe80::a00:27ff:fed5:7ed4/64 scope link 
       valid_lft forever preferred_lft forever
4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UNKNOWN qlen 1000
    inet6 2a02:c7d:1d31:a605::3c/64 scope global noprefixroute dynamic 
       valid_lft 7030sec preferred_lft 3430sec
    inet6 fdd0:c07b:2bec:31::3c/64 scope global noprefixroute dynamic 
       valid_lft 596sec preferred_lft 296sec
    inet6 fe80::a00:27ff:fed7:87e7/64 scope link 
       valid_lft forever preferred_lft forever
6: br-lan: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000
    inet6 fe80::a00:27ff:fe65:6cef/64 scope link 
       valid_lft forever preferred_lft forever
</code>

(2)’s routing table:
<code>
root@OpenWrt:~# ip -6 route
default from 2a02:c7d:1d31:a600::756 via fe80::c256:27ff:fe72:49df dev eth1  
proto static  metric 512  pref medium
default from 2a02:c7d:1d31:a600::/64 via fe80::c256:27ff:fe72:49df dev eth1  
proto static  metric 512  pref medium
default from 2a02:c7d:1d31:a604::/62 via fe80::c256:27ff:fe72:49df dev eth1  
metric 1024  pref medium
2a02:c7d:1d31:a600::/56 from 2a02:c7d:1d31:a600::756 via 
fe80::c256:27ff:fe72:49df dev eth1  proto static  metric 512  pref medium
2a02:c7d:1d31:a600::/56 from 2a02:c7d:1d31:a600::/64 via 
fe80::c256:27ff:fe72:49df dev eth1  proto static  metric 512  pref medium
2a02:c7d:1d31:a600::/56 from 2a02:c7d:1d31:a604::/62 via 
fe80::c256:27ff:fe72:49df dev eth1  proto static  metric 512  pref medium
2a02:c7d:1d31:a600::/64 dev eth1  proto static  metric 256  pref medium
2a02:c7d:1d31:a604::/64 dev eth0  proto static  metric 1024  pref medium
2a02:c7d:1d31:a605::/64 dev eth2  proto static  metric 1024  pref medium
throw 2a02:c7d:1d31:a604::/62 dev lo  proto 73  metric 2147483645  error -11 
pref medium
unreachable 2a02:c7d:1d31:a604::/62 dev lo  proto static  metric 2147483646  
error -113 pref medium
unreachable 2a02:c7d:1d31:a604::/62 dev lo  proto static  metric 2147483647  
error -113 pref medium
fdd0:c07b:2bec:4::/64 dev eth0  proto static  metric 1024  pref medium
fdd0:c07b:2bec:31::/64 dev eth2  proto static  metric 1024  pref medium
throw fdd0:c07b:2bec::/48 dev lo  proto 73  metric 2147483645  error -11 pref 
medium
fe80::/64 dev br-lan  proto kernel  metric 256  pref medium
fe80::/64 dev eth1  proto kernel  metric 256  mtu 1500 pref medium
fe80::/64 dev eth2  proto kernel  metric 256  pref medium

</code>

_______________________________________________
homenet mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/homenet

Reply via email to