Windows 10 - NAT - Chuyển tiếp cổng & IP giả trang


13

Tôi đang tìm cách để có được chức năng iptables trong windows 10. Tôi đã bật định tuyến IP và tôi cần chuyển tiếp dữ liệu tcp đến một máy chủ khác (cổng 8080) và sau đó chuyển tiếp phản hồi của anh ấy trong khi giả mạo IP. Trong linux tôi đã có thể làm điều này bằng cách sử dụng như sau (Trong đó $ 1 = <IP nội bộ>, $ 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

Có cách nào để đạt được chức năng tương tự trong Windows 10 không?


Có lẽ quá ngắn cho một câu trả lời và tôi không biết liệu điều này có còn hợp lệ cho windows 10. Để chuyển tiếp cổng hãy xem câu trả lời này . Masquerading trong windows được gọi là Chia sẻ kết nối Internet (ICS) , hãy xem câu trả lời này .
rda

Xin chào, cảm ơn cho đầu vào của bạn. Tôi đã thử sử dụng Netsh nhưng có vẻ như nó không hoạt động (có lẽ vì tôi cần người nghe là ký tự đại diện *). Đối với ICS Tôi không chắc chắn chính xác nó sẽ hoạt động như thế nào (Tôi có cần bộ điều hợp thứ hai không? Nếu tôi kết nối chúng, tôi không thể sử dụng ICS)
Orestis P.

Có lẽ bạn có thể sử dụng netcat trên PC của bạn. Nó sẽ lắng nghe trên một cổng và gửi đến một cổng khác. IP sẽ là IP của máy của bạn ở giữa.
TJJ

2
@OrestisP. kiểm tra xem netsh interface portproxy add v4tov4 listenport=80 connectaddress=127.0.0.1 connectport=8080tôi sẽ cố dịch iptables của bạn sang Netsh nếu tôi có thời gian. thay thế 127.0.0.1 bằng địa chỉ bạn chọn
Zalmy

Câu trả lời:


16

Windows netshcó thể thiết lập proxy để cho phép quản trị viên lưu lượng ipv6 proxy qua ipv4. Netsh cũng có một tùy chọn để cấu hình proxy cho ipv4 thành ipv4.

Đối với thiết lập của bạn, hãy sử dụng netsh interface portproxy add v4tov4 listenport=80 connectaddress=127.0.0.1 connectport=8080thay thế 127.0.0.1bằng địa chỉ mà bạn muốn ủy quyền.

Đây là một sự cố nhỏ về lệnh.

netsh interface portproxychọn giao diện xử lý các đường hầm. add v4tov4để tạo một đường hầm ipv4 đến ipv4. listenport=80cho cổng bạn muốn các khách hàng kết nối. connectaddress=127.0.0.1là địa chỉ từ xa mà khách hàng sẽ được ủy quyền. connectport=8080là cổng từ xa.

bạn cũng có thể sử dụng listenaddress=nếu bạn chỉ muốn proxy có sẵn trên một giao diện.

Để biết thêm thông tin https://technet.microsoft.com/en-us/l Library / cc731068 (v = ws.10) .aspx


1
LƯU Ý rằng điều này không may chỉ hoạt động cho TCP nên nếu bạn muốn chuyển tiếp một số lưu lượng UDP, bạn sẽ không gặp may.
dùng276648

1
Hoạt động với tôi bằng Windows 10 để chuyển tiếp ssh (cổng máy chủ 22) trên máy chạy VPN. Một máy (không có kết nối VPN) trên mạng gia đình của tôi có thể kết nối với một máy khác bên trong VPN bằng cách sử dụng cổng nghe.
Frank M

1

Ít nhất cho mục đích thử nghiệm, tôi đã có thể sử dụng tiện ích sau để chuyển tiếp cả TCP và UDP

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

Nó dành cho XP, nhưng nó cũng hoạt động trên Win10.


Windows 10 cho tôi biết: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: kiểm tra readmetệp. Tôi thấy PassPort.exe -Installđể cài đặt dịch vụ.
dùng276648
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.