Discussion:
[Dnsmasq-discuss] dnsmasq, no RA being sent after RTR solicitation when interface has /128 prefix assigned
Christof Schulze
2017-07-03 04:44:58 UTC
Permalink
Hello everyone,

This is my first post to this list.
Recently I have observed that dnsmasq sending Ras seems to depend on the
ipv6 address that is assigned to the interface that dnsmasq is running
on. This is a discrepancy to what uradvd is doing. Do I have a
configuration issue or is this a missing feature and/or bug in dnsmasq?

This is my setup:
========================================================
dnsmasq.conf

domain-needed
localise-queries
read-ethers
expand-hosts
cache-size=5000
domain=client
server=/lan/
server=2a06:8187:fb00:53::53
dhcp-leasefile=/tmp/dhcp.leases
resolv-file=/tmp/resolv.conf.auto
addn-hosts=/tmp/hosts
user=dnsmasq
group=dnsmasq

enable-ra
dhcp-range=2a06:8187:fbab:0002::,ra-stateless,64,1h
dhcp-option=option6:dns-server,[2a06:8187:fbab:2::1]

interface=local-node

no-dhcp-interface=br-wan
========================================================


When the local-node interface is set up like this, then there will be RAs sent by dnsmasq
9: local-***@local-port: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 16:41:95:40:f7:dc brd ff:ff:ff:ff:ff:ff
inet 10.126.0.1/16 brd 10.126.255.255 scope global local-node
valid_lft forever preferred_lft forever
inet6 2a06:8187:fbab:2:15::1/64 scope global
valid_lft forever preferred_lft forever
inet6 2a06:8187:fbab:2::1/128 scope global deprecated
valid_lft forever preferred_lft 0sec
inet6 fe80::1441:95ff:fe40:f7dc/64 scope link
valid_lft forever preferred_lft forever

While when local-node is set up like this, there will not be any RA sent by dnsmasq:
9: local-***@local-port: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 16:41:95:40:f7:dc brd ff:ff:ff:ff:ff:ff
inet 10.126.0.1/16 brd 10.126.255.255 scope global local-node
valid_lft forever preferred_lft forever
inet6 2a06:8187:fbab:2::1/128 scope global deprecated
valid_lft forever preferred_lft 0sec
inet6 fe80::1441:95ff:fe40:f7dc/64 scope link
valid_lft forever preferred_lft forever

I would appreciate insights into how I could get dnsmasq to send Ras even in
the second scenario, withouth the additional /64 address.

Regards

Christof
--
() ascii ribbon campaign - against html e-mail
/\ against proprietary attachments
Simon Kelley
2017-07-08 21:18:02 UTC
Permalink
Looking at the code, a prefix is only advertised if and address with the
prefix exists on the interface AND the prefix length on the interface is
less than or equal to the prefix being advertised.

My IPv6 foo is not up to justifying that at the moment, but it certainly
explains what you are seeing.

Can you explain why what you're trying to do is sensible? If you're
advertising 2a06:8187:fbab:2:15::/64 wouldn't it make sense for router
advertising that prefix to have an address allowing it to reach other
on-link hosts with addresses in the prefix?


Cheers,

Simon.
Post by Christof Schulze
Hello everyone,
This is my first post to this list.
Recently I have observed that dnsmasq sending Ras seems to depend on the
ipv6 address that is assigned to the interface that dnsmasq is running
on. This is a discrepancy to what uradvd is doing. Do I have a
configuration issue or is this a missing feature and/or bug in dnsmasq?
========================================================
dnsmasq.conf
domain-needed
localise-queries
read-ethers
expand-hosts
cache-size=5000
domain=client
server=/lan/
server=2a06:8187:fb00:53::53
dhcp-leasefile=/tmp/dhcp.leases
resolv-file=/tmp/resolv.conf.auto
addn-hosts=/tmp/hosts
user=dnsmasq
group=dnsmasq
enable-ra
dhcp-range=2a06:8187:fbab:0002::,ra-stateless,64,1h
dhcp-option=option6:dns-server,[2a06:8187:fbab:2::1]
interface=local-node
no-dhcp-interface=br-wan
========================================================
When the local-node interface is set up like this, then there will be RAs sent by dnsmasq
qdisc noqueue state UP group default qlen 1000
link/ether 16:41:95:40:f7:dc brd ff:ff:ff:ff:ff:ff
inet 10.126.0.1/16 brd 10.126.255.255 scope global local-node
valid_lft forever preferred_lft forever
inet6 2a06:8187:fbab:2:15::1/64 scope global valid_lft forever
preferred_lft forever
inet6 2a06:8187:fbab:2::1/128 scope global deprecated valid_lft
forever preferred_lft 0sec
inet6 fe80::1441:95ff:fe40:f7dc/64 scope link valid_lft forever
preferred_lft forever
qdisc noqueue state UP group default qlen 1000
link/ether 16:41:95:40:f7:dc brd ff:ff:ff:ff:ff:ff
inet 10.126.0.1/16 brd 10.126.255.255 scope global local-node
valid_lft forever preferred_lft forever
inet6 2a06:8187:fbab:2::1/128 scope global deprecated valid_lft
forever preferred_lft 0sec
inet6 fe80::1441:95ff:fe40:f7dc/64 scope link valid_lft forever
preferred_lft forever
I would appreciate insights into how I could get dnsmasq to send Ras even in
the second scenario, withouth the additional /64 address.
Regards
Christof
_______________________________________________
Dnsmasq-discuss mailing list
http://lists.thekelleys.org.uk/mailman/listinfo/dnsmasq-discuss
Loading...