Add-NetNatStaticMapping не перенаправляет порты на локальную виртуальную машину

Add-NetNatStaticMapping не перенаправляет порты на локальную виртуальную машину

Я использую Windows 10 build 1809 и установил Hyper-V. У меня есть машина Linux, работающая за NAT с подключением к Интернету, работающим на IP 10.0.5.5. Я в основном следовал инструкциям по ссылке ниже

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

Когда я создавал сопоставление портов, я назвал

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

Если я попытаюсь ударитьhttp://10.0.5.5:8500это работает (страница загружается). Если я попробую нажатьhttp://127.0.0.1:8500не работает (ничего не загружается). Даже если я пытаюсь использовать любой из моих внешних IP, не работает.

По сути, это похоже на то, что вся переадресация портов ничего не делает.

Есть идеи?

Get-VmSwitch возвращает следующее

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 возвращает следующее

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

решение1

Вероятно, вы нажмете на это:

Доступ к внутренним конечным точкам напрямую с хоста

Внутренние конечные точки, назначенные виртуальным машинам или контейнерам, не могут быть доступны с использованием внешних IP-адресов / портов, указанных в сопоставлениях статических портов NAT, напрямую с хоста NAT. С хоста NAT эти внутренние конечные точки должны быть адресованы напрямую по их внутреннему IP-адресу и портам. Например, предположим, что конечная точка контейнера имеет IP-адрес 172.16.1.100 и запускает веб-сервер, который прослушивает порт 80. Кроме того, предположим, что сопоставление портов было создано через docker для пересылки трафика с IP-адреса хоста (10.10.50.20), полученного на порт TCP 8080, на конечную точку контейнера. В этом случае пользователь на хосте контейнера не может напрямую получить доступ к веб-серверу с помощью внешних сопоставленных портов. Например, пользователь, работающий на хосте контейнера, не может получить косвенный доступ к веб-серверу контейнера наhttp://10.10.50.20:8080. Вместо этого пользователь должен напрямую получить доступ к веб-серверу контейнера наhttp://172.16.1.100:80.

Единственным предостережением к этому ограничению является то, что доступ к внутренней конечной точке может осуществляться с использованием внешнего IP/порта из отдельной конечной точки виртуальной машины/контейнера, работающей на том же хосте NAT: это называется прикреплением. Например, пользователь, работающий в контейнере A, может получить доступ к веб-серверу, работающему в контейнере B, используя внутренний IP и порт http://10.10.50.20:8080

Источник:https://techcommunity.microsoft.com/t5/Virtualization/Windows-NAT-WinNAT-Capabilities-and-limitations/ba-p/382303

Связанный контент