
Я ищу способ получить функциональность 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?
решение1
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-ipv4.
listenport=80
для порта, к которому должны подключаться клиенты.
connectaddress=127.0.0.1
— это удаленный адрес, на который будут проксироваться клиенты.
connectport=8080
— это удаленный порт.
вы также можете использовать его, listenaddress=
если хотите, чтобы прокси был доступен только на одном интерфейсе.
Для получения дополнительной информацииhttps://technet.microsoft.com/en-us/library/cc731068(v=ws.10).aspx
решение2
По крайней мере, в целях тестирования мне удалось использовать следующую утилиту для пересылки как TCP, так и UDP
https://sourceforge.net/projects/pjs-passport/
Это для XP, но работает и на Win10.