Why can't I connect to this Service Fabric cluster?
<p>I'm blocked by an error when connecting to a remote service fabric cluster running on premise (<strong>not</strong> on Azure) using the <a href="https://msdn.microsoft.com/en-us/library/mt125938.aspx" rel="nofollow"><code>Connect-ServiceFabricCluster</code></a> PowerShell command for a network-connected virtual machine:</p>

<pre><code>WARNING: Failed to contact Naming Service. Attempting to contact Failover Manager Service...
WARNING: Failed to contact Failover Manager Service, Attempting to contact FMM...
False
WARNING: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond 192.168.1.102:19000
Connect-ServiceFabricCluster : No cluster endpoint is reachable, please check if there is connectivity/firewall/DNS issue.
At Install.ps1:3 char:1
+ Connect-ServiceFabricCluster -ConnectionEndpoint "FABRICTESTSRV:19000" -WindowsCred ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [Connect-ServiceFabricCluster], FabricException
    + FullyQualifiedErrorId : TestClusterConnectionErrorId,Microsoft.ServiceFabric.Powershell.ConnectCluster
</code></pre>

<p>The command is:</p>

<pre><code>Connect-ServiceFabricCluster -ConnectionEndpoint "FABRICTESTSRV:19000" -WindowsCredential:$True
</code></pre>

<p>Why isn't it working?</p>

<p>Here is what I have tried:</p>

<ul>
<li>I have tried turning Windows Firewall off entirely. No luck there.</li>
<li>Connecting locally to the cluster while inside of the virtual machine works just fine: <code>Connect-ServiceFabricCluster "localhost:19000"</code></li>
<li>This is not a DNS issue. I can ping the FQDN of the machine just fine.</li>
</ul>

<p><strong>Note</strong>: This is not an Azure hosted Virtual Machine. This is simply a network-connected virtual machine running Service Fabric Core, vanilla Windows 8.1 x64 fully up to date.</p>

<p><strong>Edit</strong>: <code>Get-ServiceFabricClusterManifest</code> reads as follows:</p>

