Add-NetNatStaticMapping não encaminha a porta para VM local

Add-NetNatStaticMapping não encaminha a porta para VM local

Estou executando o Windows 10 build 1809 e tenho o Hyper-V instalado. Eu tenho uma máquina Linux rodando atrás de um NAT com conectividade à Internet funcionando em IP 10.0.5.5. Basicamente segui as instruções no link abaixo

https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/user-guide/setup-nat-network

Quando criei o mapeamento de portas chamei

Add-NetNatStaticMapping -ExternalIPAddress 0.0.0.0/24 -ExternalPort 8500 -Protocol TCP -InternalIPAddress 10.0.5.5 -InternalPort 8500 -NatName YetAnotherNAT

Se eu tentar acertarhttp://10.0.5.5:8500funciona (a página carrega). Se eu tentar acertarhttp://127.0.0.1:8500não funciona (nada carrega). Mesmo se eu tentar usar qualquer um dos meus IPs externos, isso não funciona.

É basicamente como se todo o encaminhamento de porta não estivesse fazendo nada.

Alguma ideia?

Get-VmSwitch retorna o seguinte

PS C:\> Get-VMSwitch

Name             SwitchType NetAdapterInterfaceDescription
----             ---------- ------------------------------
nat              Internal
Wifi             External   Intel(R) Dual Band Wireless-AC 7265
DockerNAT        Internal
Default Switch   Internal   Teamed-Interface
MyNATSwitch      Internal
YetAnotherSwitch Internal

Get-NetNat retorna o seguinte

PS C:\> get-netnat


Name                             : YetAnotherNAT
ExternalIPInterfaceAddressPrefix :
InternalIPInterfaceAddressPrefix : 10.0.5.0/24
IcmpQueryTimeout                 : 30
TcpEstablishedConnectionTimeout  : 1800
TcpTransientConnectionTimeout    : 120
TcpFilteringBehavior             : AddressDependentFiltering
UdpFilteringBehavior             : AddressDependentFiltering
UdpIdleSessionTimeout            : 120
UdpInboundRefresh                : False
Store                            : Local
Active                           : True

Responder1

Você provavelmente está acertando isso:

Acessando endpoints internos diretamente do Host

Os endpoints internos atribuídos a VMs ou contêineres não podem ser acessados ​​usando os IPs/portas externos referenciados nos mapeamentos de portas estáticas NAT diretamente do host NAT. No host NAT, esses endpoints internos devem ser endereçados diretamente por seus IP e portas internos. Por exemplo, suponha que um endpoint de contêiner tenha IP 172.16.1.100 e esteja executando um servidor web que esteja escutando na porta 80. Além disso, suponha que um mapeamento de porta foi criado por meio do docker para encaminhar o tráfego do endereço IP do host (10.10.50.20) recebido na porta TCP 8080 para o terminal do contêiner. Neste caso, um usuário no host do contêiner não pode acessar diretamente o servidor web usando as portas mapeadas externamente. por exemplo, um usuário operando no host do contêiner não pode acessar o servidor web do contêiner indiretamente emhttp://10.10.50.20:8080. Em vez disso, o usuário deve acessar diretamente o servidor web do contêiner emhttp://172.16.1.100:80.

A única ressalva a essa limitação é que o endpoint interno pode ser acessado usando o IP/porta externo de um endpoint de VM/contêiner separado em execução no mesmo host NAT: isso é chamado de hair-pinning. Por exemplo, um usuário operando no contêiner A pode acessar um servidor web em execução no contêiner B usando o IP interno e a porta do http://10.10.50.20:8080

Fonte:https://techcommunity.microsoft.com/t5/Virtualization/Windows-NAT-WinNAT-Capabilities-and-limitations/ba-p/382303

informação relacionada