Переадресация портов Windows, локальный компьютер на сервер

1436
little.toblerone

Я работаю в Windows 8. Я пытаюсь подключиться к облаку OpenStack, которое размещено на удаленном сервере, но имеет общедоступный IP-адрес API. Однако для выполнения вызовов API требуются вызовы дополнительных служб внутри облака, которые все еще имеют внутренние адреса облака, и я не могу этого сделать. Все внутренние адреса были настроены так, что теперь они имеют публичный эквивалент. Так что для каждого частного 10.xx2: yyyyy теперь у меня есть 194.xxx:zzzzz

Мне нужно настроить переадресацию портов на моем локальном компьютере, чтобы каждый вызов 10.xx2: yyyyy приложения, вызывающего API, переводился в соответствующий 194.xxx:zzzzz, который является открытым.

Я пробовал с netsh

netsh interface portproxy add v4tov4 listenport=yyyy listenaddress=10.x.x.2 connectport=zzzzz connectaddress=194.x.x.x 

но это не дало никаких результатов.

Я также попытался использовать инструмент PassPort, который я нашел в сети, запустив его с правами администратора и делая то же самое, но снова безрезультатно. Сначала я пытаюсь проверить адрес 10.xxx:yyyy в браузере, а затем проверить приложение, но оно не сработало ни разу.

Брандмауэр не работает.

Есть идеи?

С уважением.

3

2 ответа на вопрос

2
Daniel M Alexandrescu

Это работает для меня:

netsh interface portproxy add v4tov4 listenport=yyyyy connectaddress=destination.ip connectport=destination.port protocol=tcp 

Любое соединение с localhost: yyyyy перенаправляется на destination.ip: destination.port, даже если destination.ip является внешним.

Примечание: это делает правило пересылки постоянным.

0
José Castillo Lema

Если вы используете инструменты CLI, попробуйте включить эту строку в ваш файл учетных данных openrc: export OS_INTERFACE = public