<pre><code>&lt;ClusterManifest xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Name="ComputerName-Local-Cluster" Version=
"1.0" xmlns="http://schemas.microsoft.com/2011/01/fabric"&gt;
  &lt;NodeTypes&gt;
    &lt;NodeType Name="NodeType0"&gt;
      &lt;Endpoints&gt;
        &lt;ClientConnectionEndpoint Port="19000" /&gt;
        &lt;LeaseDriverEndpoint Port="19001" /&gt;
        &lt;ClusterConnectionEndpoint Port="19002" /&gt;
        &lt;HttpGatewayEndpoint Port="19080" Protocol="http" /&gt;
        &lt;HttpApplicationGatewayEndpoint Port="19081" Protocol="http" /&gt;
        &lt;ServiceConnectionEndpoint Port="19006" /&gt;
        &lt;ApplicationEndpoints StartPort="30001" EndPort="31000" /&gt;
      &lt;/Endpoints&gt;
    &lt;/NodeType&gt;
    &lt;NodeType Name="NodeType1"&gt;
      &lt;Endpoints&gt;
        &lt;ClientConnectionEndpoint Port="19010" /&gt;
        &lt;LeaseDriverEndpoint Port="19011" /&gt;
        &lt;ClusterConnectionEndpoint Port="19012" /&gt;
        &lt;HttpGatewayEndpoint Port="19082" Protocol="http" /&gt;
        &lt;HttpApplicationGatewayEndpoint Port="19083" Protocol="http" /&gt;
        &lt;ServiceConnectionEndpoint Port="19016" /&gt;
        &lt;ApplicationEndpoints StartPort="31001" EndPort="32000" /&gt;
      &lt;/Endpoints&gt;
    &lt;/NodeType&gt;
    &lt;NodeType Name="NodeType2"&gt;
      &lt;Endpoints&gt;
        &lt;ClientConnectionEndpoint Port="19020" /&gt;
        &lt;LeaseDriverEndpoint Port="19021" /&gt;
        &lt;ClusterConnectionEndpoint Port="19022" /&gt;
        &lt;HttpGatewayEndpoint Port="19084" Protocol="http" /&gt;
        &lt;HttpApplicationGatewayEndpoint Port="19085" Protocol="http" /&gt;
        &lt;ServiceConnectionEndpoint Port="19026" /&gt;
        &lt;ApplicationEndpoints StartPort="32001" EndPort="33000" /&gt;
      &lt;/Endpoints&gt;
    &lt;/NodeType&gt;
    &lt;NodeType Name="NodeType3"&gt;
      &lt;Endpoints&gt;
        &lt;ClientConnectionEndpoint Port="19030" /&gt;
        &lt;LeaseDriverEndpoint Port="19031" /&gt;
        &lt;ClusterConnectionEndpoint Port="19032" /&gt;
        &lt;HttpGatewayEndpoint Port="19086" Protocol="http" /&gt;
        &lt;HttpApplicationGatewayEndpoint Port="19087" Protocol="http" /&gt;
        &lt;ServiceConnectionEndpoint Port="19036" /&gt;
        &lt;ApplicationEndpoints StartPort="33001" EndPort="34000" /&gt;
      &lt;/Endpoints&gt;
    &lt;/NodeType&gt;
    &lt;NodeType Name="NodeType4"&gt;
      &lt;Endpoints&gt;
        &lt;ClientConnectionEndpoint Port="19040" /&gt;
        &lt;LeaseDriverEndpoint Port="19041" /&gt;
        &lt;ClusterConnectionEndpoint Port="19042" /&gt;
        &lt;HttpGatewayEndpoint Port="19088" Protocol="http" /&gt;
        &lt;HttpApplicationGatewayEndpoint Port="19089" Protocol="http" /&gt;
        &lt;ServiceConnectionEndpoint Port="19046" /&gt;
        &lt;ApplicationEndpoints StartPort="34001" EndPort="35000" /&gt;
      &lt;/Endpoints&gt;
    &lt;/NodeType&gt;
  &lt;/NodeTypes&gt;
  &lt;Infrastructure&gt;
    &lt;WindowsServer IsScaleMin="true"&gt;
      &lt;NodeList&gt;
        &lt;Node NodeName="_Node_0" IPAddressOrFQDN="localhost" IsSeedNode="true" NodeTypeRef="NodeType0" FaultDomain="fd:/0" UpgradeDomain="0" /&gt;
        &lt;Node NodeName="_Node_1" IPAddressOrFQDN="localhost" IsSeedNode="true" NodeTypeRef="NodeType1" FaultDomain="fd:/1" UpgradeDomain="1" /&gt;
        &lt;Node NodeName="_Node_2" IPAddressOrFQDN="localhost" IsSeedNode="true" NodeTypeRef="NodeType2" FaultDomain="fd:/2" UpgradeDomain="2" /&gt;
        &lt;Node NodeName="_Node_3" IPAddressOrFQDN="localhost" NodeTypeRef="NodeType3" FaultDomain="fd:/3" UpgradeDomain="3" /&gt;
        &lt;Node NodeName="_Node_4" IPAddressOrFQDN="localhost" NodeTypeRef="NodeType4" FaultDomain="fd:/4" UpgradeDomain="4" /&gt;
      &lt;/NodeList&gt;
    &lt;/WindowsServer&gt;
  &lt;/Infrastructure&gt;
  &lt;FabricSettings&gt;
    &lt;Section Name="Security"&gt;
      &lt;Parameter Name="ClusterCredentialType" Value="None" /&gt;
      &lt;Parameter Name="ServerAuthCredentialType" Value="None" /&gt;
    &lt;/Section&gt;
    &lt;Section Name="FailoverManager"&gt;
      &lt;Parameter Name="ExpectedClusterSize" Value="4" /&gt;
      &lt;Parameter Name="TargetReplicaSetSize" Value="3" /&gt;
      &lt;Parameter Name="MinReplicaSetSize" Value="3" /&gt;
      &lt;Parameter Name="ReconfigurationTimeLimit" Value="20" /&gt;
      &lt;Parameter Name="BuildReplicaTimeLimit" Value="20" /&gt;
      &lt;Parameter Name="CreateInstanceTimeLimit" Value="20" /&gt;
      &lt;Parameter Name="PlacementTimeLimit" Value="20" /&gt;
    &lt;/Section&gt;
    &lt;Section Name="ReconfigurationAgent"&gt;
      &lt;Parameter Name="ServiceApiHealthDuration" Value="20" /&gt;
      &lt;Parameter Name="ServiceReconfigurationApiHealthDuration" Value="20" /&gt;
      &lt;Parameter Name="LocalHealthReportingTimerInterval" Value="5" /&gt;
      &lt;Parameter Name="IsDeactivationInfoEnabled" Value="true" /&gt;
      &lt;Parameter Name="RAUpgradeProgressCheckInterval" Value="3" /&gt;
    &lt;/Section&gt;
    &lt;Section Name="ClusterManager"&gt;
      &lt;Parameter Name="TargetReplicaSetSize" Value="3" /&gt;
      &lt;Parameter Name="MinReplicaSetSize" Value="3" /&gt;
      &lt;Parameter Name="UpgradeStatusPollInterval" Value="5" /&gt;
      &lt;Parameter Name="UpgradeHealthCheckInterval" Value="5" /&gt;
      &lt;Parameter Name="FabricUpgradeHealthCheckInterval" Value="5" /&gt;
    &lt;/Section&gt;
    &lt;Section Name="NamingService"&gt;
      &lt;Parameter Name="TargetReplicaSetSize" Value="3" /&gt;
      &lt;Parameter Name="MinReplicaSetSize" Value="3" /&gt;
    &lt;/Section&gt;
    &lt;Section Name="Management"&gt;
      &lt;Parameter Name="ImageStoreConnectionString" Value="file:C:\SfDevCluster\Data\ImageStoreShare" /&gt;
      &lt;Parameter Name="ImageCachingEnabled" Value="false" /&gt;
      &lt;Parameter Name="EnableDeploymentAtDataRoot" Value="true" /&gt;
    &lt;/Section&gt;
    &lt;Section Name="Hosting"&gt;
      &lt;Parameter Name="EndpointProviderEnabled" Value="true" /&gt;
      &lt;Parameter Name="RunAsPolicyEnabled" Value="true" /&gt;
      &lt;Parameter Name="DeactivationScanInterval" Value="60" /&gt;
      &lt;Parameter Name="DeactivationGraceInterval" Value="10" /&gt;
      &lt;Parameter Name="EnableProcessDebugging" Value="true" /&gt;
      &lt;Parameter Name="ServiceTypeRegistrationTimeout" Value="20" /&gt;
      &lt;Parameter Name="CacheCleanupScanInterval" Value="300" /&gt;
    &lt;/Section&gt;
    &lt;Section Name="HttpGateway"&gt;
      &lt;Parameter Name="IsEnabled" Value="true" /&gt;
    &lt;/Section&gt;
    &lt;Section Name="PlacementAndLoadBalancing"&gt;
      &lt;Parameter Name="MinLoadBalancingInterval" Value="300" /&gt;
    &lt;/Section&gt;
    &lt;Section Name="Federation"&gt;
      &lt;Parameter Name="NodeIdGeneratorVersion" Value="V4" /&gt;
      &lt;Parameter Name="UnresponsiveDuration" Value="0" /&gt;
    &lt;/Section&gt;
    &lt;Section Name="ApplicationGateway/Http"&gt;
      &lt;Parameter Name="IsEnabled" Value="true" /&gt;
    &lt;/Section&gt;
    &lt;Section Name="FaultAnalysisService"&gt;
      &lt;Parameter Name="TargetReplicaSetSize" Value="3" /&gt;
      &lt;Parameter Name="MinReplicaSetSize" Value="3" /&gt;
    &lt;/Section&gt;
    &lt;Section Name="Trace/Etw"&gt;
      &lt;Parameter Name="Level" Value="4" /&gt;
    &lt;/Section&gt;
    &lt;Section Name="Diagnostics"&gt;
      &lt;Parameter Name="ProducerInstances" Value="ServiceFabricEtlFile, ServiceFabricPerfCtrFolder" /&gt;
      &lt;Parameter Name="MaxDiskQuotaInMB" Value="10240" /&gt;
    &lt;/Section&gt;
    &lt;Section Name="ServiceFabricEtlFile"&gt;
      &lt;Parameter Name="ProducerType" Value="EtlFileProducer" /&gt;
      &lt;Parameter Name="IsEnabled" Value="true" /&gt;
      &lt;Parameter Name="EtlReadIntervalInMinutes" Value=" 5" /&gt;
      &lt;Parameter Name="DataDeletionAgeInDays" Value="3" /&gt;
    &lt;/Section&gt;
    &lt;Section Name="ServiceFabricPerfCtrFolder"&gt;
      &lt;Parameter Name="ProducerType" Value="FolderProducer" /&gt;
      &lt;Parameter Name="IsEnabled" Value="true" /&gt;
      &lt;Parameter Name="FolderType" Value="ServiceFabricPerformanceCounters" /&gt;
      &lt;Parameter Name="DataDeletionAgeInDays" Value="3" /&gt;
    &lt;/Section&gt;
    &lt;Section Name="TransactionalReplicator"&gt;
      &lt;Parameter Name="CheckpointThresholdInMB" Value="64" /&gt;
    &lt;/Section&gt;
  &lt;/FabricSettings&gt;
&lt;/ClusterManifest&gt;
</code></pre>