当前位置: 技术问答>linux和unix
squid+nat做透明代理无法控制代理的问题
来源: 互联网 发布时间:2015-09-19
本文导语: 我用SQUID+NAT做了透明代理,客户端就设置IP和网关+DNS上网了,不需要在IE里设置代理。 在SQUID中做了ACL控制,这样客户端也确实上不了指定不能上的网站。 但在客户端只要在IE里面另外设置一个代理地址,这样被控制...
我用SQUID+NAT做了透明代理,客户端就设置IP和网关+DNS上网了,不需要在IE里设置代理。
在SQUID中做了ACL控制,这样客户端也确实上不了指定不能上的网站。
但在客户端只要在IE里面另外设置一个代理地址,这样被控制了的网站也能访问了,到底是什么原因啊?
各位帮看看啊,拜托了!
其IP转发是这样写的:
echo 1 > /proc/sys/net/ipv4/ip_forward
echo "starting iptables rules"
modprobe ip_tables
modprobe ip_nat_ftp
/sbin/iptables -F -t nat
iptables -t nat -A PREROUTING -i eth1 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
在SQUID中做了ACL控制,这样客户端也确实上不了指定不能上的网站。
但在客户端只要在IE里面另外设置一个代理地址,这样被控制了的网站也能访问了,到底是什么原因啊?
各位帮看看啊,拜托了!
其IP转发是这样写的:
echo 1 > /proc/sys/net/ipv4/ip_forward
echo "starting iptables rules"
modprobe ip_tables
modprobe ip_nat_ftp
/sbin/iptables -F -t nat
iptables -t nat -A PREROUTING -i eth1 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
|
这个是显然的嘛!你NAT就是干转发的,而代理的内容也被你转发出去了,既然这样创建了和远程代理主机的连接,那么当然封不住喽……
你必须检测上层的Proxy的协议,并且拒绝掉这些协议才行……
另外,作了NAT还要Squid干啥?netfilter+iptables足够了吧?
你必须检测上层的Proxy的协议,并且拒绝掉这些协议才行……
另外,作了NAT还要Squid干啥?netfilter+iptables足够了吧?
|
这个是显然的嘛!你NAT就是干转发的,而代理的内容也被你转发出去了,既然这样创建了和远程代理主机的连接,那么当然封不住喽……
你必须检测上层的Proxy的协议,并且拒绝掉这些协议才行……
另外,作了NAT还要Squid干啥?netfilter+iptables足够了吧?
你必须检测上层的Proxy的协议,并且拒绝掉这些协议才行……
另外,作了NAT还要Squid干啥?netfilter+iptables足够了吧?