我使用帶有 DD-WRT v24-sp2 (10/10/09) std (SVN revision 13064) 的 Linksys WRT54GL 路由器,我試圖將所有 HTTP 和 HTTPS 流量轉送到名為 Fiddler 的外部應用程式(用作代理)端口8888。
經過對這個網站、dd-wrt 論壇、dd-wrt.com 和 WWW 的大量挖掘後,我堆滿了以下有效的程式碼(感謝 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 流量,因此如果有人能在這裡分享他關於此主題的想法和/或範例,我將不勝感激。
謝謝!