@JuniorDev

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

Здравствуйте.
Столкнулся с задачей. Для отладки мобильного приложения, которое не поддерживает прокси, необходимо проксировать трафик на ПК с целью его анализа через Fiddler.
Для решения этой задачи, выбор пал на роутер, на борту которого стоит OpenWRT прошивка (Linux). Ожидалось что достаточно будет прописать одну строчку в терминале и все, однако на поиски решения ушла вся ночь.

Что, как и зачем?
073115_1212_openwrtandf1.png?w=600
Машина, через которую пускаем траффик, имеет 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'


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

Призываю опытных гуру и бородатых сисадминов в сей тред.
  • Вопрос задан
  • 1026 просмотров
Пригласить эксперта
Ответы на вопрос 1
iptables -t nat -A PREROUTING -i интерфейс_на_который_пришел_пакет -s айпи_адрес_телефона -p tcp --dport 80 -j DNAT --to 192.168.7.196:3128
iptables -t filter -A FORWARD -p tcp -m tcp -d 192.168.7.196/32 -i интерфейс_в_сторону_прокси --dport 3128 -j ACCEPT
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы