diff --git a/man/systemd.network.xml b/man/systemd.network.xml
index 68e54932049..5ad9a846f03 100644
--- a/man/systemd.network.xml
+++ b/man/systemd.network.xml
@@ -1866,6 +1866,14 @@ IPv6Token=prefixstable:2002:da8:1::
DHCP= setting described above, or invoked by the IPv6 Router Advertisement:
+
+ UseAddress=
+
+ When true (the default), the IP addresses provided by the DHCPv6 server will be
+ assigned.
+
+
+
UseDNS=
UseNTP=
diff --git a/src/network/networkd-dhcp6.c b/src/network/networkd-dhcp6.c
index 51a34693c2d..89b22c35e36 100644
--- a/src/network/networkd-dhcp6.c
+++ b/src/network/networkd-dhcp6.c
@@ -1078,8 +1078,12 @@ static int dhcp6_address_acquired(Link *link) {
int r;
assert(link);
+ assert(link->network);
assert(link->dhcp6_lease);
+ if (!link->network->dhcp6_use_address)
+ return 0;
+
for (sd_dhcp6_lease_reset_address_iter(link->dhcp6_lease);;) {
uint32_t lifetime_preferred, lifetime_valid;
struct in6_addr ip6_addr;
diff --git a/src/network/networkd-network-gperf.gperf b/src/network/networkd-network-gperf.gperf
index 8b15548f6ff..afa97a6da44 100644
--- a/src/network/networkd-network-gperf.gperf
+++ b/src/network/networkd-network-gperf.gperf
@@ -221,6 +221,7 @@ DHCPv4.SendOption, config_parse_dhcp_send_option,
DHCPv4.SendVendorOption, config_parse_dhcp_send_option, 0, offsetof(Network, dhcp_client_send_vendor_options)
DHCPv4.RouteMTUBytes, config_parse_mtu, AF_INET, offsetof(Network, dhcp_route_mtu)
DHCPv4.FallbackLeaseLifetimeSec, config_parse_dhcp_fallback_lease_lifetime, 0, 0
+DHCPv6.UseAddress, config_parse_bool, 0, offsetof(Network, dhcp6_use_address)
DHCPv6.UseDNS, config_parse_dhcp_use_dns, 0, 0
DHCPv6.UseNTP, config_parse_dhcp_use_ntp, 0, 0
DHCPv6.RapidCommit, config_parse_bool, 0, offsetof(Network, dhcp6_rapid_commit)
diff --git a/src/network/networkd-network.c b/src/network/networkd-network.c
index 783f455a9fc..a8d6c58ac4d 100644
--- a/src/network/networkd-network.c
+++ b/src/network/networkd-network.c
@@ -352,10 +352,11 @@ int network_load_one(Manager *manager, OrderedHashmap **networks, const char *fi
.dhcp_use_timezone = false,
.dhcp_ip_service_type = -1,
+ .dhcp6_use_address = true,
+ .dhcp6_use_dns = true,
+ .dhcp6_use_ntp = true,
.dhcp6_rapid_commit = true,
.dhcp6_route_metric = DHCP_ROUTE_METRIC,
- .dhcp6_use_ntp = true,
- .dhcp6_use_dns = true,
.dhcp6_pd = -1,
.dhcp6_pd_announce = true,
diff --git a/src/network/networkd-network.h b/src/network/networkd-network.h
index 2b7dc4e94b3..656bf6c3669 100644
--- a/src/network/networkd-network.h
+++ b/src/network/networkd-network.h
@@ -146,6 +146,7 @@ struct Network {
OrderedHashmap *dhcp_client_send_vendor_options;
/* DHCPv6 Client support*/
+ bool dhcp6_use_address;
bool dhcp6_use_dns;
bool dhcp6_use_dns_set;
bool dhcp6_use_ntp;
diff --git a/test/fuzz/fuzz-network-parser/directives.network b/test/fuzz/fuzz-network-parser/directives.network
index 797d81cdf84..3024c65713b 100644
--- a/test/fuzz/fuzz-network-parser/directives.network
+++ b/test/fuzz/fuzz-network-parser/directives.network
@@ -125,6 +125,7 @@ MUDURL=
RouteMTUBytes=
FallbackLeaseLifetimeSec=
[DHCPv6]
+UseAddress=
UseNTP=
UseDNS=
RapidCommit=