Page MenuHomeVyOS Platform

1.3 DHCPv6 Ethernet not working
Closed, ResolvedPublicBUG

Details

Difficulty level
Easy (less than an hour)
Version
1.3
Why the issue appeared?
Will be filled on close
Is it a breaking change?
Unspecified (possibly destroys the router)

Event Timeline

dsummers created this task.May 25 2020, 4:36 AM

I'm would like to try out the new VyOS 1.3 DHCPv6-PD feature.

(THANKS FOR WORKING ON DHCPV6-PD! VERY MUCH NEEDED!)

However, I first just tried setting DHCPv6 on the external interface like so:

vyos@vyos:~$ show configuration
interfaces {

ethernet eth0 {
    address dhcp
    address dhcpv6
    hw-id 08:00:27:6a:f2:78
}
ethernet eth1 {
    hw-id 08:00:27:43:6e:d1
}
loopback lo {
}

}
service {

ssh {
}

}
system {

config-management {
    commit-revisions 100
}
console {
    device ttyS0 {
        speed 115200
    }
}
host-name vyos
login {
    user vyos {
        authentication {
            encrypted-password ****************
            plaintext-password ****************
        }
    }
}
ntp {
    server 0.pool.ntp.org {
    }
    server 1.pool.ntp.org {
    }
    server 2.pool.ntp.org {
    }
}
syslog {
    global {
        facility all {
            level info
        }
        facility protocols {
            level debug
        }
    }
}

}

I'm not even getting an IPv6 address with this simple setup:

vyos@vyos:~$ show interfaces
Codes: S - State, L - Link, u - Up, D - Down, A - Admin Down
Interface IP Address S/L Description


eth0 10.0.2.170/24 u/u
eth1 - u/u
lo 127.0.0.1/8 u/u

::1/128

This is on my home/office network where IPv6 has been running fine and all other hosts work fine on IPv6 for 10 years now.

I checked the /var/log/message logs and they show:

