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