Здравствуйте.
Столкнулся с задачей. Для отладки мобильного приложения, которое не поддерживает прокси, необходимо проксировать трафик на ПК с целью его анализа через Fiddler.
Для решения этой задачи, выбор пал на роутер, на борту которого стоит OpenWRT прошивка (Linux). Ожидалось что достаточно будет прописать одну строчку в терминале и все, однако на поиски решения ушла вся ночь.
Что, как и зачем?
Машина, через которую пускаем траффик, имеет IP 192.168.7.196.
Варианты которые я пробовал (все вариации не вспомню, только те, которые сохранил):
#Skip proxy for the fiddler machine
iptables -t nat -A PREROUTING -i br-lan -s 192.168.7.196 -j ACCEPT
#Transparent Proxy for pert 80 and 443
iptables -t nat -A PREROUTING -i br-lan -s ! 192.168.7.196 -p tcp --dport 80 -j DNAT --to 192.168.7.196:3128
iptables -t nat -A PREROUTING -i br-lan -s ! 192.168.7.196 -p tcp --dport 8080 -j DNAT --to 192.168.7.196:3128
iptables -t nat -A PREROUTING -i br-lan -s ! 192.168.7.196 -p tcp --dport 443 -j DNAT --to 192.168.7.196:3128
iptables -t nat -A PREROUTING -i br-lan -s 192.168.7.169 -p tcp --dport 80 -j DNAT --to 192.168.7.196:3128
iptables -t nat -A PREROUTING -i br-lan -s 192.168.7.169 -p tcp -j DNAT –to 192.168.7.196:3128
iptables -t nat -A PREROUTING -i br-lan -p tcp --dport 80 -j DNAT --to 192.168.7.196:3128
iptables -t nat -A PREROUTING -i br-lan -s 192.168.7.169 -p tcp --dport 8080 -j DNAT --to 192.168.7.196:3128
iptables -t nat -A PREROUTING -i br-lan -j DNAT --to-destination 192.168.7.196:3128
iptables -t nat -A PREROUTING -i br-lan -s 192.168.7.169 -p tcp --dport 80 -j DNAT --to 192.168.7.196:3128
iptables -t nat -A PREROUTING -i br-lan -s 192.168.7.169 -p tcp --dport 8080 -j DNAT --to 192.168.7.196:3128
iptables -t nat -A PREROUTING -i br-lan -s 192.168.7.196 -p tcp --dport 80 -j DNAT --to 192.168.7.196:3128
iptables -t nat -I PREROUTING -i eth1 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.7.196:3128
-A zone_wan_prerouting -p tcp -m tcp --dport 80 -m comment --comment test -j DNAT --to-destination 192.168.7.196:3128
Через встроенный фаервол:
config 'redirect'
option 'name' 'mobile_app21'
option 'src' 'lan'
option 'proto' 'tcpudp'
option 'src_ip' '192.168.7.169'
option 'src_dport' '80'
option 'dest_ip' '192.168.7.196'
option 'dest_port' '3128'
config 'redirect'
option 'name' 'mobile_app22'
option 'src' 'lan'
option 'proto' 'tcpudp'
option 'src_ip' '192.168.7.169'
option 'src_dport' '8080'
option 'dest_ip' '192.168.7.196'
option 'dest_port' '3128'
config 'redirect'
option 'name' 'mobile_app23'
option 'dest' 'lan'
option 'proto' 'tcp'
option 'src_dip' '192.168.7.196'
option 'dest_ip' '192.168.7.196'
option 'dest_port' '3128'
option 'target' 'SNAT'
Как можно было понять из вопроса, ни одно из правил, не привело к желаемому результату.
Ах, да. Конечно же я перезагружал устройство и/или перезапускал демона, рыл гугл и форумы, проверял патч на наличие пыли, ставил роутер по часовой стрелке вдоль экватора и перематывал провод синей изолентой.
Призываю опытных гуру и бородатых сисадминов в сей тред.