May 25 04:43:57 vyos systemd[1]: Stopping DHCP client on eth0...
May 25 04:43:57 vyos systemd[1]: dhclient@eth0.service: Main process exited, code=killed, status=15/TERM
May 25 04:43:57 vyos dhclient[4773]: Killed old client process
May 25 04:43:57 vyos dhclient[4773]: Killed old client process
May 25 04:43:58 vyos dhclient[4773]: DHCPRELEASE of 10.0.2.170 on eth0 to 10.0.2.2 port 67
May 25 04:43:58 vyos dhclient-script-vyos[4774]: Current dhclient PID: 4773, Parent PID: 1, IP version: -4, All dhclients for interface eth0:
May 25 04:43:58 vyos dhclient-script-vyos[4774]: Passing command to /usr/sbin/ip: "-4 addr flush dev eth0 label eth0"
May 25 04:43:58 vyos dhclient-script-vyos[4774]: Deleting nameservers with tag "dhcp-eth0" via vyos-hostsd-client
May 25 04:43:58 vyos vyos-hostsd[564]: Received a configuration change request
May 25 04:43:58 vyos vyos-hostsd[564]: Request data: {"type": "name_servers", "op": "delete", "tag": "dhcp-eth0"}
May 25 04:43:58 vyos vyos-hostsd[564]: Writing /etc/resolv.conf
May 25 04:43:58 vyos vyos-hostsd[564]: Writing /etc/hosts
May 25 04:43:58 vyos vyos-hostsd[564]: Saving state to /var/lib/vyos/hostsd.state
May 25 04:43:58 vyos vyos-hostsd[564]: Sent response: {'data': None}
May 25 04:43:58 vyos dhclient-script-vyos[4774]: Deleting default route: via 10.0.2.1 dev eth0
May 25 04:43:58 vyos dhclient-script-vyos[4774]: FRR status: running
May 25 04:43:58 vyos dhclient-script-vyos[4774]: Checking if the route presented in kernel: default via 10.0.2.1 dev eth0
May 25 04:43:58 vyos dhclient-script-vyos[4774]: Converted vtysh command: "no ip route 0.0.0.0/0 10.0.2.1 eth0 tag 210 210"
May 25 04:43:58 vyos dhclient-script-vyos[4774]: Sending command to vtysh
May 25 04:43:58 vyos systemd[1]: dhclient@eth0.service: Succeeded.
May 25 04:43:58 vyos systemd[1]: Stopped DHCP client on eth0.
May 25 04:43:58 vyos systemd[1]: Starting DHCP client on eth0...
May 25 04:43:58 vyos systemd[1]: Started DHCP client on eth0.
May 25 04:43:58 vyos systemd[1]: Starting WIDE DHCPv6 client on eth0...
May 25 04:43:58 vyos dhcp6c[4828]: dhcp6_ctl_authinit: failed to open /run/dhcp6c/dhcp6c.eth0.sock: No such file or directory
May 25 04:43:58 vyos dhcp6c[4828]: client6_init: failed initialize control message authentication
May 25 04:43:58 vyos dhcp6c[4828]: client6_init: skip opening control port
May 25 04:43:58 vyos systemd[1]: dhcp6c@eth0.service: Can't open PID file /run/dhcp6c/dhcp6c.eth0.pid (yet?) after start: No such file or directory
May 25 04:43:58 vyos dhclient-script-vyos[4825]: Current dhclient PID: 4823, Parent PID: 4821, IP version: -4, All dhclients for interface eth0: 4821 4823
May 25 04:43:58 vyos dhclient-script-vyos[4825]: Passing command to /usr/sbin/ip: "link set dev eth0 up"
May 25 04:43:58 vyos systemd[1]: Started WIDE DHCPv6 client on eth0.
May 25 04:43:58 vyos dhclient[4823]: DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 3
May 25 04:43:58 vyos systemd[1]: opt-vyatta-config-tmp-new_config_4295.mount: Succeeded.
May 25 04:43:58 vyos commit: Successful change to active configuration by user vyos on /dev/pts/1

vyos@vyos:~$ show version
Version: VyOS 1.3-rolling-202005231822
Release Train: equuleus

Built by: autobuild@vyos.net
Built on: Sat 23 May 2020 18:22 UTC
Build UUID: accc3924-d101-45e8-aa0d-3c4c4273a147
Build Commit ID: a29347ca9dd260

Architecture: x86_64
Boot via: installed image
System type: KVM guest

Hardware vendor: innotek GmbH
Hardware model: VirtualBox
Hardware S/N: 0
Hardware UUID: 7522c838-8234-4710-8937-0c071fd52b34

Copyright: VyOS maintainers and contributors

Any ideas?

Is there any more information I can provide?

Brand new setup of 1.3, simplest configuration you can have, no DHCPv6.

If I can get this figured out then my next step will be to try DHCPv6-PD.

THANKS!

pasik added a subscriber: pasik.May 25 2020, 7:07 AM
oddboy added a subscriber: oddboy.Jun 5 2020, 2:09 AM

Fwiw, I found that the scripts that run "pass into to /usr/sbin/ip" , but the ip command is actually at /sbin/ip.

For example in the output above at may 25 04:43.

Where do you configure DHCPv6 PD?

dsummers added a comment.EditedJun 5 2020, 5:20 AM

@jack9603301 As I already stated in the first comment in T2510 and in T421, this is not configuring DHCPv6-PD.

This is just trying to configure DHCPv6.

I figure I can't configure DHCPv6-PD until I configure DHCPv6 first.

Once I can configure DHCPv6 then I will try to configure DHCPv6-PD.

More information: My DHCPv6 server is PfSense Version 2.4.5-Release

I've been running PfSense as my DHCPv4 and DHCPv6 server for the last 5 years.

All my other clients, Linux, Mac, Windows, work fine with PfSense DHCPv4 and DHCPv6 server.

