
저는 Windows 8에서 작업하고 있습니다. 원격 서버에서 호스팅되지만 API에 대한 공용 IP가 있는 OpenStack 클라우드에 연결하려고 합니다. 그러나 API를 호출하려면 클라우드 내부 주소가 아직 남아 있는 클라우드 내부의 추가 서비스를 호출해야 하는데 그렇게 할 수 없습니다. 이제 모든 내부 주소가 공개 주소로 설정되었습니다. 따라서 모든 비공개 10.xx2:yyyyy에 대해 이제 194.xxx:zzzzz가 있습니다.
내가 해야 할 일은 내 로컬 컴퓨터에 포트 전달을 설정하여 API를 호출하는 애플리케이션의 10.xx2:yyyyy에 대한 각 호출이 해당 공개 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 주소를 테스트한 다음 애플리케이션으로 테스트해 보았지만 한 번도 작동하지 않았습니다.
방화벽이 다운되었습니다.
어떤 아이디어가 있나요?
감사합니다.
답변1
이것은 나에게 효과적입니다.
netsh interface portproxy add v4tov4 listenport=yyyyy connectaddress=destination.ip connectport=destination.port protocol=tcp
localhost:yyyyy에 대한 모든 연결은 Destination.ip가 외부인 경우에도 Destination.ip:destination.port로 리디렉션됩니다.
참고: 이렇게 하면 전달 규칙이 영구적으로 적용됩니다.
답변2
CLI 도구를 사용하는 경우 openrc 자격 증명 파일에 다음 줄을 포함해 보세요: 내보내기 OS_INTERFACE=public