0

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 に関する参照は役に立たないようです。

4

1 に答える 1