diff --git a/lxd/network/driver_ovn.go b/lxd/network/driver_ovn.go
index <HASH>..<HASH> 100644
--- a/lxd/network/driver_ovn.go
+++ b/lxd/network/driver_ovn.go
@@ -278,6 +278,10 @@ func (n *ovn) Validate(config map[string]string) error {
 			return err
 		}
 
+		// Check if uplink has routed ingress anycast mode enabled, as this relaxes the overlap checks.
+		ipv4UplinkAnycast := n.uplinkHasIngressRoutedAnycastIPv4(uplink)
+		ipv6UplinkAnycast := n.uplinkHasIngressRoutedAnycastIPv6(uplink)
+
 		for _, externalSubnet := range externalSubnets {
 			// Check the external subnet is allowed within both the uplink's external routes and any
 			// project restricted subnets.
@@ -286,6 +290,15 @@ func (n *ovn) Validate(config map[string]string) error {
 				return err
 			}
 
+			// Skip overlap checks if external subnet's protocol has anycast mode enabled on uplink.
+			if externalSubnet.IP.To4() == nil {
+				if ipv6UplinkAnycast == true {
+					continue
+				}
+			} else if ipv4UplinkAnycast == true {
+				continue
+			}
+
 			// Check the external subnet doesn't fall within any existing OVN network external subnets.
 			for _, ovnNetworkExternalSubnet := range ovnNetworkExternalSubnets {
 				if SubnetContains(ovnNetworkExternalSubnet, externalSubnet) || SubnetContains(externalSubnet, ovnNetworkExternalSubnet) {
lxc/network/driver/ovn: Skip overlap detection of networks external subnets when uplink is in anycast routed ingress mode