DD-WRT を備えたルーターがあり、ルーターからの転送は次のスクリプトで機能するようです。
#!/bin/sh
PROXY_IP=192.168.77.77
PROXY_PORT=3128
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
デフォルトのsquid.conf
ファイルを実行すると、Web ブラウザーに次のページが表示されます。
ERROR
The requested URL could not be retrieved
The following error was encountered while trying to retrieve the URL: /questions/ask
Invalid URL
ご覧のとおり、「stackoverflow.com」は URL から切り捨てられています: stackoverflow.com/questions/ask
ここで、次の行に追加を変更transparent
すると:
http_port 3128 -> http_port 3128 transparent
Web ブラウザーにどのページも表示されず、「/var/log/squid/cache.log」に次のエラーが表示されます。
NF getsockopt(SO_ORIGINAL_DST) failed on local=192.168.77.77:3128 remote=192.168.77.1:5268 FD 9 flags=33: (92) Protocol not available
とにかく私がイカを働かせることはありますか?google.com に関する参照は役に立たないようです。