传统代理: 手动设置代理服务器地址和端口
透明代理: 客户端设置网关即可
―――――――――――――――――――――――――――――――――――――――――――――
1.编译安装 squid
./configure --prefix=/usr/local/squid --sysconfdir=/etc --enable-linux-netfilter --enable-linux-tproxy 使用内核过滤
支持透明模式
2.创建链接文件 创建用户和组
ln -s /usr/local/squid/sbin/* /usr/local/sbin
useradd -M -s /sbin/nologin squid
chown -R squid:squid /usr/local/squid/var
3.在配置文件/etc/squid.conf下添加
cache_effective_user squid
cache_effective_group squid
4.启动squid
squid
squid -k parse (检查配置文件语法) squid -z (初始化缓存目录)
确定squid服务处于正常监听状态
netstat -anpt | grep squid
―――――――――――――――――――――――――――――――――――――――――――――
传统代理 squid服务器的配置
1.在配置文件/etc/squid.conf中配置
http_port 3128
reply_body_max_size 10 MB 允许下载的最大文件大小
http_access allow all
2.iptables -F
防火墙的配置
2.iptables -I INPUT -p tcp --dport 3128 -j ACCEPT
service iptables save
3.重载squid
squid -k reconfigure
-------------------------------------------------------------------------------------------
可在squid服务器查看日志路径为 /usr/local/squid/var/logs/access.log
web服务器路径为 /var/log/httpd/access_log
-------------------------------------------------------------------------------------------
透明代理 squid服务器的配置
1.在/etc/squid.conf下配置
http-port 192.168.1.1.1:3128 transparent
2.iptables -t nat -I PREROUTING -i eth1 -s 192.168.1.0/24 -p tcp --dport 80 -j REDIRECT --to 3128
iptables -t nat -I PREROUTING -i eth1 -s 192.168.1.0/24 -p tcp --dport 443 -j REDIRECT --to 3128
service iptables save
-------------------------------------------------------------------------------------------
unset HTTP_PROXY HTTPS_PROXY (Unset命令清除变量)
-------------------------------------------------------------------------------------------
ACL访问控制 acl 列表名称 列表类型 列表内容
没有设置任何规则时: squid服务将拒绝客户端的请求
squid将采用与最后一条规则相反的权限
src 源IP地址 网段 IP地址范围
列表名称 列表内容
dst 目标IP地址,网段,主机名
port 目标端口
dstdomain 目标域
time 时间
maxconn 并发连接数
url_regex 目标资源的URL地址
urlpath_regex 目标资源的整个URL地址