Squid 安装 与 配置 [root@localhost ~]# yum -y install squid [root@localhost ~]# rpm -ql squid (释放文件) /etc/squid/squid.conf /etc/squid/msntauth.conf.default ( 配置 文件模板) /var/log/squid (日志目录) /var/spool/squid (缓存目录)
Squid 安装 与 配置
[root@localhost ~]# yum -y install squid
[root@localhost ~]# rpm -ql squid (释放文件)
/etc/squid/squid.conf
/etc/squid/msntauth.conf.default ( 配置 文件模板)
/var/log/squid (日志目录)
/var/spool/squid (缓存目录)
[root@localhost ~]# vim /etc/squid/squid.conf (常用基本 配置 )
http_port 3128
cache_mem 64 MB 内存占用量
maximum_object_size 4096 KB (最大缓存)
access_log /var/log/squid/access.log squid
visible_hostname proxy.openlab.com (代理服务器主机名)
dns_testnames www.google.com www.163.com (测试 DNS )
cache_dir ufs /var/spool/squid 100 16 256 ( 100M ,)
1.squid 服务器实现基本代理
squid 服务器
eth0 200.200.200.10
eth1 192.168.10.8
WEB 服务器
eth0 200.200.200.100
[root@www ~]# iptables -P INPUT DROP ( -P 默认规则)
[root@localhost ~]# iptables -I INPUT -p tcp --dport 22 -j ACCEPT
[root@localhost ~]# iptables -I INPUT -p tcp --dport 80 -j ACCEPT
squid 服务器
[root@localhost ~]# service squid restart (启动服务,无需 配置 )
Stopping squid: .............. [ OK ]
Starting squid: . [ OK ]
[root@localhost ~]# vim /etc/squid/squid.conf
cache_dir ufs /var/spool/squid 100 16 256 (去掉前面 # )
reply_body_max_size 10 MB (不允许下载大于 10M 附件,此行需添加)
acl RealFile urlpath_regex -i \.mp3$ (添加一条 acl )
( http_access deny all )
2. 透明代理
Squid 服务器
Eth0 200.200.200.10 eth1 192.168.10.8
[root@localhost ~]# vim /etc/squid/squid.conf
http_port 192.168.10.8:3128 transparent
[root@localhost ~]# iptables -t nat -I PREROUTING -i eth1 -s 192.168.10.0/24 -p tcp --dport 80 -j REDIRECT --to-ports 3128
[root@localhost ~]# service iptables save
开启路由转发
[root@localhost ~]# vim /etc/sysctl.conf
net.ipv4.ip_forward = 0
[root@localhost ~]# sysctl -p
配置 nat
[root@localhost ~]# iptables -t nat -I POSTROUTING -s 192.168.10.0/24 -o eth1 -j SNAT --to-source 200.200.200.10
WEB 服务器
Eth0 200.200.200.100
[root@localhost ~]# iptables -L --line-numbers
Chain INPUT (policy DROP)
num target prot opt source destination
1 ACCEPT tcp -- anywhere anywhere tcp dpt:http
2 ACCEPT tcp -- anywhere anywhere tcp dpt:ssh
测试
3.Squid 反向代理
[root@localhost ~]# vim /etc/squid/squid.conf
http_port 218.29.30.31:80 vhost ( vhost 虚拟主机, 80 因为 http 默认是 80 ,所以代理端口写成 80 )
cache_peer 192.168.2.11 parent 80 0 originserver weight=5 max-conn=30 ( originserver 代表真实 server , weight 权重,越大越优先)
cache_peer 192.168.2.12 parent 80 0 originserver weight=5 max-conn=30
cache_peer 192.168.2.13 parent 80 0 originserver weight=5 max-conn=30
cache_peer 192.168.2.14 parent 80 0 originserver weight=1 max-conn=8
http_access allow all (允许外部所有访问)
[root@localhost ~]# service squid restart
无心