Mixed OS swarm IP addresses incorrect

I have created a swarm with a Windows Server 2016 server as the master and a CoreOS server as a slave and am trying to run RabbitMQ on the CoreOS server and a Windows service on the Windows server

Expected behavior

DNS within the container on the Windows server correctly resolves the IP address of RabbitMQ on the CoreOS server

Actual behavior

DNS within the Windows container resolves the wrong IP address

Information

I am seeing the following errors in the docker daemon logs on the Windows server. I have disable the firewall on the Windows server and iptables on the CoreOS server is set to allow all inbound

time="2017-06-15T14:14:42.265323200Z" level=warning msg="memberlist: Failed to send ping: write udp 10.0.2.5:7946->10.0.2.6:7946: wsasendto: The requested address is not valid in its context."
time="2017-06-15T14:14:42.501319600Z" level=warning msg="memberlist: Failed to send gossip to 10.0.2.6:7946: write udp 10.0.2.5:7946->10.0.2.6:7946: wsasendto: The requested address is not valid in its context."
time="2017-06-15T14:14:42.734320300Z" level=error msg="agent: session failed" error="session initiation timed out" module="node/agent"
time="2017-06-15T14:14:43.587319900Z" level=info msg="grpc: addrConn.resetTransport failed to create client transport: connection error: desc = \"transport: dial tcp 10.0.2.5:2377: context canceled\"; Reconnecting to {10.0.2.5:2377 <nil>}"
time="2017-06-15T14:14:43.810320100Z" level=info msg="Failed to dial 10.0.2.5:2377: grpc: the connection is closing; please retry."
time="2017-06-15T14:14:44.031320900Z" level=warning msg="memberlist: Failed to send gossip to 10.0.2.6:7946: write udp 10.0.2.5:7946->10.0.2.6:7946: wsasendto: The requested address is not valid in its context."
2017-06-15 14:14:44.448319 W | wal: sync duration of 1.4709989s, expected less than 1s
time="2017-06-15T14:14:45.250325200Z" level=warning msg="memberlist: Failed to send gossip to 10.0.2.6:7946: write udp 10.0.2.5:7946->10.0.2.6:7946: wsasendto: The requested address is not valid in its context."
time="2017-06-15T14:14:45.653399500Z" level=warning msg="memberlist: Failed to send ping: write udp 10.0.2.5:7946->10.0.2.6:7946: wsasendto: The requested address is not valid in its context."
2017-06-15 14:14:46.055543 W | wal: sync duration of 1.1932212s, expected less than 1s
time="2017-06-15T14:14:46.888685100Z" level=warning msg="memberlist: Failed to send ping: write udp 10.0.2.5:7946->10.0.2.6:7946: wsasendto: The requested address is not valid in its context."
2017-06-15 14:14:47.295685 W | wal: sync duration of 1.025064s, expected less than 1s
time="2017-06-15T14:14:48.126689600Z" level=warning msg="memberlist: Failed to send ping: write udp 10.0.2.5:7946->10.0.2.6:7946: wsasendto: The requested address is not valid in its context."
time="2017-06-15T14:14:48.351689300Z" level=warning msg="memberlist: Failed to send gossip to 10.0.2.6:7946: write udp 10.0.2.5:7946->10.0.2.6:7946: wsasendto: The requested address is not valid in its context."
time="2017-06-15T14:14:48.551073300Z" level=warning msg="memberlist: Failed to send gossip to 10.0.2.6:7946: write udp 10.0.2.5:7946->10.0.2.6:7946: wsasendto: The requested address is not valid in its context."
time="2017-06-15T14:14:48.591691100Z" level=error msg="agent: session failed" error="session initiation timed out" module="node/agent"
time="2017-06-15T14:14:48.595691500Z" level=info msg="grpc: addrConn.resetTransport failed to create client transport: connection error: desc = \"transport: dial tcp 10.0.2.5:2377: context canceled\"; Reconnecting to {10.0.2.5:2377 <nil>}"
time="2017-06-15T14:14:48.596690800Z" level=info msg="Failed to dial 10.0.2.5:2377: grpc: the connection is closing; please retry."
time="2017-06-15T14:14:48.751571200Z" level=warning msg="memberlist: Failed to send gossip to 10.0.2.6:7946: write udp 10.0.2.5:7946->10.0.2.6:7946: wsasendto: The requested address is not valid in its context."
time="2017-06-15T14:14:48.951810700Z" level=warning msg="memberlist: Failed to send ping: write udp 10.0.2.5:7946->10.0.2.6:7946: wsasendto: The requested address is not valid in its context."
time="2017-06-15T14:14:50.952367400Z" level=warning msg="memberlist: Failed to send ping: write udp 10.0.2.5:7946->10.0.2.6:7946: wsasendto: The requested address is not valid in its context."

Output of docker service ls

b0pf9gwctebl rabbitmq replicated 1/1 rabbitmq:alpine
jn97thxe97pc windowsservice replicated 1/1 myrepo/windowsservice:latest

Output of docker network ls on Windows

