代理服务器
squid服务端
主配置文件:/etc/squid/squid.conf
默认监听端口:TCP 3128
默认访问日志:/var/log/squid/access.log
常用配置
http_port 3128
access_log /var/log/squid/access.log squid
cache_mem 64MB 程序本身使用内存大小
cache_dir ufs/var/spool/squid 100 16 256 缓存目录
100 缓存文件最大100M 16 1级子目录个数 256 2级子目录个数
visible_hostname proxy.benet.com 显示名 自己添加
dns_testnames www.google.comwww.163.com
maximum_object_size 4096 KB 单个文件最大缓存大小
reply_body_max_size 10 MB 外网用户最大下载大小
代理的基本类型:
传统代理:适用于internet,需明确指定服务端
透明代理:适用于共享上网网关,不需指定服务端
反向代理:位于网站前端,代理web接收客户端请求
使用代理的好处:
提高web访问速度
隐藏客户机的真实IP地址
传统代理:
标准代理服务器必须在每一个内部主机的浏览器上明确指明代理服务器的IP地址和端口号
实验:1个内网,1个外网,1个网关
内网机:route add default gw 192.168.4.100(网关内网口)(实验环境可不做)
代理服务器(网关机): 安装squid
vim /etc/squid/squid.conf
visible_hostname proxy.zjn.com
service squid start
vim /etc/sysctl.conf
net.ipv4.ip.forword=1
sysctl -p
外网机搭个网站,内网访问外网,图形界面下代理写网关机内网口地址 3128
字符界面下: yum -y install elinks
vim /etc/profile
HTTP_PROXY=http://192.168.4.100:3128
export HTTP_PROXY
source /etc/profile
elinks 200.200.4.1
代理ftp:
FTP_PROXY=ftp://.....
export FTP_PROXY
不想代理某地址,想直接访问
NO_PROXY=...ip..
透明代理:
透明代理服务器不需指明代理服务器的IP地址和端口号,该服务器阻断网络通信,并且过滤出访问外网的http流量,对于linux系统来说,透明代理服务器使用iptables或者ipchains实现。其余操作和标准代理服务器相同
实验:
代理服务器(网关机):
vim /etc/squid/squid.conf
http_port 192.168.4.100:3128 transparent
当用户访问3128端口时跳到192.168.4.100地址
visible_hostname proxy.xdl.com
iptables -t nat -APREROUTING -s 192.168.4.0/24 -i eth0 -p tcp --dport 80 -j REDIRECT --to-ports 3128
防火墙规则,跳转端口
service squid reload
外网机搭网站,内网机清掉上次的配置,然后访问外网网站IP
反向代理:
反向代理服务器位于本地web服务器和internet之间,处理所有对web服务器的请求,组织web服务器和internet的直接通信,这种方式通过降低向web服务器的请求数降低了web服务器的负载
实验:2个内网机,1个网关机(代理服务器),1个外网机
2个内网机分别搭网站,然后将网关指向网关机内网口IP
route add default gw192.168.4.100
网关机:安装squid
vim /etc/squid/squid.conf
http_access allowall (deny 改为 allow)
http_port 200.200.4.100:80 vhost
cache_peer 192.168.4.2 parent 80 0 origin server round-robin 规则列表
cache_peer 192.168.4.1 parent 80 0 origin server round-robin
visible_hostname www.zjn.com
service squid start
vim /etc/sysctl.conf
net.ipv4.ip_forword= 1
sysctl -p
外网访问网关外网口地址测试
ACL(Access ControlList,访问控制列表):
根据源地址、目标URL、文件类型等定义列表
acl 列表名称 列表类型 列表内容 。。。
acl aa src 192.168.1.0/24
acl all src 0.0.0.0/0.0.0.0 任意源地址
acl MYLAN src 192.168.1.0/24 192.168.4.0/24 2个网段
acl WORKTIME time MTWHF 08:30-17:30 工作日
针对已定义的acl列表进行限制
http_access allow或deny 列表名称 。。。
http_access allow aa
http_access allow MYLAN WORKTIME
http_access deny all
ACL控制规则:
1.规则是从上至下匹配
2.默认拒绝未匹配的IP地址 http_access deny all
3.没有http_access时,默认拒绝访问代理服务器
4.有http_access,但没有匹配项时,默认采取与最后一条相反的操作