| O
(注意这是个不定方程,可以有多个解)
acl allow_domain dstdomain "/etc/squid/allow_domain" 创建cache目录
[root@proxy squid]# squid -z
修改该目录所有者squid: [root@proxy squid]# chown squid:squid /usr/spool/squid
最后启动squid: [root@iptable logs]# /usr/local/squid/bin/RunCache &
并且系统中应该有如下几个端口被监听: [root@proxy logs]# netstat -ln
tcp 0 0 0.0.0.0:3128 0.0.0.0:* LISTEN
udp 0 0 0.0.0.0:3130 0.0.0.0:*
这些说明squid已经正常启动了。
然后使用Redhat的serviceconf工具以使得系统启动时自动启动squid服务器。
5.iptables的设置
在/etc/rc.d/目录下用touch命令建立firewall文件,执行chmod u+x firewll以更改文件属性,编辑/etc/rc.d/rc.local文件,在末尾加上/etc/rc.d/firewall以确保开机时能自动执行该脚本。
firewall文件内容为: #!/bin/sh
echo "Enabling IP Forwarding..."
echo 1 > /proc/sys/net/ipv4/ip_forward
echo "Starting iptables rules..."
#Refresh all chains
/sbin/iptables -F -t nat
iptables -t nat -A PREROUTING -i eth1 -p tcp -m tcp
--dport 80 -j REDIRECT --to-ports 8080
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o ppp0 -- -j MMASQUERADE
七、在含有多个vlan的三层交换网络中实现squid+iptables的透明代理 在企业中网络常常会有三层交换。它能够有效隔离广播,防止广播风暴。通过三层交换机 划分vlan,使得应用和管理都变得相对容易些。但也给代理的设置带来一点小麻烦,传统代理要设置代理服务器地址和端口,这对三层交换网络没有什么问题。关键是透明代理中网关的设置,在三层交换的网络中每个vlan的计算机的网关都要设置成所在vlan的网关,如:下表中vlan1的网关必须是192.168.100.1,vlan2的网关必须是192.168.110.1,像普通网络中把网关都设置成代理服务器的地址是绝对不行的。所以,三层交换网络中透明代理的设置主要问题集中在三层中心交换机和代理服务器路由的设置,三层交换机的路由表中要有一条默认路由指向代理服务器,服务器的路由表中要有一个容纳所有vlan的网关。 以下是我的网络说明: 网络内网有15个vlan如路由表所示,代理服务器(squid+iptables)在vlan1中服务器有两块网卡,eth0连接外网ip是A.B.C.D,网关为A.B.C.1。eth1连接内网ip是192.168.100.123/24不设网关。给服务器加上一条路由,将192.168.0.0/16,指向vlan1的网关192.168.100.1,route add -net 192.168.0.0 netmask 255.255.0.0 eth1以保证与其他vlan的通信,如此网络部分便配置成功,关于透明代理设置这里就不说了,请参考其他文章。这样所有的vlan的计算机只要网关和dns配置好就可以上网了,如:vlan3中某台计算机ip设置192.168.120.47,网关为192.168.120.1,dns地址为服务商给的(广州地区ADSL:61.144.56.100),这样就OK了。其出网的路由为->192.168.120.47->192.168.120.1->192.168.100.1->192.168.100.123->A.B.C.1->......
上一页 [1] [2] |