11

Я ищу способ получить функциональность iptables в Windows 10. Я включил IP-маршрутизацию, и мне нужно перенаправить данные tcp на другой хост (порт 8080), а затем переслать его ответ, маскируя IP. В Linux я смог сделать это, используя следующее (где $ 1 = <внутренний 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?

2 ответа2

12

Windows netsh может настроить прокси-сервер, чтобы администраторы могли передавать трафик ipv6 через ipv4. 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 v4tov4 для создания туннеля ipv4 to 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

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

Это для XP, но работает и на Win10.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .