diff --git a/src/network_config.cpp b/src/network_config.cpp
index a2620a4..4f59643 100644
--- a/src/network_config.cpp
+++ b/src/network_config.cpp
@@ -36,12 +36,12 @@
                 "IPv6AcceptRA=true\n"
 #else
                 "IPv6AcceptRA=false\n"
-
 #endif
                 "[DHCP]\nClientIdentifier=mac\n"
                 "UseDNS=true\nUseDomains=true\n"
                 "UseNTP=true\nUseHostname=true\n"
-                "SendHostname=true\n";
+                "SendHostname=true\n"
+                "[IPv6AcceptRA]\nDHCPv6Client=true\n";
 
     filestream.close();
 }
diff --git a/src/util.cpp b/src/util.cpp
index cad1ed8..7f55e2e 100644
--- a/src/util.cpp
+++ b/src/util.cpp
@@ -1,3 +1,5 @@
+#include "config.h"
+
 #include "util.hpp"
 
 #include "config_parser.hpp"
@@ -366,6 +368,12 @@
 
 bool getIPv6AcceptRA(const config::Parser& config)
 {
+#ifdef ENABLE_IPV6_ACCEPT_RA
+    constexpr bool def = true;
+#else
+    constexpr bool def = false;
+#endif
+
     auto value = config.map.getLastValueString("Network", "IPv6AcceptRA");
     if (value == nullptr)
     {
@@ -374,7 +382,7 @@
             config.getFilename().native());
         log<level::NOTICE>(msg.c_str(),
                            entry("FILE=%s", config.getFilename().c_str()));
-        return false;
+        return def;
     }
     auto ret = config::parseBool(*value);
     if (!ret.has_value())
@@ -386,11 +394,13 @@
                            entry("FILE=%s", config.getFilename().c_str()),
                            entry("VALUE=%s", value->c_str()));
     }
-    return ret.value_or(false);
+    return ret.value_or(def);
 }
 
 EthernetInterfaceIntf::DHCPConf getDHCPValue(const config::Parser& config)
 {
+    constexpr auto def = EthernetInterfaceIntf::DHCPConf::both;
+
     const auto value = config.map.getLastValueString("Network", "DHCP");
     if (value == nullptr)
     {
@@ -399,7 +409,7 @@
                         config.getFilename().native());
         log<level::NOTICE>(msg.c_str(),
                            entry("FILE=%s", config.getFilename().c_str()));
-        return EthernetInterfaceIntf::DHCPConf::none;
+        return def;
     }
     if (config::icaseeq(*value, "ipv4"))
     {
@@ -417,9 +427,10 @@
         log<level::NOTICE>(str.c_str(),
                            entry("FILE=%s", config.getFilename().c_str()),
                            entry("VALUE=%s", value->c_str()));
+        return def;
     }
-    return ret.value_or(false) ? EthernetInterfaceIntf::DHCPConf::both
-                               : EthernetInterfaceIntf::DHCPConf::none;
+    return *ret ? EthernetInterfaceIntf::DHCPConf::both
+                : EthernetInterfaceIntf::DHCPConf::none;
 }
 
 namespace mac_address
