Windows 10-NAT-포트 전달 및 IP 가장 무도회


13

Windows 10에서 iptables 기능을 얻는 방법을 찾고 있습니다. IP 라우팅을 활성화하고 TCP 데이터를 다른 호스트 (포트 8080)로 전달한 다음 IP를 가장하는 동안 그의 응답을 전달해야합니다. 리눅스에서는 다음을 사용 하여이 작업을 수행 할 수있었습니다 ($ 1 = <internal IP>, $ 2 = 80, $ 3 = 8080, $ 4 = tcp)

iptables -t nat -A PREROUTING -p $4 --match multiport --dports $2 -j DNAT --to-destination $1:$3 
iptables -A FORWARD -p $4 --match multiport --dports $2 -d $1 -j ACCEPT
iptables -t nat -A POSTROUTING -j MASQUERADE

Windows 10에서 유사한 기능을 수행 할 수있는 방법이 있습니까?


아마도 대답이 너무 짧아서 이것이 여전히 Windows 10에 유효한지 모르겠습니다. 포트 포워딩에 대해서는 이 답변을 확인하십시오 . Windows에서 가장하는 것을 인터넷 연결 공유 (ICS) 라고 합니다 . 이 답변을 확인하십시오 .
rda

안녕하세요, 입력 해 주셔서 감사합니다. netsh를 사용해 보았지만 작동하지 않는 것 같습니다 (아마도 와일드 카드 *이기 위해서는 listenaddress가 필요하기 때문에). ICS의 경우 어떻게 작동하는지 확실하지 않습니다 (두 번째 어댑터가 필요합니까? 브리지 할 경우 ICS를 사용할 수 없습니다)
Orestis P.

아마 당신은 PC에서 netcat을 사용할 수 있습니다. 한 포트에서 수신 대기하고 다른 포트로 전송합니다. IP는 중간에 기기의 IP가됩니다.
TJJ

2
@OrestisP. 체크 아웃 netsh interface portproxy add v4tov4 listenport=80 connectaddress=127.0.0.1 connectport=8080내가 시간이 경우 netsh를에 iptables를 번역하려고합니다. 127.0.0.1을 선택한 주소로 교체
Zalmy

답변:


16

Windows netsh는 관리자가 ipv4를 통해 ipv6 트래픽을 프록시하도록 프록시를 설정할 수 있습니다. Netsh에는 ipv4에서 ipv4에 대한 프록시를 구성하는 옵션도 있습니다.

설정 을 위해 프록시 주소를로 netsh interface portproxy add v4tov4 listenport=80 connectaddress=127.0.0.1 connectport=8080바꾸십시오 127.0.0.1.

다음은 명령에 대한 작은 분석입니다.

netsh interface portproxy터널을 처리하는 인터페이스를 선택합니다. add v4tov4ipv4를 ipv4 터널로 만듭니다. listenport=80클라이언트가 연결할 포트 connectaddress=127.0.0.1클라이언트가 프록시 될 원격 주소입니다. connectport=8080원격 포트입니다.

listenaddress=하나의 인터페이스에서만 프록시를 사용할 수 있도록하려는 경우 에도 사용할 수 있습니다 .

자세한 내용은 https://technet.microsoft.com/en-us/library/cc731068(v=ws.10).aspx를 참조하십시오.


1
불행히도 이것은 TCP에서만 작동하므로 UDP 트래픽을 전달하려면 운이 좋지 않습니다.
user276648

1
VPN을 실행하는 컴퓨터에서 Windows 10을 사용하여 ssh (서버 포트 22)를 포트 전달하는 데 적합합니다. 홈 네트워크의 시스템 (VPN 연결 없음)은 청취 포트를 사용하여 VPN 내부의 다른 시스템에 연결할 수 있습니다.
Frank M

1

적어도 테스트 목적으로 다음 유틸리티를 사용하여 TCP와 UDP를 모두 전달할 수있었습니다.

https://sourceforge.net/projects/pjs-passport/

XP 용이지만 Win10에서도 작동합니다.


Windows 10에서 알려줍니다 :Cannot start service from the command line or a debugger. A Windows Service must first be installed (using installutil.exe) and then started with the ServerExplorer, Windows Services Administrative tool or the NET START command.
Peter Turner

1
@PeterTurner : readme파일을 확인 하십시오. PassPort.exe -Install서비스를 설치하는 것을 보았습니다 .
user276648
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.