I have set up a test ISC DHCP server that is not connected to an internet with DHCP and DHCPv6. I also have a Cisco 3750G with IPv6 enabled. I have firewalls off on both machines.
My Windows 7 machine will get both an IPv4 and an IPv6 address:
Ethernet adapter Wired Network Connection:
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : Intel(R) 82566MM Gigabit Network Connection
Physical Address. . . . . . . . . : 00-0B-97-DD-18-4E
DHCP Enabled. . . . . . . . . . . : Yes
Autoconfiguration Enabled . . . . : Yes
IPv6 Address. . . . . . . . . . . : 2001:6::afb(Preferred)
Link-local IPv6 Address . . . . . : fe80::900c:ec5b:cfd0:8470%11(Preferred)
IPv4 Address. . . . . . . . . . . : 10.99.1.101(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.0.0
Default Gateway . . . . . . . . . :
DHCP Server . . . . . . . . . . . : 10.99.1.10
DHCPv6 IAID . . . . . . . . . . . : 234883991
DHCPv6 Client DUID. . . . . . . . : 00-01-00-01-13-99-C3-BE-00-0B-97-DD-18-4E
DNS Servers . . . . . . . . . . . : 2001:6::10
10.99.1.10
NetBIOS over Tcpip. . . . . . . . : Enabled
Pinging on IPv4 works fine both ways. I can ping using IPv6 from the DHCP server to my windows machine, but if I try to ping from the Windows machine, to elsewhere, it gives me this:
C:\Users\Brad>ping 2001:8::10
Pinging 2001:8::10 with 32 bytes of data:
PING: transmit failed. General failure.
PING: transmit failed. General failure.
Ping statistics for 2001:8::10
Packets: Sent = 2, Received = 0, Lost = 2 (100% loss)
I read that I need to have a default router set (doesn't really make sense as I'm not leaving the network), but I can't find the option to set it. option routers
expects an IPv4 address.
Any ideas on what I'm doing wrong?
Edit: More Info
/etc/dhcpd6.conf
#Some defines
# These made no difference, but I saw them elsewhere:
#option dhcp6.softwire code 54 = ip6-address;
#option dhcp6.defroute code 123 = ip6-address;
#option dhcp6.defgateway code 99 = ip6-address;
ping-check false;
ddns-update-style none;
authoritative;
default-lease-time 900;
min-lease-time 900;
max-lease-time 900;
shared-network "pool 1" {
subnet6 2001:6::/64 {
range6 2001:6::11 2001:6::fff;
#prefix6 2001:6::1:0:0:0:0 2001:6::ffff:0:0:0:0 / 64;
option dhcp6.name-servers 2001:6::10;
option dhcp6.defgateway 2001:6::1;
}
}
Windows 7 Routing Table (It's only giving me /128 for the IPv6 address)
IPv6 Route Table
===========================================================================
Active Routes:
If Metric Network Destination Gateway
1 306 ::1/128 On-link
11 266 2001:6::afb/128 On-link
33 276 fe80::/64 On-link
14 281 fe80::/64 On-link
11 266 fe80::/64 On-link
14 281 fe80::39e6:c23:1fc4:b71b/128
On-link
11 266 fe80::900c:ec5b:cfd0:8470/128
On-link
33 276 fe80::b933:ca7f:14:f58d/128
On-link
1 306 ff00::/8 On-link
33 276 ff00::/8 On-link
14 281 ff00::/8 On-link
11 266 ff00::/8 On-link
===========================================================================
Persistent Routes:
None
You can't set the router through DHCPv6 (One of the many shortcomings I've found in it). You have to use the router advertisement protocol.
You have the prefix commented out in the configuration file you posted. DHCPv6 will need that or else the client has to guess, Windows defaults to 128.
Here is a pretty simple example with all the common options for ISC DHCPv6.