Linux中怎么设置透明代理
相关话题
用户的浏览器不需要任何代理设置就能使用我的Squid cache代理服务器上网?此时你就需要使用透明代理,那么Linux中怎么设置透明代理呢?今天小编与大家分享下Linux中设置透明代理的具体操作步骤,有需要的朋友不妨了解下。
Linux中设置透明代理方法
透明模式的特点就是对用户是透明的(Transparent),即用户意识不到防火墙的存在。要想实现透明模式,防火墙必须在没有IP地址的情况下工作,不需要对其设置IP地址,用户也不知道防火墙的IP地址。
透明模式的防火墙就好象是一台网桥(非透明的防火墙好象一台路由器),网络设备(包括主机、路由器、工作站等)和所有计算机的设置(包括IP地址和网关)无须改变,同时解析所有通过它的数据包,既增加了网络的安全性,又降低了用户管理的复杂程度。
防火墙使用透明代理技术,这些代理服务对用户也是透明的,用户意识不到防火墙的存在,便可完成内外网络的通讯。当内部用户需要使用透明代理访问外部资源时,用户不需要进行设置,代理服务器会建立透明的通道,让用户直接与外界通信,这样极大地方便了用户的使用。
一般使用代理服务器时,每个用户需要在客户端程序中指明要使用代理,自行设置Proxy参数(如在浏览器中有专门的设置来指明HTTP或FTP等的代理)。而透明代理服务,用户不需要任何设置就可以使用代理服务器,简化了网络的设置过程。
透明代理与透明模式都可以简化防火墙的设置,提高系统安全性。但两者之间也有本质的区别:工作于透明模式的防火墙使用了透明代理的技术,但透明代理并不是透明模式的全部,防火墙在非透明模式中也可以使用透明代理。
那么下边我们就通过示例让大家明白透明代理、传统代理及ACL控制的效果:
实验环境(略加修改,因为当测试网站在同一网段就没有必要验证了):
地址规划:
Squid 代理:
eth0:192.168.10.1
eth1:173.16.16.173
测试网站:173.16.16.2
客户机:192.168.10.10
实验描述:
在squid主机上,构建squid为客户机访问各种网站提供代理服务;
在客户机上,指定squid作为web访问代理,以隐藏自己的真实IP地址。
实验步骤:
1:squid服务器的配置:
因代理服务的主配置文件大多是注释行,需简化配置文件:
过滤前先进行备份—数据至上:
[root@squid ~]# mv /etc/squid/squid.conf /etc/squid/squid.conf.bak
执行过滤操作:
[root@squid ~]# grep -v "^#" /etc/squid/squid.conf.bak | grep -v "^$" > /etc/squid/squid.conf
在主配置文件/etc/squid/squid.conf中,添加配置项
http_port 3128 ###指定代理服务监听的端口,默认为3128
cache_mem 64 MB ###指定缓存所使用的内存空间的大小
maximum_object_size 4096 KB ###保存到缓存空间的最大对象(文件)大小
reply_body_max_size 10240000 allow all ###允许用户下载的最大文件大小,其中all为默认的访问控制列表名
cache_dir ufs /var/spool/squid 100 16 256 ###指定缓存数据所存放的目录,容量,子目录个数;其中100为容量100M;16为一级子目录;256为二级子目录
access_log/var/log/squid/access.log squid ###指定代理服务的日志文件位置及记录格式(squid)
visible_hostname localhost ###指定代理服务器本机的主机名
dns_testname www.sohu.com ###执行DNS解析,确保squid服务器自身的DNS查询功能正常,只要成功解析出一个域名,则不再测试后边的其他域名
http_access allow all ###放在http_access deny all之前
2:在Squid服务器上配置防火墙策略,允许3128端口访问外网的WEB服务器
iptables -I(大写i) INPUT -p tcp --dport 3128 -j ACCEPT
3:初始化并启动服务(2种方法)
a:squid -z ###初始化缓存目录
squid -D ###启动squid 服务
b:service squid start ###初始化并启动服务
修改squid.conf配置文件后,需要重新加载方可生效。
执行“ service squid reload ”或者“ squid -k reconfigure”重新加载。
Linux中怎么设置透明代理的评论条评论