I wonder why VyOS is not working with it?

jack9603301 added a comment.EditedJun 5 2020, 7:01 AM

Strange, I didn't test this problem again, but according to the T2449 problem I submitted before, DHCPv6 of IPv6 can get the address and route normally (the route depends on SLAAC). Isn't it ok now?

According to your error log, dhcp6c@eth0 Failed to start. You can try to restart the service to see what the problem is?

May 25 04:43:58 vyos systemd[1]: Starting DHCP client on eth0...
May 25 04:43:58 vyos systemd[1]: Started DHCP client on eth0.
May 25 04:43:58 vyos systemd[1]: Starting WIDE DHCPv6 client on eth0...
May 25 04:43:58 vyos dhcp6c[4828]: dhcp6_ctl_authinit: failed to open /run/dhcp6c/dhcp6c.eth0.sock: No such file or directory
May 25 04:43:58 vyos dhcp6c[4828]: client6_init: failed initialize control message authentication
May 25 04:43:58 vyos dhcp6c[4828]: client6_init: skip opening control port
May 25 04:43:58 vyos systemd[1]: dhcp6c@eth0.service: Can't open PID file /run/dhcp6c/dhcp6c.eth0.pid (yet?) after start: No such file or directory

As required by the DHCPv6 PD function, the IPv6 part seems to be migrated from ISC DHCPv6 to wide-dhcpv6. According to your error log analysis, dhcp6c@eth0 Start failed.

Yes, I've been seeing those messages.

Are those messages expected or should something be fixed to eliminate them?

@dsummers Obviously, this kind of output belongs to error report, prompt dhcp6c@eth0 Unable to start normally, measures should be taken to eliminate them. I once submitted a PR (not yet passed) that can try to restart when the service fails. The original intention is to recover from the failure when the first load fails after the restart (because some interfaces are not initialized). I don't know if this patch can help temporarily dhcp6c@eth0 Restart, and complete the startup normally after 10 seconds of failure. However, you can try it. In a word, you should take measures to eliminate such errors.

https://github.com/vyos/vyos-1x/pull/438

The problem is not with the restart.
I think the problem with the template dhclient-ipv6.tmpl

Default template generate:

root@r4-roll:/home/vyos# cat /run/dhcp6c/dhcp6c.eth1.conf 
### Autogenerated by interface.py ###

# man https://www.unix.com/man-page/debian/5/dhcp6c.conf/
interface eth1 {
    request domain-name-servers;
    request domain-name;
};

Missing default parameter "id-assoc"

If I replace config for dhcpv6 client eth1 to

root@r4-roll:/home/vyos# sudo cat /run/dhcp6c/dhcp6c.eth1.conf
### Autogenerated by interface.py ###

# man https://www.unix.com/man-page/debian/5/dhcp6c.conf/
interface eth1 {
	send ia-na 0;
	request domain-name-servers;
    request domain-name;
};

id-assoc na 0 {
};

All works fine.

Before change

vyos@r4-roll:~$ show int
Codes: S - State, L - Link, u - Up, D - Down, A - Admin Down
Interface        IP Address                        S/L  Description
---------        ----------                        ---  -----------
eth0             192.168.122.14/24                 u/u  
eth1             -                                 u/u

After:

sudo systemctl restart dhcp6c@eth1.service

vyos@r4-roll# run show int
Codes: S - State, L - Link, u - Up, D - Down, A - Admin Down
Interface        IP Address                        S/L  Description
---------        ----------                        ---  -----------
eth0             192.168.122.14/24                 u/u  
eth1             2001:db8::198/128                 u/u
c-po changed the task status from Open to In progress.Aug 18 2020, 3:22 PM
c-po claimed this task.
c-po triaged this task as High priority.
c-po changed Difficulty level from Unknown (require assessment) to Easy (less than an hour).
c-po closed this task as Resolved.Aug 18 2020, 3:48 PM