Я использую маршрутизатор Linksys WRT54GL с DD-WRT v24-sp2 (10/10/09) std (SVN revision 13064), с помощью которого я пытаюсь перенаправить весь трафик HTTP и HTTPS во внешнее приложение под названием Fiddler (используемое как прокси) на порт 8888.
После долгих поисков на этом сайте, форуме dd-wrt, dd-wrt.com и в Интернете я наткнулся на следующий фрагмент кода, который работает (спасибо ребятам из службы поддержки dd-wrt за эту информацию), но только для пересылки HTTP-трафика (порт 80):
#!/bin/sh
PROXY_IP=1234567890
PROXY_PORT=8888
LAN_IP=`nvram get lan_ipaddr`
LAN_NET=$LAN_IP/`nvram get lan_netmask`
iptables -t nat -A PREROUTING -i br0 -s $LAN_NET -d $LAN_NET -p tcp --dport 80 -j ACCEPT
iptables -t nat -A PREROUTING -i br0 -s ! $PROXY_IP -p tcp --dport 80 -j DNAT --to $PROXY_IP:$PROXY_PORT
iptables -t nat -I POSTROUTING -o br0 -s $LAN_NET -d $PROXY_IP -p tcp -j SNAT --to $LAN_IP
iptables -I FORWARD -i br0 -o br0 -s $LAN_NET -d $PROXY_IP -p tcp --dport $PROXY_PORT -j ACCEPT
Я попытался отредактировать код выше и получил следующее, но он все еще не пересылаетсяHTTPSно простоHTTPтрафик:
#!/bin/sh
PROXY_IP=1234567890
PROXY_PORT=8888
LAN_IP=`nvram get lan_ipaddr`
LAN_NET=$LAN_IP/`nvram get lan_netmask`
iptables -t nat -A PREROUTING -i br0 -s $LAN_NET -d $LAN_NET -p tcp -m multiport --dports 80,443 -j ACCEPT
iptables -t nat -A PREROUTING -i br0 -s ! $PROXY_IP -p tcp -m multiport --dports 80,443 -j DNAT --to $PROXY_IP:$PROXY_PORT
iptables -t nat -I POSTROUTING -o br0 -s $LAN_NET -d $PROXY_IP -p tcp -j SNAT --to $LAN_IP
iptables -I FORWARD -i br0 -o br0 -s $LAN_NET -d $PROXY_IP -p tcp --dport $PROXY_PORT -j ACCEPT
Я не уверен, возможно ли пересылать HTTPS-трафик, просто используя маршрутизатор, поэтому буду признателен, если кто-нибудь поделится здесь своими мыслями и/или примерами по этой теме.
Спасибо!