I have isc-dhcp42-server-4.2.4_1 installed from ports on an amd64 8.3-p3
machine acting as an IPv6 router using SLAAC and stateless DHCPv6.
When machines do DHCPv6 Information Requests (per the RA's O flag), I
can see in the DHCPv6 server logging the requests like this:
Sep 10 01:20:31 chombo dhcpd: Information-request message from
fe80::e812:4ecc:5220:8206 port 546, transaction ID 0x5A5CE500
Sep 10 01:20:31 chombo dhcpd: Sending Reply to fe80::e812:4ecc:5220:8206
port 546
Sep 10 01:20:31 chombo dhcpd: send_packet6: No route to host
Sep 10 01:20:31 chombo dhcpd: dhcpv6: send_packet6() sent -1 of 92 bytes
I used tcpdump to watch the exchange and the replies never make it onto
the wire. Looking at my route table[1], I see the usual scoped
link-local routes, plus this one:
Destination Gateway Flags Netif Expire
fe80::/10 ::1 UGRS lo0
Okay, so it looks like link-local is routed to the loopback by default.
As a test, I changed that to the lan interface:
# route delete -inet6 fe80:: -prefixlen 10
delete net fe80::
# route add -inet6 fe80:: -prefixlen 10 -iface lan
add net fe80::: gateway lan
Which fixes the "No route to host" problem (machines now get DHCPv6 just
fine). The rub is, I will need to do DHCPv6 on fxp0 as well.
Why would there be that fe80::/10 via lo0 route in the first place?
How do I get the DHCPv6 replies to go out the interfaces on which the
requests came in? Is this a bug in isc-dhcp42-server such that it isn't
correctly setting the interface scope on its replies?
1: http://pastie.org/4694484
_______________________________________________
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"