Comment 18 for bug 1624722

Revision history for this message
VF (fviktor) wrote :

I've done the following test today on two physical machines, so no virtualization is involved.

How to reproduce:

What I have tried today: Installed Ubuntu 14.04 64bit (kernel 4.4.0.-38-generic) on two physical machines (no virtualization involved). Upgraded them and installed radvd and isc-dhcp-server on one of them (server). Then connected the two machines directly with a network cable, no other infrastructure involved.

Server:
- Install Ubuntu 14.04 64bit (kernel 4.4.0.-38-generic)
- Apply all upgrades
- Disconnect the machine from the network
- Enable IPv6 forwarding in /etc/sysctl.conf, this is required by radvd
- Reboot
- Add IPv6 address fc00:0:0:1::1/64 (gateway) to eth0
- Configure radvd (/etc/radvd.conf):

interface eth0
{
  AdvSendAdvert on;
  AdvManagedFlag on;
  prefix fec0:0:0:1::/64
  {
    AdvOnLink on;
    AdvRouterAddr on;
    AdvAutonomous off;
    AdvValidLifetime 7200;
    AdvPreferredLifetime 3600;
  };
};

- Configure isc-dhcp-server6:
- In /etc/isc-dhcp-server6 set the INTERFACE to eth0
- Contents of /etc/dhcp/dhcpd6.conf:

authoritative;
ddns-update-style none;
option domain-name "domain";
option dhcp6.name-servers fec0:0:0:0::1;
option dhcp6.domain-search "domain.com";
default-lease-time 3600;
max-lease-time 3600;
shared-network lan {
  subnet6 fec0:0:0:1::/64 {
    range6 fec0:0:0:1::2 fec0:0:0:1::2;
  }
}

- Start both radvd and isc-dhcp-server6 services, there should be no errors in syslog.

Client:

- Install Ubuntu 14.04 64bit (kernel 4.4.0.-38-generic)
- Apply all upgrades
- Disconnect the machine from the network
- Connect the machine with a direct network cable (or through a desk switch) to the server machine.

Expected behavior: IPv6 address fc00:0:0:1::2 is assigned to the client

Actual behavior: dhclient is sending solicit requests to the server, it arrives to the network interface, then eaten by the kernel.

Additional information:

DHCPv6 server does not log anything and does not seem to receive the packet in user space at all. According to netstat -g the dhcpd process is correctly registered to broadcast group ff02::1:2 and according to netstat -nlp it is listening on UDP6 port 547. Running dhcpd in the foreground with strace confirms that the packet does not arrive to the process. Same behavior was observed with latest Ubuntu 16.04 64bit.