24azevie3de6      windows-service-network    overlay             swarm
qc47s66p66h7      ingress                    overlay             swarm
2fe20a939dd4      nat                        nat                 local
9e171bb10029      none                       null                local

Output of docker network ls on CoreOS

5ef9735fa22b      bridge                    bridge              local
24azevie3de6      windows-service-network   overlay             swarm
5c7381b6b44f      docker_gwbridge           bridge              local
47bc4b3587f3      host                      host                local
qc47s66p66h7      ingress                   overlay             swarm
8da833814eeb      none                      null                local

Output of docker network inspect windows-service-network on Windows

[
    {
        "Name": "windows-service-network",
        "Id": "24azevie3de6dxaqc57uev5t1",
        "Created": "0001-01-01T00:00:00Z",
        "Scope": "swarm",
        "Driver": "overlay",
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "default",
            "Options": null,
            "Config": [
                {
                    "Subnet": "172.30.0.0/16",
                    "Gateway": "172.30.0.1"
                }
            ]
        },
        "Internal": false,
        "Attachable": false,
        "Containers": null,
        "Options": {
            "com.docker.network.driver.overlay.vxlanid_list": "4097"
        },
        "Labels": null
    }
]

Output of docker network inspect windows-service-network on CoreOs

[
    {
        "Name": "windows-service-network",
        "Id": "24azevie3de6dxaqc57uev5t1",
        "Scope": "swarm",
        "Driver": "overlay",
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "default",
            "Options": null,
            "Config": [
                {
                    "Subnet": "172.30.0.0/16",
                    "Gateway": "172.30.0.1"
                }
            ]
        },
        "Internal": false,
        "Containers": {
            "7b873be6cf27ee37e4774f82bcbb5c686f2bd97a793bae24604a6cdc624cf615": {
                "Name": "rabbitmq.1.jf467a9ipjvkpvsepslvdvtxj",
                "EndpointID": "222d010de2491c9345eeb47509fcd2dd34bf37721bc1ef9e6d1a990136f0c5d1",
                "MacAddress": "02:42:ac:1e:00:04",
                "IPv4Address": "172.30.0.4/16",
                "IPv6Address": ""
            }
        },
        "Options": {
            "com.docker.network.driver.overlay.vxlanid_list": "4097"
        },
        "Labels": {}
    }
]

Output of docker service inspect rabbitmq

[
    {
        "ID": "b0pf9gwctebleawtzkkju5a0e",
        "Version": {
            "Index": 7038
        },
        "CreatedAt": "2017-06-15T13:42:41.9745958Z",
        "UpdatedAt": "2017-06-15T13:42:41.9805957Z",
        "Spec": {
            "Name": "rabbitmq",
            "TaskTemplate": {
                "ContainerSpec": {
                    "Image": "rabbitmq:alpine@sha256:a8d9d407626609725862dd0d93a0539d8b06580b664c4189dbefe01bee472947",
                    "DNSConfig": {}
                },
                "Resources": {
                    "Limits": {},
                    "Reservations": {}
                },
                "RestartPolicy": {
                    "Condition": "any",
                    "MaxAttempts": 0
                },
                "Placement": {},
                "Networks": [
                    {
                        "Target": "24azevie3de6dxaqc57uev5t1"
                    }
                ],
                "ForceUpdate": 0
            },
            "Mode": {
                "Replicated": {
                    "Replicas": 1
                }
            },
            "UpdateConfig": {
                "Parallelism": 1,
                "FailureAction": "pause",
                "MaxFailureRatio": 0
            },
            "Networks": [
                {
                    "Target": "windows-service-network"
                }
            ],
            "EndpointSpec": {
                "Mode": "vip"
            }
        },
        "Endpoint": {
            "Spec": {
                "Mode": "vip"
            },
            "VirtualIPs": [
                {
                    "NetworkID": "24azevie3de6dxaqc57uev5t1",
                    "Addr": "172.30.0.6/16"
                }
            ]
        },
        "UpdateStatus": {
            "StartedAt": "0001-01-01T00:00:00Z",
            "CompletedAt": "0001-01-01T00:00:00Z"
        }
    }
]

Output of ifconfig in RabbitMq container

eth0      Link encap:Ethernet  HWaddr 02:42:AC:1E:00:07
          inet addr:172.30.0.7  Bcast:0.0.0.0  Mask:255.255.0.0
          inet6 addr: fe80::42:acff:fe1e:7/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1450  Metric:1
          RX packets:8 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:648 (648.0 B)  TX bytes:648 (648.0 B)

eth1      Link encap:Ethernet  HWaddr 02:42:AC:12:00:04
          inet addr:172.18.0.4  Bcast:0.0.0.0  Mask:255.255.0.0
          inet6 addr: fe80::42:acff:fe12:4/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:8 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:648 (648.0 B)  TX bytes:648 (648.0 B)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:79 errors:0 dropped:0 overruns:0 frame:0
          TX packets:79 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1
          RX bytes:4487 (4.3 KiB)  TX bytes:4487 (4.3 KiB)