我有一个带有 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
文件,我会在我的网络浏览器上看到以下页面:
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 上没有参考似乎有帮助。