Ubuntu Server 16.04 not getting dhcpv6 leases
-
I'm setting up a ubuntu server running 16.04. I'm planning to use it for openvpn. It has two NICs, each with a /24 ipv4 and /64 ipv6. It's getting dhcp4 leases, but not dhcp6 leases. I'm pretty sure this isn't a pfsense problem, but I figured I'd try here before opening an account on the ubuntu forum so I can ask there.
I'm running pfsense 2.4 with two LAN interfaces, both with ipv4 and ipv6. A windows 10 client gets ipv4 and ipv6 leases on both interfaces so I don't think there are any issues with pfsense.
You can see below that it's getting SLAAC addresses. I can ping the addresses on eth0 and eth1 as well as external addresses, so I'm thinking this is a dhclient configuration issue. I'm new to *nix network administration so not sure where to look.
Here is the output from ip address:
1: lo: <loopback,up,lower_up>mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <broadcast,multicast,up,lower_up>mtu 1500 qdisc mq state UP group default qlen 1000 link/ether 00:15:5d:5c:e2:22 brd ff:ff:ff:ff:ff:ff inet 192.168.1.112/24 brd 192.168.1.255 scope global eth0 valid_lft forever preferred_lft forever inet6 2001:569:xxxx:b600:215:5dff:fe5c:e222/64 scope global mngtmpaddr dynamic valid_lft 86389sec preferred_lft 14389sec inet6 fe80::215:5dff:fe5c:e222/64 scope link valid_lft forever preferred_lft forever 3: eth1: <broadcast,multicast,up,lower_up>mtu 1500 qdisc mq state UP group default qlen 1000 link/ether 00:15:5d:5c:e2:23 brd ff:ff:ff:ff:ff:ff inet 10.8.0.102/24 brd 10.8.0.255 scope global eth1 valid_lft forever preferred_lft forever inet6 2001:569:xxxx:b601:215:5dff:fe5c:e223/64 scope global mngtmpaddr dynamic valid_lft 86391sec preferred_lft 14391sec inet6 fe80::215:5dff:fe5c:e223/64 scope link valid_lft forever preferred_lft forever</broadcast,multicast,up,lower_up></broadcast,multicast,up,lower_up></loopback,up,lower_up>
When I run sudo service networking restart, it hangs. If I ^C and run it again, it works.
Here is the output from sudo service networking status:
● networking.service - Raise network interfaces Loaded: loaded (/lib/systemd/system/networking.service; enabled; vendor prese Drop-In: /run/systemd/generator/networking.service.d └─50-insserv.conf-$network.conf Active: active (exited) since Sat 2016-11-05 14:41:33 PDT; 24min ago Docs: man:interfaces(5) Process: 36861 ExecStop=/sbin/ifdown -a --read-environment (code=exited, statu Process: 37266 ExecStart=/sbin/ifup -a --read-environment (code=exited, status Process: 37259 ExecStartPre=/bin/sh -c [ "$CONFIGURE_INTERFACES" != "no" ] && Main PID: 37266 (code=exited, status=0/SUCCESS) Tasks: 0 Memory: 0B CPU: 0 CGroup: /system.slice/networking.service Nov 05 14:41:33 ubuntu-openvpn systemd[1]: Starting Raise network interfaces... Nov 05 14:41:33 ubuntu-openvpn systemd[1]: Started Raise network interfaces.
Here is /etc/network/interfaces:
administrator@ubuntu-openvpn:~$ more /etc/network/interfaces # This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). source /etc/network/interfaces.d/* # The loopback network interface auto lo iface lo inet loopback iface lo inet6 loopback # The primary network interface auto eth0 iface eth0 inet dhcp iface etho inet6 dhcp #pre-up modprobe ipv6 auto eth1 iface eth1 inet dhcp iface eth1 inet6 dhcp #pre-up modprobe ipv6 administrator@ubuntu-openvpn:~$
I tried uncommenting the modprobe statements but that made no difference.
Here is /etc/dhcp/dhclient.conf:
# Configuration file for /sbin/dhclient. # # This is a sample configuration file for dhclient. See dhclient.conf's # man page for more information about the syntax of this file # and a more comprehensive list of the parameters understood by # dhclient. # # Normally, if the DHCP server provides reasonable information and does # not leave anything out (like the domain name, for example), then # few changes must be made to this file, if any. # option rfc3442-classless-static-routes code 121 = array of unsigned integer 8; send host-name = gethostname(); request subnet-mask, broadcast-address, time-offset, routers, domain-name, domain-name-servers, domain-search, host-name, dhcp6.name-servers, dhcp6.domain-search, dhcp6.fqdn, dhcp6.sntp-servers, netbios-name-servers, netbios-scope, interface-mtu, rfc3442-classless-static-routes, ntp-servers; #send dhcp-client-identifier 1:0:a0:24:ab:fb:9c; #send dhcp-lease-time 3600; #supersede domain-name "fugue.com home.vix.com"; #prepend domain-name-servers 127.0.0.1; #require subnet-mask, domain-name-servers; timeout 300; #retry 60; #reboot 10; #select-timeout 5; #initial-interval 2; #script "/sbin/dhclient-script"; #media "-link0 -link1 -link2", "link0 link1"; #reject 192.33.137.209; #alias { # interface "eth0"; # fixed-address 192.5.5.213; # option subnet-mask 255.255.255.255; #} #lease { # interface "eth0"; # fixed-address 192.33.137.200; # medium "link0 link1"; # option host-name "andare.swiftmedia.com"; # option subnet-mask 255.255.255.0; # option broadcast-address 192.33.137.255; # option routers 192.33.137.250; # option domain-name-servers 127.0.0.1; # renew 2 2000/1/12 00:00:01; # rebind 2 2000/1/12 00:00:01; # expire 2 2000/1/12 00:00:01; #}
Is this statement supposed to be commented out? Where does the value come from?
#send dhcp-client-identifier 1:0:a0:24:ab:fb:9c;
Thanks in advance.