Le vendredi 13 mai 2016 à 17:32 +0200, Bastien Durel a écrit :
> Hello,
>
> I have an OpenBSD router with a few interfaces, connected to a few
> other routers, sharing routes with ospf(6)d.
>
> There's also some hosts connected to its interfaces.
>
Hello,
As proposed by Marc Peters, I've set the prefixes in rtadvd.conf :
em1:\
:rdnss="2001:6f8:3c8:42::10":\
:dnssl="geekwu.org":\
:addr0="2001:6f8:3c8:42::":\
:addr1="2001:41d0:fe4b:ec42::":\
:noifprefix:
I've also put noifprefix ...
But each time the 2001:41d0:fe4b:ec01::/64 comes from OSPF6, it makes
its way back in the RA's
10:45:42.633224 IP6 (hlim 255, next-header ICMPv6 (58) payload length:
168) fe80::200:24ff:fed1:420d > ff02::1: [icmp6 sum ok] ICMP6, router
advertisement, length 168
hop limit 64, Flags [none], pref medium, router lifetime 1800s,
reachable time 0s, retrans time 0s
source link-address option (1), length 8 (1):
00:00:24:d1:42:0d
0x0000: 0000 24d1 420d
prefix info option (3), length 32 (4): 2001:6f8:3c8:42::/64,
Flags [onlink, auto], valid time 2592000s, pref. time 604800s
0x0000: 40c0 0027 8d00 0009 3a80 0000 0000 2001
0x0010: 06f8 03c8 0042 0000 0000 0000 0000
prefix info option (3), length 32 (4):
2001:41d0:fe4b:ec42::/64, Flags [onlink, auto], valid time 2592000s,
pref. time 604800s
0x0000: 40c0 0027 8d00 0009 3a80 0000 0000 2001
0x0010: 41d0 fe4b ec42 0000 0000 0000 0000
prefix info option (3), length 32 (4):
2001:41d0:fe4b:ec01::/64, Flags [onlink, auto], valid time 2592000s,
pref. time 604800s
0x0000: 40c0 0027 8d00 0009 3a80 0000 0000 2001
0x0010: 41d0 fe4b ec01 0000 0000 0000 0000
rdnss option (25), length 24 (3): lifetime 900s, addr:
2001:6f8:3c8:42::10
0x0000: 0000 0000 0384 2001 06f8 03c8 0042 0000
0x0010: 0000 0000 0010
dnssl option (31), length 24 (3): lifetime 900s, domain(s):
geekwu.org.
0x0000: 0000 0000 0384 0667 6565 6b77 7503 6f72
0x0010: 6700 0000 0000
> rtadvd.conf is really simple:
>
> # cat /etc/rtadvd.conf
> em0:\
> :rdnss="2001:6f8:3c8:42::10":\
> :dnssl="geekwu.org":
> em1:\
> :rdnss="2001:6f8:3c8:42::10":\
> :dnssl="geekwu.org":
> em5:\
> :rdnss="2001:6f8:3c8:42::10":\
> :dnssl="geekwu.org":
> em4:\
> :rdnss="2001:6f8:3c8:42::10":\
> :dnssl="geekwu.org":
>
> A router connected to em1 provides connectivity to the prefix
> 2001:41d0:fe4b:ec01::/64 ; so whe have this in OSPF6 RIB:
>
> Destination Nexthop Path
> Type Type Cost Uptime
> 2001:41d0:fe4b:ec01::/64 fe80::225:22ff:fe1e:bb7%em1 Type 1
> ext Network 10 00:26:13
>
> and this in routing table :
>
> Destination Gateway Fla
> gs Refs Use Mtu Prio Iface
> 2001:41d0:fe4b:ec01::/64 fe80::225:22ff:fe1e:bb7%em1 UG
> 0 0 - 32 em1
>
> em1 have 2 inet6 address configured :
>
> em1: flags=18843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST,MPSAFE> mtu
> 1500
> lladdr 00:00:24:d1:42:0d
> description: DMZ
> [...]
> inet6 fe80::200:24ff:fed1:420d%em1 prefixlen 64 scopeid 0x2
> inet6 2001:6f8:3c8:42:200:24ff:fec6:94c8 prefixlen 64
> inet6 2001:41d0:fe4b:ec42:200:24ff:fed1:420d prefixlen 64
>
> And the router sends RAs on this interface with *3* prefixes :
>
> 15:23:54.878534 IP6 (hlim 255, next-header ICMPv6 (58) payload
> length: 168) fe80::200:24ff:fed1:420d > ff02::1: [icmp6 sum ok]
> ICMP6, router advertisement, length 168
> hop limit 64, Flags [none], pref medium, router lifetime 1800s,
> reachable time 0s, retrans time 0s
> source link-address option (1), length 8 (1):
> 00:00:24:d1:42:0d
> 0x0000: 0000 24d1 420d
> prefix info option (3), length 32 (4): 2001:6f8:3c8:42::/64,
> Flags [onlink, auto], valid time 2592000s, pref. time 604800s
> 0x0000: 40c0 0027 8d00 0009 3a80 0000 0000 2001
> 0x0010: 06f8 03c8 0042 0000 0000 0000 0000
> prefix info option (3), length 32 (4):
> 2001:41d0:fe4b:ec42::/64, Flags [onlink, auto], valid time 2592000s,
> pref. time 604800s
> 0x0000: 40c0 0027 8d00 0009 3a80 0000 0000 2001
> 0x0010: 41d0 fe4b ec42 0000 0000 0000 0000
> prefix info option (3), length 32 (4):
> 2001:41d0:fe4b:ec01::/64, Flags [onlink, auto], valid time 2592000s,
> pref. time 604800s
> 0x0000: 40c0 0027 8d00 0009 3a80 0000 0000 2001
> 0x0010: 41d0 fe4b ec01 0000 0000 0000 0000
> rdnss option (25), length 24 (3): lifetime 900s, addr:
> 2001:6f8:3c8:42::10
> 0x0000: 0000 0000 0384 2001 06f8 03c8 0042 0000
> 0x0010: 0000 0000 0010
> dnssl option (31), length 24 (3): lifetime 900s, domain(s):
> geekwu.org.
> 0x0000: 0000 0000 0384 0667 6565 6b77 7503 6f72
> 0x0010: 6700 0000 0000
>
> If I disconnect the 2001:41d0:fe4b:ec01::/64 from the remote router,
> it
> disappear from OSPF6 RIB, and from RAs too.
>
> 15:33:59.901622 IP6 (hlim 255, next-header ICMPv6 (58) payload
> length: 136) fe80::200:24ff:fed1:420d > ff02::1: [icmp6 sum ok]
> ICMP6, router advertisement, length 136
> hop limit 64, Flags [none], pref medium, router lifetime 1800s,
> reachable time 0s, retrans time 0s
> source link-address option (1), length 8 (1):
> 00:00:24:d1:42:0d
> 0x0000: 0000 24d1 420d
> prefix info option (3), length 32 (4): 2001:6f8:3c8:42::/64,
> Flags [onlink, auto], valid time 2592000s, pref. time 604800s
> 0x0000: 40c0 0027 8d00 0009 3a80 0000 0000 2001
> 0x0010: 06f8 03c8 0042 0000 0000 0000 0000
> prefix info option (3), length 32 (4):
> 2001:41d0:fe4b:ec42::/64, Flags [onlink, auto], valid time 2592000s,
> pref. time 604800s
> 0x0000: 40c0 0027 8d00 0009 3a80 0000 0000 2001
> 0x0010: 41d0 fe4b ec42 0000 0000 0000 0000
> rdnss option (25), length 24 (3): lifetime 900s, addr:
> 2001:6f8:3c8:42::10
> 0x0000: 0000 0000 0384 2001 06f8 03c8 0042 0000
> 0x0010: 0000 0000 0010
> dnssl option (31), length 24 (3): lifetime 900s, domain(s):
> geekwu.org.
> 0x0000: 0000 0000 0384 0667 6565 6b77 7503 6f72
> 0x0010: 6700 0000 0000
>
> The prefix is only advertised on em1, not on the other interfaces.
>
> Is there a way to prevent rtadvd from advertising
> 2001:41d0:fe4b:ec01::/64 ?
>
> Thanks,
>
If I restart rtadvd AFTER ospf6d acquired the 2001:41d0:fe4b:ec01::/64
route, it did not send it in RAs, but if it's re-injected (interface
down, then up on OSPF6 peer), it's re-announced in RAs
looks like a nasty bug to me :(
--
Bastien