IPv4 and IPv6 Client Addresses via DHCP on a Dual-Stack Network

FreeBSD's base DHCP client (dhclient) currently does not support acquiring an IPv6 IP address via DHCP.

This article details how to install the dual-dhclient port to be able to acquire both an IPv4 and IPv6 address via DHCP servers on a dual-stack network.

Description from /usr/ports/net/dual-dhclient/pkg-message:

This port provides a script which spawns both /sbin/dhclient and
/usr/local/sbin/dhclient -6; this simplifies the configuration needed to
run DHCP on both protocols of a dual-stack network.

Install dual-dhclient:
cd /usr/ports/net/dual-dhclient
make install clean

Configure /etc/rc.conf with the following and replace em0 with your network interface:

ifconfig_em0="DHCP"   # inet ipv4 address via FreeBSD base dhclient
ifconfig_em0="inet6 DHCP" # inet6 ipv6 address via dual-dhclient.

Reboot and check if the interface acquired both DHCP addresses.
For troubleshooting check relevant logs.
DHCP IPv6 Lease File: /var/db/dhclient6.leases