DDWRT, перенаправить IP-запросы локальной сети через порт 80 на внешний прокси-сервер


0

Я пытаюсь перенаправить все запросы порта 80 по одному IP-адресу локальной сети на внешний прокси-сервер squid за пределами моей сети. В целях отладки я пытаюсь сделать это на уровне маршрутизатора, поскольку приложение не поддерживает прокси, но отправляет свои запросы через порт 80.

До сих пор я пытался подключить это в поле «команда запуска» на DDWRT:

YourIP=192.168.1.128
YourPort=80
TargetIP=x.x.x.x
TargetPort=23128

iptables -t nat -A PREROUTING --dst $YourIP -p tcp --dport $YourPort -j DNAT --to-destination $TargetIP:$TargetPort
iptables -t nat -A POSTROUTING -p tcp --dst $TargetIP --dport $TargetPort -j SNAT --to-source $YourIP
iptables -t nat -A OUTPUT --dst $YourIP -p tcp --dport $YourPort -j DNAT --to-destination $TargetIP:$TargetPort

Кажется, он ничего не делает. Запросы по-прежнему обслуживаются через домашнее подключение к Интернету с указанного устройства. Я поступаю об этом неправильно? Любая помощь приветствуется. Когда я запускаю «iptables -t nat -L», я вижу следующее:

DNAT       tcp  --  anywhere             192.168.1.128       tcp dpt:www to:x.x.x.x:23128 

Что YourIP=192.168.1.128в вашем контексте? Это IP-адрес, назначенный клиенту, с которого вы тестируете? Это поле dd-wrt будет делать http-запросы? Если нет, вы можете отказаться от -A OUTPUTправила. Вам также, вероятно, не нужен SNAT.
Zoredache

«запросы по-прежнему обрабатываются через домашнее интернет-соединение» ... вопросы о домашней сети не подходят для ServerFault. Пожалуйста, прочитайте наш FAQ .
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.