Transparent proxy на OpenWRT средствами iptables или что я делаю (не) так?
Здравствуйте. Столкнулся с задачей. Для отладки мобильного приложения, которое не поддерживает прокси, необходимо проксировать трафик на ПК с целью его анализа через Fiddler. Для решения этой задачи, выбор пал на роутер, на борту которого стоит OpenWRT прошивка (Linux). Ожидалось что достаточно будет прописать одну строчку в терминале и все, однако на поиски решения ушла вся ночь.
Что, как и зачем? [img]https://jeffchiu.files.wordpress.com/2015/07/073115_1212_openwrtandf1.png?w=600[/img] Машина, через которую пускаем траффик, имеет 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'
Как можно было понять из вопроса, ни одно из правил, не привело к желаемому результату. Ах, да. Конечно же я перезагружал устройство и/или перезапускал демона, рыл гугл и форумы, проверял патч на наличие пыли, ставил роутер по часовой стрелке вдоль экватора и перематывал провод синей изолентой.
Призываю опытных гуру и бородатых сисадминов в сей тред.