服务结构和 IPv4

Service fabric and IPv4

在 运行 DevClusterSetup.ps1 之后,默认情况下,即使主机甚至没有 ipv6 IP 地址,结构网关也会仅侦听 IpV6。 因为在我腿上我们只有 ipv4 我想知道如何将它绑定到 ipv4?

PS C:\Program Files\Microsoft SDKs\Service Fabric\ClusterSetup> netstat -ano | select-string 19000

  TCP    127.0.0.1:2880         127.0.0.1:19000        ESTABLISHED     7848
  TCP    127.0.0.1:19000        0.0.0.0:0              LISTENING       5764
  TCP    127.0.0.1:19000        127.0.0.1:2880         ESTABLISHED     5764
  TCP    [::1]:19000            [::]:0                 LISTENING       5764


PS C:\Program Files\Microsoft SDKs\Service Fabric\ClusterSetup> get-process -id 5764

Handles  NPM(K)    PM(K)      WS(K) VM(M)   CPU(s)     Id ProcessName
-------  ------    -----      ----- -----   ------     -- -----------
    155      61     5436      13056    52     0.09   5764 FabricGateway


PS C:\Program Files\Microsoft SDKs\Service Fabric\ClusterSetup> telnet 192.168.88.153 19000
Connecting To 192.168.88.153...Could not open connection to the host, on port 19000: Connect failed

如您所见,FabricGateway 正在侦听端口 19000,但我无法使用 IPv4 地址远程登录到它。

当你在某处只有 IPv4 环境时,这会导致一个有趣的问题。

我们如何配置它?

出于安全原因,DEV 集群默认侦听环回地址,127.0.0.0:19000 用于 IPv4,[::1]:19000 用于 IPv6,以禁止来自机器外部的连接。 telnet 192.168.88.153 19000 不起作用,因为它试图连接到您机器的非环回地址 192.168.88.153,默认情况下 192.168.88.153:19000 上没有侦听器。这与 IPv4 与 IPv6 无关。如果要连接 192.168.88.153,则需要在集群清单文件中将 localhost 替换为 192.168.88.153 或机器的 FQDN。请注意,这会使您的端点从您的计算机外部可见。

  <NodeList>
    <Node NodeTypeRef="NodeType01" IsSeedNode="true" IPAddressOrFQDN="localhost" NodeName="Node1" FaultDomain="fd:/RACK1" UpgradeDomain="MYUD1" />