私は、DD-WRT v24-sp2 (10/10/09) std (SVN リビジョン 13064) を搭載した Linksys WRT54GL ルーターを使用しており、すべての HTTP および HTTPS トラフィックをポート 8888 上の Fiddler と呼ばれる外部アプリ (プロキシとして使用) に転送しようとしています。
このサイト、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
上記のコードを編集しようとしましたが、次のようになりましたが、まだ転送されません。翻訳しかし、ウェブ渋滞:
#!/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 トラフィックを転送できるかどうかはわかりませんので、この件に関してどなたかご意見や例をここで共有していただければ幸いです。
ありがとう!