一、简介
squid实现代理上网是7层代理,传统的路由器实现snat一般是4层,基于ip地址和端口转换实现的,7层和4层的区别如下:
1.nat需要开启路由转发功能,7层代理squid不需要开启路由转发
2.7层能够实现应用层面的控制,可以基于url的控制过滤,4层无法做到。
Squid基本功能:
1.提供HTTP和FTP协议的代理服务
2.缓存代理数据,提高访问速度
3.ACL限制内网访问外网资源(时间,ip)
二、Squid实现内网上网
拓扑:
(不追求美观,但讲究精确)
①安装squid软件
[root@node1 ~]# yum install -y squid [root@node1 ~]# rpm -ql squid /etc/logrotate.d/squid ##日志轮转 /etc/pam.d/squid ##squid支持的认证模块 /etc/rc.d/init.d/squid ##服务脚本 /etc/squid ##配置文件位置 /etc/squid/cachemgr.conf /etc/squid/cachemgr.conf.default /etc/squid/errorpage.css /etc/squid/errorpage.css.default /etc/squid/mime.conf ##支持的媒体文件类型 /etc/squid/mime.conf.default /etc/squid/msntauth.conf /etc/squid/msntauth.conf.default /etc/squid/squid.conf ##当前生效的配置文件 /etc/squid/squid.conf.default ##初始化配置文件的备份 /var/log/squid ##日志文件 /var/spool/squid
②配置squid节点
前提: 保证squid自身能上网
######/etc/squid/squid.conf#####主要配置内容 http_port 192.168.112.135:3128 transparent acl innet src 192.168.112.0/24 http_access allow innet cache_access_log /var/log/squid/access.log ##设置高速缓存存取记录文件的名称和所在目录,它记录了所有高速缓存的行为,如果不需要,可以设为"cache_access_log /dev/null" visible_hostname 192.168.112.135 ##用于提示客户端 cache_mem 60M ##设置PROXY SERVER可使用多少内存作为高速缓存,一般要设置为物理内存的1/3 cache_log /var/log/squid/cache.log ##设置缓存存储记录文件的名称和所在目录,它记录了哪些数据从高速缓存移出,哪些数据被放入高速缓存 cache_swap_low 80 cache_swap_high 97 ##这两行设置CACHE进行替换的闸值,当占用到97%的CACHE后,CACHE中的内容将被清空20% cache_dir ufs /var/spool/squid 100 16 256 ##设置高速缓存目录和高速缓存可以使用的硬盘空间,100表示最大可使用100MB,16表示第一层子目录最多可以有16个,256表示每个第一层子目录下最多可以有256子目录 dns_nameservers 192.168.31.1 ##内部指定dns,没有则以/etc/resolv.conf为准
③配置iptables规则,实现客户端的80,443请求定向到squid的3128端口,并且将pc的53dns请求snat出去(udp 的53dns无法代理,所以只能通过snat方式出去)
[root@node1 squid]# iptables -t nat -A PREROUTING -s 192.168.112.0/24 -p tcp --dport 80,443 -j REDIRECT --to 3128 [root@node1 squid]# iptables -t nat -A POSTROUTING -s 192.168.112.0/24 -p udp --dport 53 -j SNAT --to-source 192.168.31.241
由于需要snat,因此还需要打开路由转发功能
[root@node1 squid]# echo 1 > /proc/sys/net/ipv4/ip_forward
④配置内网PC
前提:内网PC的流量必须经过squid,dns的解析可以不经过。
⑤测试
本文出自 “Lu2Yu” 博客,请务必保留此出处http://lu2yu.blog.51cto.com/10009517/1635836
原文:http://lu2yu.blog.51cto.com/10009517/1635836