Windows 无法访问 IP 上的服务

Windows 无法访问 IP 上的服务

上周,我将我的“服务器” Windows 10 机器更新到 20H2,现在遇到了一个奇怪的问题。

我有各种在多个端口上运行的 Web 服务,例如 8081 和 6800。

当我通过端口 http://localhost:8081 访问服务时,它可以正常工作,我可以登录并使用该应用程序。不起作用的是http://192.168.10.2:8081,我明白了ERR_CONNECTION_REFUSED

当我重复该过程但对于端口 6800 时,它在 http://localhost:6800 和http://192.168.10.2:6800

但是我已将此端口通过 NAT 转发到此机器,因此我无法从网络外部访问它。

为了这些测试,所有防火墙都被禁用。

我的IP配置:

Windows IP Configuration

   Host Name . . . . . . . . . . . . : Server
   Primary Dns Suffix  . . . . . . . :
   Node Type . . . . . . . . . . . . : Hybrid
   IP Routing Enabled. . . . . . . . : No
   WINS Proxy Enabled. . . . . . . . : No

Ethernet adapter Ethernet:

   Connection-specific DNS Suffix  . :
   Description . . . . . . . . . . . : Realtek PCIe GbE Family Controller
   Physical Address. . . . . . . . . : 1C-1B-0D-DF-20-02
   DHCP Enabled. . . . . . . . . . . : Yes
   Autoconfiguration Enabled . . . . : Yes
   Link-local IPv6 Address . . . . . : fe80::a13b:4fad:1b90:e4df%3(Preferred)
   Default Gateway . . . . . . . . . :
   DHCPv6 IAID . . . . . . . . . . . : 102505229
   DHCPv6 Client DUID. . . . . . . . : 00-01-00-01-25-6E-40-C8-1C-1B-0D-DF-20-02
   DNS Servers . . . . . . . . . . . : fec0:0:0:ffff::1%1
                                       fec0:0:0:ffff::2%1
                                       fec0:0:0:ffff::3%1
   NetBIOS over Tcpip. . . . . . . . : Disabled

Ethernet adapter vEthernet (External Switch):

   Connection-specific DNS Suffix  . :
   Description . . . . . . . . . . . : Hyper-V Virtual Ethernet Adapter #2
   Physical Address. . . . . . . . . : 1C-1B-0D-DF-20-02
   DHCP Enabled. . . . . . . . . . . : Yes
   Autoconfiguration Enabled . . . . : Yes
   Link-local IPv6 Address . . . . . : fe80::5922:5cee:6e44:d343%10(Preferred)
   IPv4 Address. . . . . . . . . . . : 192.168.10.2(Preferred)
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Lease Obtained. . . . . . . . . . : May 25, 2021 9:24:59 AM
   Lease Expires . . . . . . . . . . : May 26, 2021 9:51:47 AM
   Default Gateway . . . . . . . . . : 192.168.10.1
   DHCP Server . . . . . . . . . . . : 192.168.10.1
   DHCPv6 IAID . . . . . . . . . . . : 136059661
   DHCPv6 Client DUID. . . . . . . . : 00-01-00-01-25-6E-40-C8-1C-1B-0D-DF-20-02
   DNS Servers . . . . . . . . . . . : 192.168.10.1
   NetBIOS over Tcpip. . . . . . . . : Enabled

Ethernet adapter vEthernet (Default Switch):

   Connection-specific DNS Suffix  . :
   Description . . . . . . . . . . . : Hyper-V Virtual Ethernet Adapter
   Physical Address. . . . . . . . . : 00-15-5D-F4-E2-54
   DHCP Enabled. . . . . . . . . . . : No
   Autoconfiguration Enabled . . . . : Yes
   Link-local IPv6 Address . . . . . : fe80::d094:8527:d9ae:4712%35(Preferred)
   IPv4 Address. . . . . . . . . . . : 192.168.176.1(Preferred)
   Subnet Mask . . . . . . . . . . . : 255.255.240.0
   Default Gateway . . . . . . . . . :
   DHCPv6 IAID . . . . . . . . . . . : 587208029
   DHCPv6 Client DUID. . . . . . . . : 00-01-00-01-25-6E-40-C8-1C-1B-0D-DF-20-02
   DNS Servers . . . . . . . . . . . : fec0:0:0:ffff::1%1
                                       fec0:0:0:ffff::2%1
                                       fec0:0:0:ffff::3%1
   NetBIOS over Tcpip. . . . . . . . : Enabled

当我检查谁在使用端口 6800 时:

PS C:\WINDOWS\system32> Get-Process -Id (Get-NetTCPConnection -LocalPort 6800).OwningProcess

Handles  NPM(K)    PM(K)      WS(K)     CPU(s)     Id  SI ProcessName
-------  ------    -----      -----     ------     --  -- -----------
      0       0       60          8                 0   0 Idle
    693     103   305988     173284      18.64   9944   0 MyServiceName

但对于 8081 我得到:

PS C:\WINDOWS\system32> Get-Process -Id (Get-NetTCPConnection -LocalPort 8081).OwningProcess

Handles  NPM(K)    PM(K)      WS(K)     CPU(s)     Id  SI ProcessName
-------  ------    -----      -----     ------     --  -- -----------
   4686       0      208       2864      86.67      4   0 System

因此,为了更深入地检查,netsh http show servicestate view=requestq我得到了:

Request queue name: Request queue is unnamed.
    Version: 2.0
    State: Active
    Request queue 503 verbosity level: Basic
    Max requests: 1000
    Number of active processes attached: 1
    Process IDs:
        14432
    URL groups:
    URL group ID: F300000040000002
        State: Active
        Request queue name: Request queue is unnamed.
        Properties:
            Max bandwidth: inherited
            Max connections: inherited
            Timeouts:
                Timeout values inherited
            Number of registered URLs: 1
            Registered URLs:
                HTTP://*:8081/
        Server session ID: F200000020000002
            Version: 2.0
            State: Active
            Properties:
                Max bandwidth: 4294967295
                Timeouts:
                    Entity body timeout (secs): 120
                    Drain entity body timeout (secs): 120
                    Request queue timeout (secs): 120
                    Idle connection timeout (secs): 120
                    Header wait timeout (secs): 120
                    Minimum send rate (bytes/sec): 150

进程 ID 14432 是正确的进程。

当我尝试时,http://[::1]:8081/它也运行良好,当我尝试时http://[fe80::5922:5cee:6e44:d343]:8081它也运行良好。

只是192.168.10.2:8081不。

目前,我已经不知道该如何进一步排除故障了,但我认为 Hyper-V 和 ipv6 搞乱了一些东西

答案1

我在某处发现了一个非常古老的话题可以尝试netsh http add iplisten ipaddress=0.0.0.0

不知道为什么,但是确实有效。

相关内容