【求助】用squid 2.7做透明代理iptables规则问题

回复 收藏
系统环境:CentOS 5.5今天刚编译了新的内核是2.36.2  
                 squid 2.7做的透明代理服务器
          内网网段:192.168.10.0/24
                  squid服务器地址:192.168.10.11 (端口是3128)
          网  关:192.168.10.1(也是CentOS 5.5)
遇到的问题:
           squid设置完成后需要在网关(192.168.10.1)上边设置转发规则 将内网192.168.10.0/24所有访问80端口的数据包

重定向到squid服务器3128端口上,因为网关和squid不在同一台机器,我在用192.168.10.1上边添加

iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 3128

添加后就将内网80端口数据重定向到了本地的3128端口,请问如何将80数据转发到192.168.10.11:3128端口上呢
我试了下iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to 192.168.10.11:3128这条规则是将80端口的数据转发到了本地192端口上
。。很郁闷所以在此求教。

iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 192.168.10.11:3128

这两条规则效果一样吗,除了在网关上设置将内网所有80端口的数据重定向到代理服务器3128端口外,还需要设置其他规则吗,还需要在192.168.10.11这台代理服务器上设置哪些规则吗,谢谢.

ps:研究了一周左右了,CDN网络加速已经实验成功,透明代理这里防火墙规则设置不过去,郁闷的很,在网上查了很多资料,越看越晕,到最后自己都糊涂了。。。能给出具体规则最好 呵呵谢谢大家 QQ:861112650
2010-12-18 10:21 举报
已邀请:
0

雷老师 管理员

赞同来自:

本帖最后由 lqph3387 于 2010-12-21 09:08 编辑

在squid上需要开启转发
echo “net.ipv4.ip_forward = 1” >>/etc/sysctl.conf
/sbin/sysctl -p 使配置立即生效
另外需要把内网的所有客户机的80请求在squid上做转发,转发到3128:
iptables -t nat -A PREROUTING -s 192.168.10.0/24 -p tcp --dport 80 -j REDIRECT --to-port 3128
然后把squid的网关指向192.168.10.1,如果你的网关机器不是宽带接入而也是通过ADSL拨号上网的话,需要在网关上再做一次转发
iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -j MASQUERADE
客户机上把网关都指向192.168.10.11即可
0

llb19901227

赞同来自:

2# lqph3387


非常感谢,经过测试用你的方法 果然OK,谢谢谢谢:victory: :victory:
0

雷老师 管理员

赞同来自:

不客气:)

回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: