LINUX.ORG.RU

Transparent proxy на OpenWRT средствами iptables или что я делаю (не) так?

 , ,


0

1

Здравствуйте. Столкнулся с задачей. Для отладки мобильного приложения, которое не поддерживает прокси, необходимо проксировать трафик на ПК с целью его анализа через 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'

Как можно было понять из вопроса, ни одно из правил, не привело к желаемому результату. Ах, да. Конечно же я перезагружал устройство и/или перезапускал демона, рыл гугл и форумы, проверял патч на наличие пыли, ставил роутер по часовой стрелке вдоль экватора и перематывал провод синей изолентой.

Призываю опытных гуру и бородатых сисадминов в сей тред.


что я делаю (не) так?

Добавляешь тэг программирование где программирования нет и не используешь разметку

 для вставки своих конфигов.

anonymous ()

Наверно так хотел показать

#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'
Busf ()