"IP address is not allowed" error in Failover Cluster Manager when you use an IP schema to create a cluster or an IP resource

Applies to: Windows Server version 1803Windows Server Datacenter CoreWindows Server Standard Core More

Symptoms


If you're running Windows Server 2008 through Windows Server, version 1709, Windows Server Standard, version 1803 or Windows Server Datacenter, version 1803, you may experience the following error if you are using a particular IP schema for the first time:

The IP Address x.x.x.255 is a special address and is not allowed.
This issue occurs because an eight-bit subnet mask that has the x.x.x.255 as the last octet in the IP address is not allowed when you use the Failover Manager guide to create a cluster or an IP resource. You receive an error message in Failover Cluster Manager stating that the IP address is not allowed.

 

 

For example:

 
In Windows Server 2008, you may experience the following error:
error1
 
In Windows Server 2012, you may experience the following error:
error2
 
In Windows Server 2016, you may experience the following error:
error3
 
 
Notes:
 
  • There may be other subnet masks that causes this warning. If there is, try using the method described in the "Workaround" section.
  • This issue affects only those environments that don't use DHCP and where you try to manually enter an eight-bit subnet mask on a cluster creation.

Workaround


 

To work around this issue, use PowerShell either to create the cluster with the IP address or to create or change the new network resource, as follows.

 

PS > get-clusterresource
The result resembles the following:

Name                      State                  OwnerGroup       ResourceType
----                           -----                  ----------             ------------
Cluster IP Address      Online            Cluster Group     IPAddress
Cluster Name             Online            Cluster Group     Network Name

 

 

PS > get-clusterresource -Name "Cluster ip address" | get-clusterparameter -Name Network,Address,SubnetMask
The result resembles the following:
Object                   Name            Value                      Type
------                     ---- -             ----                          ----
Cluster ip address  Network       Cluster Network 3  String
Cluster ip address  Address        XX5.XX5.X0X.XXX   String
Cluster ip address  SubnetMask 255.0.0.0                 String
PS > get-clusterresource
The result resembles the following:
Name                       State          OwnerGroup         ResourceType
----                           -----           ----------               ------------
Cluster IP Address   Online        Cluster Group       IP Address
Cluster Name          Online        Cluster Group       Network Name
PS > get-clusterresource -Name "Cluster ip address" | get-clusterparameter -Name Network,Address,SubnetMask
The result resembles the following: 
Object                        Name              Value                           Type
------                          ----                  -----                             ----
Cluster ip address      Network          Cluster Network 3        String
Cluster ip address      Address           XX5.XX5.X0X.XXX         String
Cluster ip address      SubnetMask    255.0.0.0                       String
If you must change the network interface, you can do so with this command:
PS > get-clusterresource -Name "Cluster ip address" | set-clusterparameter -name network "Cluster Network 2"
The following command will zero out the IP address:
PS > get-clusterresource -Name "Cluster ip address" | get-clusterparameter -name address
The result resembles the following:  
Object                        Name         Value           Type
------                          ----             -----             ----
Cluster ip address     Address       0.0.0.0         String
The following command configures the clustered resource that's called "IP Address" to use a new static IP. Because the new address and subnet mask are required, both parameters must be passed together to Set-ClusterParameter.

PS > $resip = get-clusterresource -name "cluster ip address"

PS > $newip = New-Object
Microsoft.FailoverClusters.PowerShell.ClusterParameter $resip,address,100.6.XXX.XXX
PS > $newsubnm = New-Object Microsoft.FailoverClusters.PowerShell.ClusterParameter $resip,subnetmask,255.0.0.0
PS > $addnewaddr = $newip,$newsubnm
PS > $addnewaddr | set-clusterparameter 
The resource will update automatically, and you can verify this by running the following command:
PS > get-clusterresource -Name "Cluster ip address" | get-clusterparameter -Name Network,address,Subnetmask
Object                             Name                         Value
------                                ----                              -----
Cluster ip address           Network              Cluster Network 2
Cluster ip address           Address               100.6.XXX.XXX
Cluster ip address           SubnetMask        255.0.0.0
Note The Type column is not displayed above.
You also can use the following command-line interface to create the cluster:
cluster /cluster:ClusterName /create /nodes:"NodeName NodeName" /ipaddress:ClusterIPAddress/SubnetMask

Status


Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.